Тема: DirectX и C++
Показать сообщение отдельно
Старый 13.08.2011, 16:50   #51
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: DirectX и C++

1)
device->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
device->SetRenderState(D3DRS_ZWRITEENABLE, FALSE);
device->SetRenderState(D3DRS_ZFUNC, D3DCMP_LESSEQUAL);
для сферы. и полупрозрачные объекты надо рисовать после непрозрачных в порядке от дальних к ближним.

2)
 
LPDIRECT3DCUBETEXTURE9 CubeMap;

m_d3dDevice->CreateCubeTexture(8192, 1, D3DUSAGE_RENDERTARGET, D3DFMT_R8G8B8,	D3DPOOL_DEFAULT, &CubeMap);

....
...
CubeMap->GetCubeMapSurface(D3DCUBEMAP_FACE_POSITIVE_X, 0, &pRenderSurface);
device->SetRenderTarget(0,pRenderSurface);

  device->Clear(0,
                           NULL,
                           D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
                           D3DCOLOR_XRGB(0,0,0),
                           1.0f,
                           0);
  device->BeginScene();
и так 6 раз.
меняешь взгляд камеры и D3DCUBEMAP_FACE_POSITIVE_X

3)да.
device->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_DOTPRODUCT3 );
device->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
device->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_NORMCUBEMAP );
и можешь третьим слоем еще наложить диффузмапу.
(Offline)
 
Ответить с цитированием