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!