ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4462662
Jetzt (Chat):
10 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-

FAQ - Frequently Asked Questions - DirectX


Warum funktioniert GetViewport oder andere Get-Funktionen nicht?

Wenn Du das Direct3D Device als Pure Device initialisierst, dann funktionieren alle GetXXX() Funktionen nicht, weil Direct3D die aktiven States und Einstellungen dann nicht mehr speichert, sondern die Hardware alles alleine macht. Du musst also alle notwendigen Einstellungen selber zwischenspeichern, oder nicht das Pure Device verwenden.

Die folgende Funktion (MakeViewport) hilft bei der Erstellung eines D3D Viewports:
Code:
// Funktionsprototyp
#ifdef DIRECT3D_VERSION 
  #if   DIRECT3D_VERSION == 0x0800
    D3DVIEWPORT8  MakeViewport(DWORD width,DWORD height);
  #elif DIRECT3D_VERSION == 0x0900
    D3DVIEWPORT9  MakeViewport(DWORD width,DWORD height);
  #endif
#endif

// Funktionsdefinition
#ifdef DIRECT3D_VERSION 
  #if   DIRECT3D_VERSION == 0x0800
    D3DVIEWPORT8  MakeViewport(DWORD width,DWORD height)
    {
      D3DVIEWPORT8 d3dviewport;
  #elif DIRECT3D_VERSION == 0x0900
    D3DVIEWPORT9  MakeViewport(DWORD width,DWORD height)
    {
      D3DVIEWPORT9 d3dviewport;
  #endif
      d3dviewport.X = 0;
      d3dviewport.Y = 0;
      d3dviewport.Width = width;
      d3dviewport.Height = height;
      d3dviewport.MinZ = 0.0f;
      d3dviewport.MaxZ = 1.0f;

      return d3dviewport;
    }
#endif