Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Вниз

Режим эмуляции   Найти похожие ветки 

 
VEG   (2003-03-08 12:26) [0]

Вот проблема, простейшее приложение в режиме
эмуляции рендерит черный экран. Вот код инициализации:
bool DXCreate(HWND _hwnd, bool _fullScreen, xDisplayMode _displaymode, bool _hal)
{
D3DDEVTYPE _dtype;
dxint = Direct3DCreate8(D3D_SDK_VERSION);
if(dxint == NULL) return false;
ZeroMemory (&dxpar, sizeof(dxpar));
dxpar.Windowed =! _fullScreen;
dxpar.hDeviceWindow = _hwnd;
dxpar.BackBufferWidth = _displaymode.val.Width;
dxpar.BackBufferHeight = _displaymode.val.Height;
if(_fullScreen)
{// FullScreen
switch (_displaymode.val.Format) {
case 16:
dxpar.BackBufferFormat = D3DFMT_R5G6B5;
break;
case 32:
dxpar.BackBufferFormat = D3DFMT_A8R8G8B8;
break;
default:
return false;
}
dxpar.FullScreen_RefreshRateInHz = _displaymode.val.RefreshRate;
dxpar.BackBufferCount = 3;
dxpar.SwapEffect = D3DSWAPEFFECT_DISCARD;
}
else
{// Windowed mode
D3DDISPLAYMODE _d3ddm;
if(dxint->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &_d3ddm)!=D3D_OK) return false;
dxpar.SwapEffect = D3DSWAPEFFECT_DISCARD;
dxpar.BackBufferFormat = _d3ddm.Format;
( _hal)
Вот проблема, простейшее приложение в режиме
эмуляции рендерит черный экран. Вот код инициализации:
bool DXCreate(HWND _hwnd, bool _fullScreen, xDisplayMode _displaymode, bool _hal)
{
D3DDEVTYPE _dtype;
dxint = Direct3DCreate8(D3D_SDK_VERSION);
if(dxint == NULL) return false;
ZeroMemory (&dxpar, sizeof(dxpar));
dxpar.Windowed =! _fullScreen;
dxpar.hDeviceWindow = _hwnd;
dxpar.BackBufferWidth = _displaymode.val.Width;
dxpar.BackBufferHeight = _displaymode.val.Height;
if(_fullScreen)
{// FullScreen
switch (_displaymode.val.Format) {
case 16:
dxpar.BackBufferFormat = D3DFMT_R5G6B5;
break;
case 32:
dxpar.BackBufferFormat = D3DFMT_A8R8G8B8;
break;
default:
return false;
}
dxpar.FullScreen_RefreshRateInHz = _displaymode.val.RefreshRate;
dxpar.BackBufferCount = 3;
dxpar.SwapEffect = D3DSWAPEFFECT_DISCARD;
}
else
{// Windowed mode
D3DDISPLAYMODE _d3ddm;
if(dxint->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &_d3ddm)!=D3D_OK) return false;
dxpar.SwapEffect = D3DSWAPEFFECT_DISCARD;
dxpar.BackBufferFormat = _d3ddm.Format;
}
if(_hal) _dtype = D3DDEVTYPE_HAL; else _dtype = D3DDEVTYPE_REF;
if(dxint->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_REF, _hwnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &dxpar, &dxdev)!=D3D_OK) return false;
return true;
}

А вот код рендеринга:
void RenderScreen (void)
{
static int c=0 , cc=1;
if(cc==1) c++;
if(cc==0) c--;
if(c==255) cc=0;
if(c==0) cc=1;
dxdev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB (c, 255-c, 0), 1.0f, 0);
dxdev->BeginScene();
dxdev->EndScene();
dxdev->Present(NULL, NULL, NULL, NULL);
}

Как решить проблему?


 
VEG   (2003-03-08 12:28) [1]

Я пишу на c++ и использую заголовки из DirectX 8 SDK от Microsoft


 
VEG   (2003-03-08 12:37) [2]

В Delphi та же проблема!


 
VEG   (2003-03-08 21:20) [3]

СРОЧНО!!! Пожалуйста, ПОМОГИТЕ!!!


 
cyborg   (2003-03-08 22:31) [4]

А в чём проблема-то?


 
VEG   (2003-03-09 11:40) [5]

В режиме эмуляции (D3DDEVTYPE_REF) не выводится картинка, а в режиме аппаратного ускорения (D3DDEVTYPE_HAL) се работает!!! Как сделать так, чтобы и в режиме эмуляции все работало???


 
cyborg   (2003-03-09 12:27) [6]

Код не пробовал, но думаю что это DirectX8 виноват, в нём вроде программной эмуляции нет, только хардваре. Хотя в коде не вижу где картинка выводится, простое очищение экрана.


 
VEG   (2003-03-10 16:26) [7]

Прикол в том, что если то же самое напишу в 7-ой версии, то все пашет (стоит 8.1).
>...простое очищение экрана
Это для тогго, чтобы все упростить:)



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
1-33595
Alibaba
2003-08-28 12:11
2003.09.11
array of


3-33444
mikh
2003-08-21 17:39
2003.09.11
Как поместить в CheckListBox результат sql-запроса select ?


11-33529
access_violation
2003-01-05 13:20
2003.09.11
help


14-33750
otido
2003-08-24 14:45
2003.09.11
Вопросик по MS WORD 2000... может и с программированием связан...


14-33769
вовка
2003-08-21 19:56
2003.09.11
3D рисование





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский