2012-09-13 3 views
1

경우 1 올바르지 않습니다. 내가 원하는 것은 표면에 흰색 순수다이렉트 결과를 렌더링 질감

enter image description here :로

D3DLOCKED_RECT lr; 
    HRESULT hr = texture->LockRect(0, &lr, NULL, 0); 
    ConvertRGB2RGBA(width, height, pixels, stride, (unsigned char*)(lr.pBits), lr.Pitch); 
    texture->UnlockRect(0); 

렌더링 결과를 보여줍니다.

모든 정점의 z 값은 0.0f입니다.

경우 2 : 나는

D3DXCreateTextureFromFile(device, "e:\\test.bmp", &texture); 

하여 질감을 만들고 텍스처를 업데이트하지 않으면
, 그것은 절대적으로 올바른 보여줍니다.

경우 3 :
내가 경우 2로 파일에서 텍스처를 만들고, 경우 1로 질감을 업데이트하는 경우, 결과가 잘못, test.bmp 내용이 약간 남아있다.

결론 :
텍스처를 업데이트하는 데 문제가 있어야합니다. 뭐가 문제 야???


SOLVED !!!
수준 매개 변수를 1로 변경하면 작동합니다.

D3DXCreateTexture(device, width, height, 1, D3DUSAGE_DYNAMIC, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &texture) 
+0

답변을 해결책으로 추가하십시오. 이 방법은 문제가 해결 된 것으로 인식 될 수 있습니다. –

답변

0

축하합니다. D3DXCreateTexture의 밉맵 레벨 인수가 0으로 설정되면 전체 밉맵 텍스처가 생성됩니다. 밉맵을 사용하려면 ConvertRGB2RGBA 함수가 최상위 텍스처뿐만 아니라 하위 텍스처도 포함해야합니다.

0

레벨 매개 변수를 1로 변경하면 작동합니다.

D3DXCreateTexture(device, width, height, 1, D3DUSAGE_DYNAMIC, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &texture) 
관련 문제