Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с directx  (Прочитано 15883 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Антон__
Помогающий

ru
Offline Offline
Пол: Мужской

« : 02-02-2009 13:51 » 

Как избавиться от такого: Не понял

Слева - вид с боку, справа - вид сверху.
Причем сфера находится ПОД кубом.

Буфер глубины вроде включил. Если нужен остальной код, могу выложить
Инициализация:
Код:
bool Engine::InitDirect()
{
pD3D = Direct3DCreate9(D3D_SDK_VERSION);
if(pD3D == 0)
{
MessageBox(0, "Cannot create pD3D", "error", 0);
return false;
}
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory( &d3dpp, sizeof(d3dpp) );
d3dpp.Windowed = true;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
d3dpp.EnableAutoDepthStencil = TRUE;
d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8;

HRESULT hr = pD3D->CreateDevice(
D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL,
hWnd,
D3DCREATE_HARDWARE_VERTEXPROCESSING,
&d3dpp,
&pDevice );
if(FAILED(hr))
{
MessageBox(0, "Cannot create pDevice", "error", 0);
return false;
}
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_CCW);
return true;
}
Рисование картинки:
Код:
void Engine::Render()
{
pDevice->Clear( 0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xffcfcf, 1.0f, 0 );
    pDevice->BeginScene();

list<IUnit*>::iterator iter;
for(iter = unitList.begin();iter != unitList.end();++iter)
{
(*iter)->Move();
(*iter)->Draw(pDevice);
}
camera.Set(pDevice);
ShowFPS();
    pDevice->EndScene();
    pDevice->Present( NULL, NULL, NULL, NULL );
}

« Последнее редактирование: 02-02-2009 19:11 от Антон__ » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 02-02-2009 18:51 » 

Антон__, а от какого - от такого ? Непонятно по картинке, что не так
Записан

Антон__
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 02-02-2009 19:11 » 

Алексей, действительно не очень понятно.
Исправил.

* DXTEST.rar (13.86 Кб - загружено 1193 раз.)
« Последнее редактирование: 02-02-2009 19:14 от Антон__ » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 02-02-2009 19:38 » 

твои экзешники у меня упорно не запускаются Улыбаюсь)

давай проект, хотя сомневаюсь, что разберусь )) С директом дело застопорилось у меня пока
Записан

Антон__
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 02-02-2009 20:14 » 

Держи.
Чтобы всё запускалось, установи висту и 2008-ю студию, и будет тебе счастье.  Ага

* test.rar (15.64 Кб - загружено 1182 раз.)
« Последнее редактирование: 02-02-2009 20:16 от Антон__ » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 02-02-2009 20:30 » 

висту - никогда и ни за что! Так значит, у тебя директ икс 10, понятно, почему у меня не идёт
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #6 : 02-02-2009 20:40 » 

ну а 2008 пока нету у меня. А так - не компилится.

Одно только прикололо - зачем делать

struct Map : IUnit
{
   static const int n = 100;
};

вместо простого

struct Map : IUnit
{
   enum{n = 100};
};
Записан

Антон__
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 02-02-2009 21:17 » 

висту - никогда и ни за что! Так значит, у тебя директ икс 10, понятно, почему у меня не идёт
Нет. В проекте только 9-й директ.

А на счет enum, нашел:
Цитата
Although you’ll often see the enum technique in legacy code, the static const feature was added to the language to solve just this problem.
http://cylib.iit.nau.edu.ua/Books/Prog/C++/Thinking_C++_Volume1/Chapter08.html

Зря ты так к висте относишься. Глюков почти нет, в отличие от ХР... Улыбаюсь
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #8 : 02-02-2009 21:34 » 

оффтоп, но про глюки висты и XP не надо сказок Улыбаюсь
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #9 : 02-02-2009 21:37 » 

насчёт енум - там приписка
Цитата
However, there is no overwhelming reason that you must choose static const over the enum hack, and in this book the enum hack is used because it is supported by more compilers at the time this book was written

да и вообще, это уроство со статиком просто не компилится тут у меня Отлично

а по теме, сорри, ничего не могу сказать (
Записан

Антон__
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #10 : 02-02-2009 21:55 » 

Самое интересное то, что код с директом я взял из старого проекта, где это работало и работает до сих пор:)
Записан
Антон__
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #11 : 09-02-2009 20:24 » 

Проблему решил.
Я думаю, тему можно удалять.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #12 : 10-02-2009 04:23 » new

дак а что там было то ?
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines