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

30.09.2008, 17:27

[Erledigt] Sprites werden überdeckt

Hi!
Ich hab wieder mal ein Problem mit den Sprites:
Ich hab ein Modell und ein paar Sprites.
Wenn ich die Sprites vor (zeitlich) dem Modell rendern lass, so werden sie von dem Modell überdeckt, obwohl das Modell hinter den Sprites ist.
Wenn ich die Sprites nach (zeitlich) dem Modell rendern lass, dann kann ich sie durch das Modell sehen.

Was könnte ich gegen dieses Problem machen?
Ich möchte, dass die Sprites nicht sichtbar sind, wenn sie hinter dem Modell sind, und dass sie sichtbar sind, wenn sie vor dem Modell sind.

Hoffe dass das Problem verständlich ist; Danke!

neido

Treue Seele

Beiträge: 225

Wohnort: Wien

  • Private Nachricht senden

2

30.09.2008, 17:34

Zitat

Wenn ich die Sprites nach (zeitlich) dem Modell rendern lass, dann kann ich sie durch das Modell sehen.


was meinst du damit?

Zitat

Ich möchte, dass die Sprites nicht sichtbar sind, wenn sie hinter dem Modell sind, und dass sie sichtbar sind, wenn sie vor dem Modell sind.


Dann rendere sie einfach nicht, wenn sie nicht sichtbar sein sollen :)

//Edit: Ich denke du hast deine Frage nicht konkret genug gestellt

3

30.09.2008, 18:25

Zitat

Zitat

Wenn ich die Sprites nach (zeitlich) dem Modell rendern lass, dann kann ich sie durch das Modell sehen.



was meinst du damit?


Ich render zuerst das Modell, und danach die Sprites.
Obwohl die Sprites hinter dem Modell sind, sind sie sichtbar.
Hier mal ein Bild. Der Berg ist vor den Wolken, trotzdem kann man die Wolken sehen.

Zitat

Dann rendere sie einfach nicht, wenn sie nicht sichtbar sein sollen

Das wird glaub ich zu schwer.

Noch was: Wenn ich statt den Sprites ein Modell rendere (auch mit Alphablending), dann funktioniert dies.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »defaultplayer^^« (24.01.2021, 20:49)


4

30.09.2008, 18:34

Könntest dir ein Vertexquad bauen und die Texturen darauf ziehen. Dann Vertexquad positionieren. Stichwort Billboarding.
Oder du hast schlicht ein 2D-Format gewählt (Screenspace)
Oder Z-Buffer aus hilft.
fka tm

5

30.09.2008, 19:01

Zitat

Oder Z-Buffer aus hilft.

Hab ihn gerade ein Mal aus und ein Mal an gemacht - kein Unterschied.

Zitat

Könntest dir ein Vertexquad bauen und die Texturen darauf ziehen. Dann Vertexquad positionieren. Stichwort Billboarding.

Ich such erst einmal nach einer anderen Lösung, da ich die Spriteengine und das Partikelsystem der TriBase verwende. Trotzdem danke.
Ich mach für heute erstmal Schluss, mal schauen was sich morgen machen lässt.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

6

30.09.2008, 20:25

Es hat normalerweise was mit der Z-Komponente zu tun. Anscheinend spielt es dir ja eine Rolle ob man erst das Modell und dann die Sprites oder andersrum zeichnet. Das spricht glaube ich dafür, dass du keinen Z-Test machst bzw. die Z-Werte nicht gescheit sind. Daher wäre es ganz gut zu wissen, mit welchen Einstellungen du den BackBuffer säuberst, wie die Z-Test Einstellungen sind und wie du die Sprites bzw. das Modell zeichnest.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

7

02.10.2008, 19:04

Danke!
Hab gerade "AlphaTestEnable" auf TRUE gesetzt und auch ZEnable enabled (ZWriteEnable lass ich aus).
Jetzt funktionierts.

Werbeanzeige