2010-05-29 2 views

답변

1

, 당신은 뭔가를해야 가장 효과와 마찬가지로

D3DXMatrix view = camera->getViewMatrix(); 
basicEffect->GetVariableByName("viewMatrix")->AsMatrix()->SetMatrix((float*) &view); 

을 핸들 속성, 나는 '제안 변수에 포인터를 캐싱합니다. 같은, 당신의 렌더링 루프의 외부의 다른 포인터 행렬 변수를 저장 :

vmViewMatrix->SetMatrix((float*) &view); 
: 변수를 설정 한 후

ID3D10EffectMatrixVariable* vmViewMatrix = basicEffect->GetVariableByName("viewMatrix")->AsMatrix(); 

그리고은으로 변합니다

2

GetVariableByName을 사용하여 HLSL에서 명명 된 변수에 대한 인터페이스를 가져옵니다. 리턴 된 인터페이스에 AsVector (이 시점의 문서는 잘못되어 포인터를 반환합니다!)를 호출하여 벡터 변수 인터페이스를 얻은 다음 SetFloatVector을 호출하십시오. 효과 바인딩하기 전에 렌더링 기능에 다음

cbuffer { 
    float4x4 viewMatrix; 
} 

, : 당신의 효과에

관련 문제