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

11

10.01.2011, 16:26

Ja für mich sieht das sehr danach aus als ob du den Z-Buffer nicht aktiviert hast.
Metal ist keine Musik sondern eine Religion.

NoobEnt

Frischling

  • »NoobEnt« ist der Autor dieses Themas

Beiträge: 14

Wohnort: Aurich, Ostfriesland

  • Private Nachricht senden

12

10.01.2011, 16:28

Der ist auch an...

C-/C++-Quelltext

1
tbDirect3D::Instance()->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

13

10.01.2011, 16:56

Ja das ist definitiv ein Problem mit dem Z-Buffering. Hast du auch ganz sicher einen Z-Buffer erstellt? Löscht du den Z-Buffer auch vor jedem Frame?

DerMark

Treue Seele

Beiträge: 324

Wohnort: Emsdetten

Beruf: Softwareentwickler

  • Private Nachricht senden

14

10.01.2011, 17:08

Was ist mit den States: D3DRS_ZWRITEENABLE und D3DRS_ZFUNC (http://msdn.microsoft.com/en-us/library/…v=vs.85%29.aspx)?

Das Problem sieht recht eindeutig nach dem ZBuffer aus der nicht beschrieben wird, ein falscher Wert bei einen der genannten States dürfte es erklären. Ein fehlendes Clear auf diesen sollte dagegen anders aussehen.

Ansonsten solltest du noch sichergehen das er wie dot schon sagte auch erstellt wurde.

NoobEnt

Frischling

  • »NoobEnt« ist der Autor dieses Themas

Beiträge: 14

Wohnort: Aurich, Ostfriesland

  • Private Nachricht senden

15

10.01.2011, 17:31

C-/C++-Quelltext

1
2
3
tbDirect3D::Instance()->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
tbDirect3D::Instance().SetRS(D3DRS_ZWRITEENABLE, TRUE);
tbDirect3D::Instance().SetRS(D3DRS_ZFUNC, D3DCMP_LESSEQUAL);




Also das ist alles was ich mit dem ZBuffer gemacht habe =/

Muss der noch anders initialisiert werden *blödfrag* ?

DerMark

Treue Seele

Beiträge: 324

Wohnort: Emsdetten

Beruf: Softwareentwickler

  • Private Nachricht senden

16

10.01.2011, 17:52

Ich kenne die TribaseEngine nicht, aber es könnte sein das, wie dot auch schon sagte, der DepthBuffer gar nicht erst erzeugt wird.

C-/C++-Quelltext

1
2
d3dpp.EnableAutoDepthStencil = TRUE;
d3dpp.AutoDepthStencilFormat = D3DFMT_D16;


Sowas in der Art müsste es geben damit beim initialisieren des D3D Devices automatisch der DepthBuffer erzeugt wird. Gibt es denn keinerlei Optionen beim Initialisieren der Engine?

NoobEnt

Frischling

  • »NoobEnt« ist der Autor dieses Themas

Beiträge: 14

Wohnort: Aurich, Ostfriesland

  • Private Nachricht senden

17

24.01.2011, 18:51

Das macht die Tribase Engine im Konfigurationsdialog vorher =/

Jemand noch irgendeine Idee?
Am Modell an sich kann es nicht liegen?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »NoobEnt« (24.01.2011, 18:56)


dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

18

24.01.2011, 19:23

Hast du denn jetzt einen z-Buffer!?

Werbeanzeige