Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: So Jul 13, 2025 20:42

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Quadric Texturen bauen
BeitragVerfasst: Mi Mär 23, 2005 14:49 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Folgendes. Ich möchte Texturen auf meine Quadricen pappen. Eigentlich kein Problem. Wenn das net zuviel aufwand werden würde. Das Problem ist, dass ich Atome (gluSphere) mit einer Textur beschriften will, die auf der der Atomtyp steht. Jetzt wär das natürlich echt zu aufwendig für jede Atomsorte eine Extratextur anzulegen. Mir würde es wesentlich besser gefallen, wenn ich mir die Beschriftung zusammenbauen könnte. Also 'S'+'i' = 'Si'.

Wie kann ich das realisieren. Wie gesagt es handelt sich um Kugeln.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 23, 2005 16:10 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Das ist natürlich alles andere als Trivial. Das Problem dürfte da sein, dass du bei einer gluSphere keine eigenen Texturkoordinaten angeben kannst. Als zusätzlichen Schwierigkeitsgrad hast du das Problem, dass die die Sphere eine gebogene Oberfläche besitzt. Die einfachste Möglichkeit Text darzustellen ist mittels einer Texttextur auf Quads. Diese kannst du aber schlecht biegen.

Ich würde fast Vorschlagen, dass du transparente Quads benutzt die um den Radius der Kugel angeordnet sind. Und zwar so, dass sie von Mittelpunkt immer in Richtung Kamera zeigen. Und dann auch so, dass sie die Kugel verdecken und von anderen Kugeln verdeckt werden. Das Ding mit dem Drehen deswegen, da es sonst zu sehr auffallen würde, dass eigentlich nur darüber schweben. Das könnte sonst ein bisschen doof aussehen. Evtl würde das vielleicht sogar auch besser aussehen als wie wenn sie sich mitdrehen. Dann wirkt das Bild vielleicht ruhiger.

Das ist aber ein bisschen arbeit und wie gesagt nicht trivial. Abgesehen davon, dass das Ganze nur rein theoretischer Natur ist und ich keine Ahnung habe wie es geht und ob das nach etwas aussieht. Es wäre also vielleicht doch besser in den sauren Apfel zu beißen und für jeden Atomtyp eine eigene Textur zu erstellen.

Aber das musst du selber mal ausprobieren was das Sinnvollste ist.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 23, 2005 16:25 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Wenn du die Texturen dynamisch erstellst und den Text vom Programm und nur bei Bedarf draufschreiben läßt, sollte sich der Rechenaufwand und auch die Anzahl der Texturen in Grenzen halten. Die Anzahl der Atomtypen die maximal gleichzeitig in der Szene benötigt werden, ist vermutlich abschätzbar.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 23, 2005 16:41 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
soviel atome gibts ja nicht im pse... mehr als 150 sind das nicht, und wenn die schrifttextur in etwa 8x10 Pixel kriegst, dann sollte das doch gehen.

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 23, 2005 17:32 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ne. Ich denke mal, dass Pro Textur min 32x32 oder sogar 64x64 Pixel nötig sind. Du musst ja die Textur der gesamten Kugel rechnen nicht nur die der Schrift. Und dann könnte es mit 64x64 sogar schon knapp werden um dann noch ein halbwegs vernünftiges Bild zu produzieren. Aber das kommt auf die Größe der Atome an. Aber dynamisch sollte das alles kein Thema sein. Da kannste deinen Text auf ein Bitmap zeichnen und dann mit einem Loader oder per Hand eine Textur daraus generieren. Fertsch.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 23, 2005 20:02 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Sowas in die richtung hatte ich mir gedacht. Also eine nur im Programm existierende Textur die nach Bedarf zusammengebaut wird.
Dann kann man ja sicherlich auch bei Quads die Texturen sich wiederholen lassen. Damit könnte ich dann die Größe der Tex beschränken.

Nur wie schreib ich den Text auf das Ausgangsbitmap?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 25, 2005 10:57 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Text auf ein Bitmap?

Wie wäre es mit:
Code:
  1. Canvas.TextOut(0, 20, 'Text');

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 25, 2005 14:07 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich versuch gerade die Bitmap.Canvas methode.

Gibts ne Möglichkeit direkt die Pixeldaten an glTexImage2D zu schleusen? Mit @Bitmap.Canvas.Pixels[0,0] gehts net. :x

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 25, 2005 14:22 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Die Eigenschaft Pixels wird intern in einen API Aufruf umgewandelt. Das einzige was dem Ansatzweise nahe kommt ist die Eigenschaft Scanline. Das könnte man unter Umständen an glTexImage übergeben. Aber dann muss das Format sehr genau stimmen. Ich meine die Windowsbitmap können auch Kopfüber im Speicher liegen, weswegen es wohl Probleme geben dürfte, wenn du stumpf immer den Pointer der letzte Zeile rein reichst. Kann ja sein, dass du dich dann am Ende des Speichers befindest.

Du könntest aber das Bitmap auch an die glBitmap übergeben und dir damit ne Textur generieren lassen. AssignFromBitmap kopiert die Daten direkt aus einem Bitmap heraus. GenTexture und das wars auch schon wieder. ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 25, 2005 15:15 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Was würd ich ohne deinen Loader nur machen ... 8)

Es geht zwar so. Aber beim rendern der Animation Flackert die Textur unschön (In schwarz! Obwohl die Textur weiß ist und nur die Schrift schwarz ist). Teile der Textur verschwinden auch mal. Die Texturgröße ist mit 128*64 konform.
Die schrift habe ich mittels TextRect auf das Zentrum der Textur begrenzt.

Kommt es bei Texturierten Quadriken immer zu solchen Fehlern, oder hat das andere Gründe?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 25, 2005 15:32 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Das klingt für mich entweder wie Singlebuffering oder überlagernde Flächen die Abwechselnd mal sichtbar sind oder nicht. Aber sonst sollte so etwas nicht vorkommen.

PS: Ich habe doch an so ziemlich alles gedacht. Denke ich. ;-)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 14 Queries | GZIP : On ]