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

Steven77

Alter Hase

  • »Steven77« ist der Autor dieses Themas

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

1

24.03.2009, 14:02

Render to Texture: Objekte werden nicht dargestellt

Irgendwie sitzt diese Woche der Wurm drin: Ich will eine Szene in die Surface einer Render-Target-Textur rendern, um den Inhalt der Textur dann in einem zweiten Schritt in die Standard-Surface des Back-Buffers zu rendern.

Das Problem ist, dass die Textur beim Rendern in die Standard-Surface nur in der Farbe der individuell für sie gesetzten Clear-Color angezeigt wird. Sie enthält also nicht die eigentlichen Objekte. Die Objekte werden aber gerendert, was ich per Speichern der Textur in eine Bilddatei geprüft habe (vgl. diesen Thread).

Ich kann mir das nicht erklären, zumal ich da jetzt keinen Unterschied zu vorherigen Ansätzen sehe, bei denen alles reibungslos geklappt hat. Kennt jemant von euch dieses oder ein ähnliches Problem? Gibt es beim Rendern in eine Textur bzw. beim Darstellen einer Render-Target-Textur bestimmte Dinge (z.B. Render-States, Multi-Sample-Zeug, Formate, etc.) zu beachten?

Nicht, dass ich nicht wüsste, wo ich anzusetzen hätte -- wenn dieser komische Effekt nicht wäre, dass die Objekte zwar in die Textur (bzw. dessen Surface) gerendert (und auch entsprechend in die Bilddatei geschrieben) werden, die Textur beim Rendern in die Standard-Surface aber außer der Clear-Color nix enthält.

Die Direct3D-Funktionen liefern alle D3D_OK. Verschiedene Formate, Multi-Sample-Einstellungen und Render-States wurden getestet. Und das Rendern der Objekte direkt in die Standard-Surface (ohne Umweg über die Render-Target-Textur) funktioniert einwandfrei. Ebenso ja offenbar auch das Rendern in die Textur, aber dann beim Darstellen der Textur wird eben nur die Clear-Color angezeigt.

Hierfür jetzt Code zu zeigen, dürfte sich als sehr kompliziert herausstellen, weil die technischen, relevanten Teile "sehr tief" in einer Vielzahl von Klassen eingebettet sind. Um Code geht es auch gar nicht. Vielmehr interessiert mich, ob es da konzeptionell irgendwas Bestimmtes zu beachten gibt.

Ich werd eckig! :?:
Danke und liebe Grüße!
Kommen Sie nie mit einem Schwert zu einer Schießerei.

2

24.03.2009, 14:13

Worauf legst du denn die Textur?
Möglicherweise liegts am Vertexformat des Zielobjekts.

Sonst würde ich mal prüfen: CullMode, Kameraeinstellung, Beleuchtung (Licht ein/aus) oder die Farboperationen (ColorOp).

Ohne Code wirklich schwer zu sagen. :?

Gotbread

Alter Hase

Beiträge: 421

Beruf: Student (Etechnik) + Hiwi

  • Private Nachricht senden

3

24.03.2009, 14:19

hm interessantes problem :D

versuch mal, die gespeicherte textur zu laden und anzuzeigen.
vielleicht liegts auch am culling.

lässt sich den die gespeicherte textur in ganz normalen programmen
wie paint anzeigen?
Mfg Goti
www.gotbread.bplaced.net
viele tolle spiele kostenlos, viele hardware-basteleien :)

"Es ist nicht undicht, es läuft über" - Homer Simpson

Steven77

Alter Hase

  • »Steven77« ist der Autor dieses Themas

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

24.03.2009, 14:22

Das ist mir jetzt schon ein bisschen peinlich: Es lag am FVF. :roll: Wahrscheinlich eine der Hauptfehlerursachen bei sowas. Ich sollte es eigentlich wissen. :lol:

Vielen Dank für den Tipp, TrikkieMikkie. Manchmal ist es so einfach...
Kommen Sie nie mit einem Schwert zu einer Schießerei.

Werbeanzeige