Textur für eine Kugel erstellen

Hallo Experten.

Ich möchte mit OpenGL den WM-Ball „Teamgeist“ primitiv nachstellen und habe dafür nur eine Direkt-Aufnahme des Balls, wie man sie ja zur Zeit überall findet, z.B. hier: http://www.soccerballworld.com/images/Teamgeist_Worl….
Da es ja relativ einfach ist, eine Textur auf eine Kugel zu legen, brauche ich das Bild irgendwie als 2D-Textur.

Es müsste imho möglich sein z.B. mit Matlab oder Photoshop das Bild der Vorderseite (Die Rückseite soll genauso aussehen) in eine Textur umzuwandeln…

Kann mir irgendjemand helfen?
Selbst die kleinste Idee würde mir nützen… hab 4 Stunden mit Photoshop rumprobiert…

Vielen Dank im voraus,
Manuel

Das kommt ganz drauf an, was genau die engine mit den texturen macht… ich kenn blos 'Ne uralte Software-Engine, hab schon ewig nichts mehr in die Richtung gemacht.

Hab grad nicht die Programme da, um es auszuprobieren… aber vielleicht wenn du den Ball richtig zentrierst, danach verzerrren/polarkoordinaten: polar -> rechteckig… und dann muss das bild ggf. noch an einer Spiegelachse verdoppelt werden (zweimal horizontal oder vertikal nebeneinander und eins von beiden spiegeln).

Nachtrag
Wenn du nicht genau weißt, was deine engine macht, dann probiers alles erstmal mit 'nem Schachbrett-Muster aus. Daran wie das dann auf dem Model liegt solltest du ungefähr abschätzen können, wie die Textur verarbeitet wird (mit der Zeit kriegt man ein Auge dafür).

Hallo martys.

Danke für deine Antwort.

vielleicht wenn du den Ball richtig zentrierst, danach
verzerrren/polarkoordinaten: polar -> rechteckig… und
dann muss das bild ggf. noch an einer Spiegelachse verdoppelt
werden (zweimal horizontal oder vertikal nebeneinander und
eins von beiden spiegeln).

Ich hab das mit den Polarkoordinaten probiert, aber erfolglos - ich denke ich hab auch alle achsen probiert, aber auch das ging daneben…
Es stimmt schon - die Textur muss im Verhältnis 2(Breite):1(Höhe) sein und der linke Teil ist dann vorne, der rechte hinten.
Das Problem ist, dass eben alles verzerrt wird: die oberste Zeile zum Beispiel wird auf einen einzigen Pixel reduziert.

Ich probier es vielleicht trotzdem nochmal so…

Andere Vorschläge?

Wenn du nicht genau weißt, was deine engine macht, dann
probiers alles erstmal mit 'nem Schachbrett-Muster aus. Daran
wie das dann auf dem Model liegt solltest du ungefähr
abschätzen können, wie die Textur verarbeitet wird (mit der
Zeit kriegt man ein Auge dafür).

Wie gesagt: ich weiss ja wie die Engine die Textur auf den Ball legt, aber eben nicht, wie ich aus der Frontal-Aufnahme eine vernünftige Textur machen kann… zumindest nich, ohne mir jetzt eine Formel auszudenken und das Bild per Hand umzurechnen :wink:

Kann sein, dass ich jetzt voll daneben liege, aber ich hab früher mal mit Bryce 5 herumexperimentiert und da konnte man wunderbar 3D Elemente erstellen. Wenn man dann das Ballmuster noch auf die Kugel überträgt…

Ist aber schon länger her :smile:

MfG bochumer Junge

Hallo nochmal.

Ich denke ich habe eine Lösung gefunden.
Die Photoshop (oder PSP) Plugins, die hier zu finden sind, sollten bei ähnlichen Problemen helfen.
http://www.richardrosenman.com/photoshop.htm

Um eine gute Vorlage zu erlangen sollte man denke ich den „Lens Corrector“ nutzen.
Um aus der dann runden Vorlage eine Textur zu machen sollte der „Spherical Mapping Corrector“ genutzt werden.
Aus der dann erhaltenen Textur muss man zumindest für OpenGL noch ein 2:1 Bild machen, also wenn möglich vertikal spieglen, wenn nicht eben zweimal nebeneinander.
Noch eine Hürde. Die Abmessung der fertigen Textur sollte AFAIK eine Zweierpotenz sein, z.B. 2048px breit und 1024 hoch.

Vielen Dank für eure Hilfe und viel Spaß beim selbst ausprobieren