Registriert: So Dez 19, 2004 00:27 Beiträge: 454 Wohnort: Nürnberg
Ich frage mich gerade wie man das Star Wars Intro
(Screenshot:
)
in OGL realisieren könnte.
Das Logo, das dann so nach hinten fliegt hab ich schon, aber das mit dem Introtext macht mir noch Probleme.
Hat jemand eine Idee?
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Also ich denke mal das läuft eher auf eine Textur hinaus. Polygonts ermöglichen dir zwar eine bessere Flexibilität aber ohne FSAA sehen die leider ein wenig unschön aus. Speziell umso weiter weg sie sind.
Alles andere ist nur eine schiefe Ebene die du verschieben musst. Ein bisschen nach hinten und noch weniger nach unten verschoben und ein wenig angekippt. So würde es eigentlich ausreichen wenn du sie ins Bild schiebst.
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Das Problem dürften bei der Textur-Variante natürlich die durchscheinenden Sterne sein. Entweder arbeitest du dann mit einer Alpha-Textur oder machst es über Fonts (kompliziert, vor allem die Blockschrift)...
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Zuletzt geändert von La Boda am Di Mai 24, 2005 13:17, insgesamt 1-mal geändert.
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Kommt auf die Neigung deiner Textur-Fläche drauf an...
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Also ich würde mit nem Alphakanal in der Textur arbeiten und die dann blenden. So kannst du das nachhinten hin auch schön ausfaden und dadurch werden die ränder auch noch mal weicher.
Also evtl kannst das auch so machen, dass du entsprechend weit nach hinten schiebst (Translate) dann setzt du Neigung somit wird dann automatisch um den definierten Mittelpunkt (0, 0, 0) gedreht. Damit sollte es eigentlich genügen, dass du die mit translate immer nur weiter schiebst und durch die Reihenfolge der Aufrufe dann automatisch von OpenGL an der gleichen stelle gehalten wird. Also nicht, dass du die geneigte Fläche verschiebst sondern auf der Neigungsachse die Fläche verschiebst. Das dürfte auch in etwas das sein was du da hast. Nur wenn du einen anderen Winkel nimmst, dann müsstest du das umrechnen. Also damit es wieder genau da verschoben wird es soll. Hoffe das nicht zu verwirrend. Habe mich ja selber fast abgehangen.
Du musst eine Textur ja irgend wie in den Speicher laden damit du sie dann OpenGL uebergeben kannst, ich nehm dazu einfach ein TBitmap im pf32bit Format. Somit kann ich auch ganz einfach noch drauf zeichnen etc. Wenn du ein Array oder was auch immer verwendest musst du es halt noch anpassen.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Durch bestimmte Combiner oder Texturmodulationen wäre es möglich Schwarz so rauszublenden. Aber das würde dann entsprechend auch auf den Rest der Textur übertragen. Also würde deine Schwrift auch mit moduliert werden. Das einzige was da richtig geht ist der Alphakanal.
Was mir gerade einfällt. Wenn du es aufwendig gestalten willst kannst du auch den Text mittels Texturfont zusammenbauen. Dann hast du den Vorteil, dass du nur eine einzige Textur hast (sogar noch eine recht kleine) und völlig freie Wahl in dem was du darstellen möchtest. Ist aber vom Aufwand her nicht sonderlich gering. Ich sage mal nur Blockschrift und oder automatischer Zeilenumbruch. Ist aber vom Schwierigkeitsgrad auch wiederum nicht so extrem schwer. Zu mindest wenn du die Notwendigen Informationen hast.
Aber für ein einmaliges Intro ist es alle mal zu viel Aufwand. Da würde ich lieber ein festes Bild benutzen.
@glBitmap oder glBMP: In beiden existiert eine Möglichkeit anhand eines Farbwertes eine Alphakanal zu erstellen. In der glBitmap habe ich im übrigen auch noch eine Tolleranz eingebaut.
In der glBitmap heißt die Methode AddAlphaFromColorKey(Red, Green, Blue: Byte; Deviation: Byte = 0): Boolean; In der glBMP müsste das aber auch was mit ColorKey sein.
@tokter: Mit einem PRGBQuad geht es einfacher. Dann musst du nämlich kein Offset ausrechnen das übernimmt dann elphi für dich. Wobei er ja kein richtiges Offset ausrechnen muss.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Das ist auch durchaus sehr löblich.
Es geht im übrigen noch eine Alternative die Textur hochzuladen als mit gluBuild2DMipmaps. Moderne Karten (GL_VERSION_1_4 oder GL_SGIS_generate_mipmap) sind von alleine in der Lage MipMaps zu erstellen. Dann genügt auch ein normaler aufruf von glTexImage2D. Mit vorherigem glTexParameteri(TextureTarget, GL_GENERATE_MIPMAP, GL_TRUE);
Finde ich persönlich besser, da die Glut auch ganz gerne die Textur anpasst, wenn sie keine n^2 ist. Aber dann darf die Textur auch nicht vorhanden sein, da sie ja eigentlich nicht gültig ist aber von glut wieder gültig gemacht wurde.
Mitglieder in diesem Forum: 0 Mitglieder und 13 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.