Registriert: Mo Jan 31, 2005 11:02 Beiträge: 432 Wohnort: Rheinlandpfalz
Hi leute,
bin schon fleißig am OGL-programmieren... ich bin gerade bei folgendem Problem:
Ich will eine dynamische Cubemap basteln.
Die statische funzt soweit ganz gut. Als hintergrund habe ich eine Space-textur.
Jetzt kommt meine Kugel gerendert als Cubemap mit spheremapping ins Spiel, sie soll später den hintergrund
in echtzeit spiegeln. Dafür brauche ich aber ständig eine neue Textur, die aus dem Teil der Hintergrund-Textur
besteht, wo die Kugel davor ist. Könnt ihr mir folgen
Fakt ist, dass ich ja vor dem rendern der Kugel meine, ständig ändernde, Textur binden muss.
// textur
spaceTex.Bind;
// kugel
sphere.render;
Mein Problem besteht darin, dass ich nicht weiß, wie man eine Textur aus einem Teil einer anderen Textur erstellt.
(natürlich zur Laufzeit !).
Normalerweise würde ich das ja mit den Texturkoordinaten machen (glTextcoord2f()),
aber das geht doch mit einem Objekt, wie meiner Kugel nicht, oder doch?
Brauche dringend eure Hilfe, da ich schon eine Zeitlang an dem Problem hänge!
Danke schonmal im vorraus!
Registriert: Mo Jan 31, 2005 11:02 Beiträge: 432 Wohnort: Rheinlandpfalz
ja schon, nur wenn ich die Kugel verschiebe ändert sich nichts an der Spiegelung.
deshalb dachte ich man braucht immer eine neue Textur, entsprechend dem aktuellen Hintergrund der Kugel.
Registriert: Fr Mai 14, 2004 18:56 Beiträge: 804 Wohnort: GER/OBB/TÖL-WOR/Greiling
wenn du die Hintergrundtextur auf 800 x 600 gedehnt hast, und deine kugel liegt bei 400:300;
musst du doch nur gltexcoord2f(0.5,0.5); aufrufen, das muss doch reichen, oder? natürlich für die enzelnen flächen der kugel noch ein bisschen verändern.
Es stimmt, wenn man die Kugel verschiebt ändert sich die Spiegelung , daher muss man auch jedesmal eine neue Erzeugen.
Ich würde Vorschlagen, dass du die Textur mit Hilfe eines PBuffers (Gibt's ne Menge infos im Inet zu, einfach mal Googlen oder die Suchfunktion des Forums benutzen) erstellst. Da kannst du auch ohne Probleme auf andere Texturen zurückgreifen, da letztendlich nur der Rendervorgang in eine Textur umgeleitet wird.
mfG
Tomok
_________________ Bevor du definierst, was etwas ist, versichere dich seiner Existenz.
Wenn du eine NVidia Karte hast, kannst du dir den PBuffer sparen und das ungleich einfachere EXT_framebuffer_object benutzen. ATI Karten Benutzer müssen da wohl noch einige Wochen warten.
Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.