Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.11;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.007 c
1-33646
mfender
2003-08-30 17:25
2003.09.11
Разобрать строку по костям.


3-33432
Lenchik_Z
2003-08-22 10:24
2003.09.11
Отключение DBF-ок после выполнения ADOQuery


6-33701
Delphin
2003-07-09 20:51
2003.09.11
Проблема с удалением письма (IdPop31)


1-33564
Владимир Ткачук
2003-08-28 22:43
2003.09.11
Создание диалога


1-33632
tgdgdfg
2003-08-30 20:05
2003.09.11
Сортировка в TreeView





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский