 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
schneidi74 Senior JLI'ler

Anmeldedatum: 14.05.2004 Beiträge: 243
Medaillen: Keine
|
Verfasst am: 15.03.2005, 14:16 Titel: D3DFMT_R5G6B5 geht nicht |
|
|
Wenn ich versuche DirectX mit dem BackBufferformat D3DFMT_R5G6B5 zu starten klappt das nicht, obwohl laut CapsViewer dieses Format laufen sollte. Hat jemand eine Idee warum das so ist? Hier mal etwas Code wie ich das ganze starte:
CPP: | HRESULT CEInit::InitDirectX(HWND hWnd, int iAdapter)
{
// Parameter für DX festlegen:
D3DPRESENT_PARAMETERS PParams;
ZeroMemory(&PParams,sizeof(PParams));
PParams.SwapEffect = D3DSWAPEFFECT_DISCARD;
PParams.hDeviceWindow = hWnd;
PParams.Windowed = m_bWindowed;
PParams.BackBufferWidth = m_SizeX;
PParams.BackBufferHeight = m_SizeY;
PParams.BackBufferFormat = m_dFormat;
HRESULT hr;
// Direct3D-Gerät anlegen
// erst versuchen PureDevice anzulegen
if(SUCCEEDED(hr = m_lpD3D->CreateDevice(
D3DADAPTER_DEFAULT,
m_dDevType,
hWnd,
D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_PUREDEVICE,
&PParams,
&m_lpD3DDevice)))
{
if(m_bLog)
m_LogFile->WriteLog("HardwareVertexProcessing mit PureDevice\n");
}
else
{
if(SUCCEEDED(hr = m_lpD3D->CreateDevice(
D3DADAPTER_DEFAULT,
m_dDevType,
hWnd,
D3DCREATE_HARDWARE_VERTEXPROCESSING,
&PParams,
&m_lpD3DDevice)))
{
if(m_bLog)
m_LogFile->WriteLog("HardwareVertexProcessing\n");
}
else
{
if(SUCCEEDED(hr = m_lpD3D->CreateDevice(
D3DADAPTER_DEFAULT,
m_dDevType,
hWnd,
D3DCREATE_MIXED_VERTEXPROCESSING,
&PParams,
&m_lpD3DDevice)))
{
if(m_bLog)
m_LogFile->WriteLog("Mixed-Vertex-Processing\n");
}
else
{
if(SUCCEEDED(hr = m_lpD3D->CreateDevice(
D3DADAPTER_DEFAULT,
m_dDevType,
hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING,
&PParams,
&m_lpD3DDevice)))
{
if(m_bLog)
m_LogFile->WriteLog("Software-Vertex-Processing\n");
}
else
{
if(m_bLog)
m_LogFile->WriteLog("CreateDevice fehlgeschlagen\n");
MessageBox(0,"CreateDevice failed","ERROR",MB_ICONWARNING | MB_OK);
return CE_FAIL;
}
} // Ende else
} // Ende else
} // Ende else
return CE_OK;
} //InitDirectX
|
die Variable m_dFormat hat diesen Wert: D3DFMT_R5G6B5 _________________ -+- SchNeiDi74 -+-
-+- www.creative-games.de -+- |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 15.03.2005, 14:18 Titel: |
|
|
im Fenstermodus muss man D3DFMT_UNKNOWN benutzen, ansonsten würd ich mit CheckDevice drübergehen
edit: Du benutzt etwas zu viel CreateDevice, 1x reicht. _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
 |
schneidi74 Senior JLI'ler

Anmeldedatum: 14.05.2004 Beiträge: 243
Medaillen: Keine
|
Verfasst am: 15.03.2005, 14:52 Titel: |
|
|
Erstmal danke für die schnelle Antwort.
Wie kann ich denn mit nur einmal CreateDevice rausfinden welches Vertexprozessing ich nutzen kann? _________________ -+- SchNeiDi74 -+-
-+- www.creative-games.de -+- |
|
Nach oben |
|
 |
PeaceKiller JLI Master

Alter: 36 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 15.03.2005, 15:05 Titel: |
|
|
Du kannst die DX Caps abfragen.
(Es müsste irgendwo ein DX-Beispiel geben) _________________ »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|