|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.05.2010, 23:01 | #11 | |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
Цитата:
Что у вас с буфером глубины? Похоже, что либо его просто нет, либо там мусор. |
|
24.05.2010, 14:43 | #12 |
Пользователь
Регистрация: 16.05.2010
Сообщений: 13
|
d3dpp.EnableAutoDepthStencil = TRUE;
d3dpp.AutoDepthStencilFormat = D3DFMT_D16; и в начале Render(): g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0 ); |
24.05.2010, 14:49 | #13 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
Тогда мне нужен весь код создания девайса + весь код рендера.
И ещё: где находится передняя плоскость отсечения? |
24.05.2010, 14:51 | #14 |
Пользователь
Регистрация: 16.05.2010
Сообщений: 13
|
HRESULT InitD3D( HWND hWnd )
{ // Создание необходимой для устройства переменной. if((g_pD3D = Direct3DCreate9( D3D_SDK_VERSION ))==NULL) return E_FAIL; // Выход в случае неудачи. // Задание параметров для нашего устройства. D3DPRESENT_PARAMETERS d3dpp; d3dpp.EnableAutoDepthStencil = TRUE; d3dpp.AutoDepthStencilFormat = D3DFMT_D16; // Обнуление большинства параметров. ZeroMemory( &d3dpp, sizeof(d3dpp) ); d3dpp.Windowed = TRUE; // Устройство будет оконное. d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD; d3dpp.BackBufferFormat = D3DFMT_UNKNOWN; // Непосредственное создание устройства. if( FAILED(g_pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING , &d3dpp, &g_pd3dDevice))) { // Если не удалось создать устройство, то выходим. return E_FAIL; } // Показываем треугольник с обоих сторон. g_pd3dDevice->SetRenderState (D3DRS_ZENABLE, D3DZB_TRUE); g_pd3dDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_CW); // Показываем цвет у треугольника. g_pd3dDevice->SetRenderState( D3DRS_LIGHTING, FALSE ); // Если устройство создалось нормально, то выходим. return S_OK; } VOID Render() { if(g_pd3dDevice == NULL) return; // Очистка и закраска фона в красный цвет. /*g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0 );*/ g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0 ); // Начало отрисовки сцены. // Начало отрисовки сцены. if(SUCCEEDED(g_pd3dDevice->BeginScene())) { g_pd3dDevice->SetStreamSource( 0, g_pVB, 0, sizeof(CUSTOMVERTEX)); g_pd3dDevice->SetFVF(D3DFVF_XYZ|D3DFVF_DIFFUSE ); for(int i = 0; i<27; i++) { DrawMyMesh(a[i*3+1],a[i*3+2],a[i*3+3],b[i*3+1],b[i*3+2],b[i*3+3]); } g_pd3dDevice->EndScene(); } // Вывод из следующего буфера на экран. g_pd3dDevice->Present( NULL, NULL, NULL, NULL ); } |
24.05.2010, 14:52 | #15 |
Пользователь
Регистрация: 16.05.2010
Сообщений: 13
|
Комментарии не мои, брал из примеров, перемешано все
|
24.05.2010, 19:14 | #16 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
Слушай, выложи весь проект. Мне так проще будет разобраться.
|
25.05.2010, 18:49 | #17 |
Пользователь
Регистрация: 16.05.2010
Сообщений: 13
|
Я уже разобрался, спасибо. оказалось, что
D3DPRESENT_PARAMETERS d3dpp; d3dpp.EnableAutoDepthStencil = TRUE; d3dpp.AutoDepthStencilFormat = D3DFMT_D16; ZeroMemory( &d3dpp, sizeof(d3dpp) ); шло в неправильном порядке |
25.05.2010, 20:35 | #18 | |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Цитата:
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс Последний раз редактировалось ROD; 25.05.2010 в 20:41. |
|
25.05.2010, 20:36 | #19 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
удалено автором
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
26.05.2010, 01:15 | #20 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
vaflea, ну походу я был прав, что проблема в буфере глубины.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
С# классы проблема с созданием обьекта | bondik | Общие вопросы .NET | 3 | 25.11.2009 10:02 |
Проблема с отображением времени | HAMMAN | Помощь студентам | 2 | 22.04.2009 16:17 |
проблема с отображением DBGrid | gotex | БД в Delphi | 12 | 04.06.2008 01:06 |
Проблема с отображением текста | ALR | Свободное общение | 0 | 18.02.2007 20:08 |