Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

19.01.2013, 18:20

TriBase Engine - tbDirect3D::Instance Aufruf

Moin,

hätte man eine Frage, bei der ich mit meinen C Kenntnissen nicht weiter komme. Im Beispiel Galactica werden in der Funktion

C-/C++-Quelltext

1
tbResult CGame::Render(float fTime)

folgende Funktionen aufgerufen:

C-/C++-Quelltext

1
2
3
4
// Puffer leeren und Szene beginnen
    tbDirect3D& D3D = tbDirect3D::Instance();
    D3D->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, tbColor(0.0f, 0.0f, 0.0f), 1.0f, 0);
    D3D->BeginScene();

D3D müsste ja vom Typ PDIRECT3DDEVICE9 oder ähnliches sein, damit Clear(...); und BeginScene(); aufrufbar sind. Nur die Rückgabewert von

C-/C++-Quelltext

1
2
3
4
5
6
// Zugriffsmethode für Singleton
tbDirect3D& tbDirect3D::Instance()
{
    static tbDirect3D TheOneAndOnly;
    return TheOneAndOnly;
}

ist ja nicht PDIRECT3DDEVICE9. Ich blicke nicht wie es ja scheinbar doch geht. Könnte mir jemand auf die Sprünge helfen?

FSA

Community-Fossil

  • Private Nachricht senden

2

19.01.2013, 19:20

Guck nochmal in den Header von tbDirect3D. Dort ist der "->" Operator überladen.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

3

19.01.2013, 19:25

Danke, habe den Grund mit dem Hinweis gefunden.

Werbeanzeige