JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

HAL_VERTEXPROCESSING

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Database
Mini JLI'ler



Anmeldedatum: 20.11.2004
Beiträge: 24
Wohnort: Hinter den sieben Bergen
Medaillen: Keine

BeitragVerfasst am: 25.01.2006, 02:27    Titel: HAL_VERTEXPROCESSING Antworten mit Zitat

Ich brauche dringend Hilfe. Nehmen wir mal an ich habe ein DirectX9 Object names pD3D.

Wie kann ich jetzt den Adapter abfragen, ob er fähig ist HAL_VERTEXPROCESSING auszuführen?

Welche Funktionen muss ich hierfür verwenden. Eine Erklärung wäre echt Spitze.

Vielen Dank,
Alex
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 25.01.2006, 11:47    Titel: Antworten mit Zitat

Am einfachsten ist es, du versuchst einfach das Device mit D3DCREATE_HARDWARE_VERTEXPROCESSINGzu erstellen und überprüfst danach, ob dein pD3DDevice == null ist.
Wenn ja, ist die Funktion fehlgeschlagen und du initialisierst es mit D3DCREATE_SOFTWARE_VERTEXPROCESSING.

Ansonsten musst du die DeviceCaps überprüfen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Database
Mini JLI'ler



Anmeldedatum: 20.11.2004
Beiträge: 24
Wohnort: Hinter den sieben Bergen
Medaillen: Keine

BeitragVerfasst am: 25.01.2006, 13:13    Titel: Antworten mit Zitat

Danke schoen, dass ist genau das was ich gesucht habe.
Kann mir jemand vielleicht auch ein bisschen Code geben.

Vielen Dank
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 25.01.2006, 14:12    Titel: Antworten mit Zitat

CPP:
   if(FAILED(m_pDirect3D9->CreateDevice(
      D3DADAPTER_DEFAULT,
      D3DDEVTYPE_HAL,
      hWnd,
      D3DCREATE_HARDWARE_VERTEXPROCESSING,
      &d3dPresentParams,
      &m_pDevice)))
   {
      // Falls CreateDevice beim ersten Mal fehlgeschlagen ist,
      // versuche es nochmal mit D3DCREATE_SOFTWARE_VERTEXPROCESSING
      if(FAILED(m_pDirect3D9->CreateDevice(
         D3DADAPTER_DEFAULT,
         D3DDEVTYPE_HAL,
         hWnd,
         D3DCREATE_SOFTWARE_VERTEXPROCESSING,
         &d3dPresentParams,
         &m_pDevice)))
      {
         // Falls das auch fehlschlägt, hier Fehlerbehandlung einfügen
         // z.B. return false;
      }
   }


FAILED ist übrigens eine praktische Präprozessor Definition

edit: vorher natürlich m_pDevice als LPDIRECT3DDEVICE9 deklarieren und auf null setzen, sowie d3dPresentParams initiealisieren... siehe Buch.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 25.01.2006, 14:32    Titel: Antworten mit Zitat

HRESULT GetDeviceCaps( UINT Adapter,
D3DDEVTYPE DeviceType,
D3DCAPS9 *pCaps
);

Damit kannste so ziemlic alles ws die Grafikkarte kann abfragen (in der Doku danach suchen).
Es gibt auch dne DX CpasViewer da kansnte dir schonmal so die Daten deiner Grafikkarte abfragen, quasi so als übersicht. Du kannst es natürlich so machen wie KI aber wer rennt schon gegen ne Tür um zu gucken ob sie auf ist?
Nagut, es ist natürlich 10 mal einfacher aber äh, es geht ums Prinzip!
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jones
Senior JLI'ler


Alter: 33
Anmeldedatum: 03.03.2005
Beiträge: 208
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 25.01.2006, 15:06    Titel: Antworten mit Zitat

mit D3DCREATE_HARDWARE_VERTEXPROCESSING und D3DCREATE_SOFTWARE_VERTEXPROCESSING hatte ich letzten ne lustige sache.
Zitat:
[16:47] <Jones> wenn ich 800 texturequads erstlle und zeichne mit Hardwarevertexprocessing hab ich ne framerate von 28, mit Softwarevertexprocessing hab ich ne framerate von 85fps(enspricht der bildschirmwiederholfrequenz). mit meiner vorherigen sprite klasse habe ich ein framerate von 30fps bei 800 objekten nur dauert es erstmal ein bisschen bevor etwas angezeigt wird
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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

Impressum