Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Directx приложение перезагружает комп

6.8K
22 февраля 2008 года
Аццкий программер
91 / / 27.11.2006
Здравствуйте. У меня небольшие проблемы появились, надеюсь поможете. Сча обрисую ситуацию...

Был взят код sample'а из DirectX SDK 9.0 (summer 03) а именно этот DX9SDK\Samples\C++\Direct3D\Tutorials\Tut02_Vertices

и модифицирован следующим образом:

добавлен переход в полноэкранный режим:
Цитата:
D3DDISPLAYMODE d3ddm;
if( FAILED( g_pD3D->GetAdapterDisplayMode( D3DADAPTER_DEFAULT, &d3ddm ) ) )
return E_FAIL;


D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory( &d3dpp, sizeof(d3dpp) );
d3dpp.BackBufferWidth = d3ddm.Width;
d3dpp.BackBufferHeight = d3ddm.Height;
d3dpp.BackBufferCount = 3;
d3dpp.FullScreen_RefreshRateInHz = d3ddm.RefreshRate;
d3dpp.Windowed = false;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat = d3ddm.Format;


в соответствии с чем изменены параметры создаваемого окна:

Цитата:
WNDCLASS wc;
wc.hInstance = hInst;
wc.lpszClassName = "D3D Tutorial";
wc.lpfnWndProc = MsgProc;
wc.style = 0;
wc.hIcon = NULL;
wc.hCursor = NULL;
wc.lpszMenuName = NULL;

wc.cbClsExtra = 0;
wc.cbWndExtra = 0;

RegisterClass( &wc );

HWND hWnd = CreateWindowEx( WS_EX_TOPMOST,"D3D Tutorial","1st laba",WS_POPUP,0, 0,1024,768,NULL,NULL,hInst,NULL );


и немного изменен вертексбуффер:

Цитата:
CUSTOMVERTEX g_Vertices[] =
{
{ 300.0f, 100.0f, 0.5f, 1.0f, 0x4A2DF0, },
{ 300.0f, 150.0f, 0.5f, 1.0f, 0x4A2DF0, },
{ 150.0f, 150.0f, 0.5f, 1.0f, 0x4A2DF0, },

{ 300.0f, 100.0f, 0.5f, 1.0f, 0x4A2DF0, },
{ 150.0f, 150.0f, 0.5f, 1.0f, 0x4A2DF0, },
{ 150.0f, 100.0f, 0.5f, 1.0f, 0x4A2DF0, },
};



и вот, после недолгой компиляции за запуском приложения следует перезагрузка компа. почему это происходит? шо я здесь такого ужасного натворил??

(cpp в аттаче)

6.8K
22 февраля 2008 года
Аццкий программер
91 / / 27.11.2006
ошибку нашел:
Цитата:
g_pd3dDevice->CreateVertexBuffer( 3*sizeof(CUSTOMVERTEX),
0, D3DFVF_CUSTOMVERTEX,
D3DPOOL_DEFAULT, &g_pVB )



при наличии 6 вершин в вертексбуфере выделял память для 3х (йа кретинко :) )

но вот почему система это так "критично" воспринимала?!:confused:

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог