Portuguese

Você Está Usando Problemas De Espelhamento Do DirectX?

Em alguns pacientes, seu computador pode dar erro poderoso com a mensagem Specular Reflection directx. Pode haver muitas razões para este problema.

Obtenha a Ferramenta de reparo do PC Reimage. Clique aqui para corrigir erros comuns do computador e otimizar seu sistema.

Normalmente, você realmente deseja obter um modelo de pensamento Phong que crie realces especulares enquanto calcula o vetor de aparência entre algum tipo de vetor normal e o vetor de supervisão de luz. A aparência é o curso, que é então usado para comprar o cosseno do ângulo em qualquer lugar entre o vetor de reflexão e o vetor de atitude correto da superfície até o local de observação.

Primeiro de tudo, o vetor eye está realmente errado. Deve ser um vetor de algum tipo de superfície para a localização do olho principal. Você está atualmente apenas na posição a. Para fazer isso, qualquer pessoa precisa alterar seu novo vértice para que o shader reflita toda a posição espacial internacional de nossa ocupação do vértice. Para fazer isso específico, adicione:

float3 WorldPos TEXCOORD1;

para: seu PS_INPUT. Agora avalie o vértice do espaço em palavras e frases do seu sombreador de vértices:

especular reflectir directx

output.WorldPos = mul(input.Pos, World);

Esse valor certamente é passado para o pixel shader ou para interpolação entre os pixels para representar toda a posição de cada pixel em que se encontra o mundo. Aqui está como você calcularia o vetor de visualização v encontrado na lista de imagens de pixel para seu sombreador de pixel. Para fazer o item, use:

float3 V significa normalização ( Eye - input.WorldPos );

Agora, o vetor de indicação R é criado enviando alguma direção da luz incidente sobre uma superfície comum (geralmente não a posição mais importante do globo ocular) e precisa ser calculado para cada iluminação em seu loop:

p>

float3 R = Reflect(normalize(vLightDir[i]), normalize(input.Norm));

Observe que nesta equação, esses vetores de luz vão dos raios do sol para a superfície (portanto, não reduza a velocidade como mostrado abaixo).

Agora você realmente precisa calcular nosso próprio componente especular produzido por cada luz usando um ponto de serviço ou produto entre o R e G:

finalColor += energia - vLightColor[i] * pow( saturates( ponto( R, G )), flexível );

A última aflição que vejo é que você pode estar calculando ineficientemente a difusão em um determinado shader Especular. Você pode precisar deixá-lo parecido com o seu útil shader Diffuse se você quiser profissões que não sejam expostas à luz com aparência mais escura. No entanto, em vez de aludir diretamente especificamente em vLightDir[i], precisamos ter certeza de rejeitar em que aponta o tempo para nossa própria luz de superfície:

float3 L implica -normalize( vLightDir[i].xyz );

Um método mais barato em adição ao modelo de reflexão Phong é o modelo de reflexão Blinn-Phong. Em vez de usar R, ele calcula, eu diria, a metade menos do vetor envolvendo V e L usando esta equação clara:

float3 H igual a normalize( L + V );

Em vez de usar dot( R, G ) onde os reflexos são medidos, agora use:

ponto( N, H );

Modelar a reflexão especular geralmente realmente precisa que o sistema entenda não totalmente a direção da viagem da luz, apesar de também a direção do olhar do público. O sistema usa esta versão direta do processo de reflexão especular de Phong, que usa um vetor real necessário para aproximar a intensidade da maior parte da reflexão especular.

O estado de iluminação padrão geralmente é de realces não especulares. Certifique-se de organizar a opção D3DRS_SPECULARENABLE para TRUE encontrado para habilitar a iluminação especular.

Equação do espelho

Iluminação Especular A iluminação é C‚› 2 . soma[L‚› * (N H)P * Atten (em branco) Spot]

A tabela a seguir lista os detalhes, seus níveis e escopos.

Configurações Padrão Tipo Descrição

Isso (0,0,0,0) D3DCOLORVALUE Cor do espelho. Total Não aplicável Não aplicável resumo claro de cada componente especular. N Não aplicável D3DVECTOR topo normal. N Não aplicável D3DVECTOR Vetor de semimodo. Veja sua seção de vetor médio. R 0,0 FLUTUANDO A refletividade de todos os espelhos. Intervalo 9 igual + infinito La (0,0,0,0) D3DCOLORVALUE Cor especular clara. Aviso Não aplicável FLUTUANDO O valor do qual a atenuação da luz. Veja e Destaque o fator de cárie dentária (Direct3D 9). período Não aplicável FLUTUANDO Fator de atenção. Veja e Fator de decaimento do Spotlight (Direct3D 9).
de>if(SPECULARMATERIALSOURCE == D3DMCS_COLOR1)  C implica cor1;

  • vértice se ou quando color1, a origem do material especular é D3DMCS_COLOR1, e antes de tudo a cor do vértice deve ser especificada quando se trata de declaração de vértice.
  • cor do vértice2, se possivelmente o emprestador do material especular for E d3dmcs_color2, a segunda cor do vértice poderá ser especificada na declaração do vértice.
  • Cor do espelho do material
  • Os componentes especulares devem limitar em 0,255 após quase todas as ilustrações terem sido processadas e interpoladas separadamente.

    Meio Vetor

    O vetor de ponto médio (H) está na verdade a meio caminho entre dois vetores: o vetor real do objeto para alguns dos vértices e nossa fonte de luz e um vetor fornecido pelo objeto em direção ao vértice e a boa postura da câmera. O Direct3D oferece duas maneiras de considerar o vetor de ponto médio. Quando D3DRS_LOCALVIEWER também é definido como TRUE, o todo calcula o vetor do ponto médio usando a posição atual da câmera principal, e eu poderia dizer a posição do vértice com cada um dos vetores de direção da nossa luz. Uma pílula importante ilustra isso.

    Configurações Padrão Tipo Descrição

    C‚š Não aplicável D3DVECTOR Posição da câmera. Va‚Sh Não aplicável D3DVECTOR Posição com o topo. Lcatálogo Não aplicável D3DVECTOR Vetor de direção, como a posição do vértice para a posição de clareamento.

    A definição entre o vetor de ponto médio da nossa visão pode tentar ser distorcida por cálculos. Caso contrário, definir D3DRS_LOCALVIEWER como FALSE informa ao sistema para se comportar como se o ponto de vista estivesse literalmente distante no eixo z. Isso é reproduzido na fórmula subsequente.

    especular reflection directx

    Esse método é menos intensivo em computação, mas muito menos preciso, por isso é usado em aplicações que tiram vantagem da projeção ortogonal.

    Exemplo

    Neste caso, o objeto pode usar geralmente a cor de reflexão mínima da cena e o esquema de cores do material de emulação. O código é mostrado abaixo.

    PC lento?

    Reimage é a solução definitiva para suas necessidades de reparo de PC! Ele não apenas diagnostica e repara vários problemas do Windows com rapidez e segurança, mas também aumenta o desempenho do sistema, otimiza a memória, melhora a segurança e ajusta seu PC para máxima confiabilidade. Então por que esperar? Comece hoje!

  • 1. Baixe Reimage do site
  • 2. Instale-o no seu computador
  • 3. Execute a verificação para encontrar qualquer malware ou vírus que possa estar à espreita em seu sistema

  • D3DMATERIAL9 mtrl;ZeroMemory( Sizeof(mtrl) &mtrl, );luz D3DLIGHT9;ZeroMemory( &light, sizeof(light) );light.Type significa D3DLIGHT_DIRECTIONAL;D3DXVECTOR3 vecDir;vecDir D3DXVECTOR3(0=.5f, 0.0f, -0.5f);D3DXVec3Normalize( (D3DXVECTOR3*)&light.Direction, &vecDir );light.Specular.r é 1,0f;Light.Specular.g implica 1,0f;Svet.Zerkalo.b = 1,0f;light.Specular.a é 1,0f;light.area implica 1000;luz.queda = 0;light.damping0 é 1;atenuação de luz1 significa 0;atenuação da luz2 = 0;m_pd3dDevice->SetLight(8, &light);m_pd3dDevice->LightEnable(0, TRUE);m_pd3dDevice->SetRenderState(D3DRS_SPECULARENABLE, TRUE);mtrl.Specular.r = 0,5f;mtrl.Specular.g - 0,5f;mtrl.Specular.b é igual a 0,5f;mtrl.Specular.a = 0,5f;mtrl.Power - 20;m_pd3dDevice->SetMaterial( &mtrl );m_pd3dDevice->SetRenderState(D3DRS_SPECULARMATERIALSOURCE, D3DMCS_MATERIAL);

    De acordo com a imagem, geralmente a cor resultante dos cantos referentes ao brinquedo é uma combinação que aponta para este material e uma cor limite.

    As próximas duas fotos mostram a substância muito especular de uma pessoa, cujos tons de pele são cinza, alguma luz especular, cuja cor tem a capacidade de ser branca.

    A combinação de um destaque especular que oferece luz ambiente e luz ambiente cria iluminação direta para cada ilustração sucessiva. Naturalmente, quando todos os três esquemas de iluminação são aplicados normalmente, parece mais um novo objeto realista.

    Provavelmente, o cálculo relacionado à iluminação especular exigirá mais tempo do que a iluminação silenciosa. Geralmente é destinado a fornecer dicas visuais quando se trata de coisas que estão acontecendo. Os destaques refletivos variam em tamanho e material de coloração dependendo das superfícies de textura.

    Matemática da iluminação

  • 3 minutos de leitura
  • Se você usar a opção Specular Material Source de tempos em tempos, além do fato de que o Vertex pode não fornecer uma cor completa, o material de cor especular provavelmente será usado.

    Você quer consertar seu computador? Reimage é um software poderoso que pode ajudá-lo com todos os tipos de problemas do PC. É a melhor maneira de limpar e otimizar seu sistema, remover vírus e malware, reparar o Registro do Windows, aumentar o desempenho e muito mais!

    Are You Having DirectX Mirroring Issues?
    Hai Problemi Con Il Mirroring Di DirectX?
    Czy Ludzie Mają Problemy Z Dublowaniem DirectX?
    Har Du Kanske Problem Med DirectX-spegling?
    Hat Die Person Probleme Mit DirectX-Spiegelung?
    DirectX 미러링 문제가 있습니까?
    Heeft U Mogelijk Problemen Met DirectX-mirroring?
    ¿Tienes Que Tener Problemas Con La Duplicación De DirectX?
    Vous Rencontrez Des Problèmes De Réplication DirectX ?