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

stef

Treue Seele

  • »stef« ist der Autor dieses Themas

Beiträge: 246

Wohnort: Kassel

Beruf: Softwareentwickler

  • Private Nachricht senden

1

27.11.2012, 19:37

Texturen für Kugeln

Hallo Forum

Ich möchte ein quadratisches Bild als Textur auf eine Kugel legen. Meine Frage ist ob jemand ein Programm / Tool kennt mit dem man eine Textur so verändert, dass die Verzerrungen an den Polen der Kugel, durch das zusammendrücken der Textur, nicht auftreten. Das Programm / Tool müsste also den oberen und unteren Teil der Textur horizontal dehnen so wie die Pole bei einer Weltkarte gedehnt sind.

Danke für Eure Hilfe
"In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg." — Bjarne Stroustrup.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

27.11.2012, 19:56

Spontan fällt mir da jetzt mal HDRShop ein, das kann alle möglichen Projektionen ineinander umrechnen. Irgendwas sagt mir allerdings, dass das eigentliche Problem nicht die Textur ist, sondern viel eher, dass du nicht wirklich weißt, wie du sie genau auf die Kugel mappen willst...

stef

Treue Seele

  • »stef« ist der Autor dieses Themas

Beiträge: 246

Wohnort: Kassel

Beruf: Softwareentwickler

  • Private Nachricht senden

3

27.11.2012, 20:27

Vielleicht wird mein Problem klarer wenn ich mal eine Beispiel zeige. Im Anhang die Textur und ein Screenshot der die Kugel mit der Textur von unten zeigt.
Man sieht deutlich das die Schrift in Richtung Pol immer mehr zusammen gedrückt wird.
Diesen Effekt möchte ich gerne Verhindern.
»stef« hat folgende Bilder angehängt:
  • Test.jpg
  • tex_Test.jpg
"In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg." — Bjarne Stroustrup.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

27.11.2012, 20:31

Und wie genau stellst du dir das vor? Du hast am Pol genau gleich oft "Test" stehen wie am Äquator. Wie sähe hier das von dir gewünschte Ergebnis aus?

Btw: Rein mathematisch betrachtet gibt es keine Parametrisierung der Kugel ohne Singularität...

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

5

27.11.2012, 21:54

Am besten ist es da eine Fläche zu nehmen, "gerade" über die Textur zu mappen, und das Mesh zu einer Kugel zu formen.
Wie dot schon sagt ist es so an sich nicht möglich (und auch unlogisch, was hättest du denn erwartet?).


dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

27.11.2012, 22:11

Naja, rein prinzipiell haben wir es hier mit einem sehr gut erforschten Problem zu tun. Denn mit Kartenprojektionen beschäftigt die Menschheit sich seit vermutlich weit über tausend Jahren. Daher wissen wir heute z.B., dass es rein prinzipiell unmöglich ist, eine Ebene verzerrungsfrei auf eine Kugel abzubilden.

Um hier eine sinnvolle Antwort zu geben, müsste man also erstmal wissen, was genau du eigentlich vorhast...

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

7

27.11.2012, 23:13

entweder, du versuchst das Mapping anzupassen, sodass keine Verzerrungen auftreten - entsprechende Texturen wären auf eine ganz bestimmte Polygonenzahl zugeschnitten und die Textur wäre nur teilweise ausgenutzt
oder du passt die Textur an, sodass die Ober und Unterkante verzerrt aussehen und durch das Mapping "korregiert" werden - wiedereinmal wäre die Textur auf die Polygonenanzahl zugeschnitten
aber wie schon geschrieben wurde, ist es nicht möglich, eine (echte) Kugel mit einer Ebene gleichmäig zu bespannen
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

stef

Treue Seele

  • »stef« ist der Autor dieses Themas

Beiträge: 246

Wohnort: Kassel

Beruf: Softwareentwickler

  • Private Nachricht senden

8

28.11.2012, 00:05

... oder du passt die Textur an, sodass die Ober und Unterkante verzerrt aussehen und durch das Mapping "korregiert" werden


Das ist genau das was ich mit einem Programm / Tool machen möchte !
Das man es nie zu 100% schaft eine quadratische Fläche auf eine Kugel zu bekommen ist klar.
Aber für eine Annäherung nach dem Motto rechne eine Verzerrung die durch das Mappen auf eine Kugeloberfläche "korrigiert" wird sollte es doch was geben oder ?
"In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg." — Bjarne Stroustrup.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

28.11.2012, 00:10

Gehen wir mal zu meiner Frage zurück: Wie genau sähe denn das von dir gewünsche Ergebnis in deinem obigen Beispiel mit dieser Textur voller "Test" Schriftzüge aus?

stef

Treue Seele

  • »stef« ist der Autor dieses Themas

Beiträge: 246

Wohnort: Kassel

Beruf: Softwareentwickler

  • Private Nachricht senden

10

28.11.2012, 00:20

Gehen wir mal zu meiner Frage zurück: Wie genau sähe denn das von dir gewünsche Ergebnis in deinem obigen Beispiel mit dieser Textur voller "Test" Schriftzüge aus?


Um das zu zeigen bräuchte ich eben ein Tool ... ;)

Verbal beschrieben würde ich sagen spreize die Textur (bzw. das Motiv der Textur) auseinander.
Die Spreizung hat am oberen und unteren Rand ihr Maximum und nimmt zur Mitte der Textur (vermutlich quadratisch) ab.
"In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg." — Bjarne Stroustrup.

Werbeanzeige