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

Aktuelle Zeit: Fr Jul 04, 2025 22:01

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Einblenden / Ausblenden
BeitragVerfasst: Mi Sep 04, 2002 01:00 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Aug 26, 2002 10:26
Beiträge: 3
Wohnort: Hanau (bei Frankfurt/Main)
Hi,

ich würde gerne meine Szene mit einem Befehl (oder einem Trick) ein und ausblenden. Sprich: Die Szene verdunkelt sich auf schwarz, dann springt die Kamera unbemerkt an eine andere Stelle und die Szene wird wieder hell.
Wie kann ich das am besten realisieren? Mit dem Licht herumzuexperimentieren hat mich irgendwie nicht weiter gebracht.

Danke im Voraus -- Andy aka feroCT5

_________________
[- <a href='http://www.ferodesign.de' target='_blank'>fero.design</a> -]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 04, 2002 07:16 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Je nachdem was bereits verwendet wird. Setzt Du bisher nicht auf GlColor liesse sich das damit recht leicht realisieren. Ansonsten kann man wudnerschöne und schnelle Fading Effekte (z.B: auch bei treffern wie Freespace etc.) durch ein Quad, dass direkt vor der Camera ist erzielen. Das blendet man dann über in die Szene, gibt ihm ne schwarze Farbe. Setzte Alpha auf 1 im Normfall, will man verdunkeln, geht man auf 0.

Soweit die Theorie, habe IMAO auch schonmal irgendwo source gemacht, muss aber zur arbeit ;)

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 04, 2002 07:36 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
Stimmt, müsste theoretisch Funktionieren. Jedoch (nur so 'n Gedanke) solltest Du dir mal die 2D-Routinen anschauen. Denn bei den 3D-Routinen kann es zu entsprechenden Schwierigkeiten kommen, das Quad weit genug von der Kamera zu Positionieren damit es noch dargestellt wird und nicht zu weit weg, um noch an den Seiten irgendwelche Reste zu sehen (Stichwort: Nerclipping Plane).

Aber prinzipiell müsste das Funktionieren. Hast Du schon mal bei manchen Games beobachtet, wie die für InGame-Sequenzen in ein Quasi 16:9 Format wechseln und dabei den oberen und unteren Rand "reinschieben" und gleichzeitig einblenden?!? Wird IMO auch mit solchen "Tricks" gemacht...

Alternativ könntest Du auch die Helligkeit deiner Kompletten Szene auf 0 Runterschrauben. Dabei ist dann aber nichts mehr sichtbar. Auch kein Text oder Maus-Cursor :( !!! Außerdem hab' ich keine Ahnung, ob das im Fenster-Modus funktioniert, da das meines wissens die Helligkeit der prinzipiellen Grafik-Ausgabe Deiner Karte beeinflusst und somit theoretisch auch Dein kompletter Windows-Desktop mit ausgefadet wird (andererseits... hätte was für sich :lol: )

P.S.: Es ist nicht wichtig, was der User denk, wie ein Effekt erreicht wurde. Es kommt nur darauf an, dass der Effekt den gewünschten Erfolg bringt :wink:

_________________
Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 04, 2002 09:22 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
@P.S.: Ich glaube, der User sollte normalerweise gar keine Chance haben, erkennen zu können wie ein Effekt entstanden ist. Für einen geübten Entwickler der die Techniken kennt trifft das natürlich nicht zu.
Ich halte übrigens die Methode mit dem 2D Blend am besten, da man häufig sowieso irgendwie ein HUD verwendet, fügt man einfach diesen Funktionen die entsprechnden Blends hinzu.


Zuletzt geändert von Delphic am Di Jul 21, 2009 09:37, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 04, 2002 11:04 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Aug 26, 2002 10:26
Beiträge: 3
Wohnort: Hanau (bei Frankfurt/Main)
Also das mit Color geht nicht, zumindest weiß ich nicht wie!

Da ich Texturen aktiviert habe, ist das Viereck immer komplett weiß, weil ich keine Textur zugewiesen habe. glColor4f() bringt deshalb goar nix. Habe auch schon glDisable(GL_TEXTURE_2D) probiert - geht auch net.
Wenn mir also jemand sagen kann, wie ich das mit glColor4f mache, wäre ich sehr dankbar.
Ansonsten schaue ich mich mal nach 2D-Funktionen um...

Danke -- Andy aka feroCT5

_________________
[- <a href='http://www.ferodesign.de' target='_blank'>fero.design</a> -]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 04, 2002 11:40 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Hast du Blending überhaupt aktiviert? Klingt für mich nicht so.... Les dir mal das Blending Tutorial durch. Vielleicht kann dir auch die OpenGl Spezifikation helfen. Lighting und Depth Testing sollten auch ausgeschaltet sein


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 04, 2002 13:27 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
Zitat:
Hast du Blending überhaupt aktiviert? Klingt für mich nicht so....


Tja, das wäre ärgerlich. Ging mir auch schon so. Das sind die Fehler, die man dan stundenlang sucht und fast verzweifelt, nur weil man etwas vergessen hat zu initialisieren. Ist mir mit Direct3D am Anfang des öfteren passiert! Und bei meinem ersten OpenGL Programm hab ich immer eine Verzögerung beim Verschieben und Schließen des Fensters gehabt UND nichts von meinen OpenGL-Ausgaben gesehen, weil ich vergessen hab, SwapBuffers aufzurufen :oops: . Von dem her muss ich DelphiC echt recht geben: check das mal durch, villeicht hat sich dann Dein Problem ganz von selbst gelöst.

@Phobeus: Was meintest Du eigentlich mit "Color" Werd' irgendwie nicht schlau darraus. Weil von jedem verwendeten Vertex dir Farbe runterzurechnen, nur um die Szene auszublenden ist IMHO ein klein wenig aufwendig und zeitraubend...

_________________
Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 04, 2002 13:32 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Yep, nur solange man z.B. nur ein Objekt hat, View, Test-Szene etc. wo man keine Farbwerte hat, kann man dies damit realtiv schnell und ohne großen Aufwand realisieren. Bei komplexen Szenen und Spielen wird man nicht ums Blending herum kommen!

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 04, 2002 14:47 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Aug 26, 2002 10:26
Beiträge: 3
Wohnort: Hanau (bei Frankfurt/Main)
Ich hab's jetzt geschafft.

Ich habe eine 1x1-Pixel-Textur genommen und nachträglich den Alpha-Wert manipuliert...
Diese Textur hab ich dann einfach in den Vordergrund gesetzt, aber vorher glDisable(GL_DEPTH_TEST) aufgerufen, damit's auch ja vorne ist.

Fertig.

Trotzdem danke für Eure Hilfe -- Andy aka feroCT5

_________________
[- <a href='http://www.ferodesign.de' target='_blank'>fero.design</a> -]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 04, 2002 14:56 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
Tja, da sieht man's wieder: Viele wege führen nach Rom! (Oder in diesem Fall zum Blending :wink: )

_________________
Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]