Autor |
Beitrag |
Aya
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Sa 26.10.02 23:48
Hi,
hab mal wieder ne frage zu OpenGL
und zwar geht's diesmal um Effekte, hab mehrere fragen..
1.) Glühen... wie bringt man ein objekt dazu zu glühen?? Also das z.B. ne Rote kugel von einem roten schimmer umgeben ist... wie geht das??  (oder sind das dann ganz viele Kugeln mit unterschieddlichem Alpha wert??? aber wie ist das dann bei ganz komplexen dingen etc?)
2.) Lichtstrahlen.. ich hab eben in nem Spiel (Kingdom Hearts, PS2) ne szene gesehen.. da standen die Charas vor ner tür, haben sie geöffnet und es kamen so gleißende lichtstrahlen heraus... wie macht man sowas?  (Wobei das im grunde das selbe ist wie mit dem Glühen ^^)
3.) Texturen... Ich hab nen Haus gemacht, alles als ein einziges Objekt  und, wie funktioniert das nu mit den Texturen, bisher hab ich es immer so gemacht eine Textur pro Objekt... muß ich jetzt für das Haus eine Textur zeichnen die für das komplette Haus ist??? Oder kann ich auch bei einer DisplayListe mehrere Texturen benutzen??? Wenn ja, wie?
Au'revoir,
Aya
|
|
alexschultze
      
Beiträge: 317
|
Verfasst: So 27.10.02 10:31
würde mich auch mal interessieren
(Beitrag gebucht *g*)
|
|
Bountyhunter
      
Beiträge: 19
|
Verfasst: So 27.10.02 16:14
zu 3. wie meinst du das mit
Zitat: |
alles als ein einziges Objekt
|
???
mfg
Bountyhunter
|
|
Aya 
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: So 27.10.02 17:04
na ja, ich meine halt als eine DisplayListe 
|
|
Bountyhunter
      
Beiträge: 19
|
Verfasst: So 27.10.02 18:12
Titel: hmm...
also, so wie ich das verstanden habe würde ich einfach in der displayList für die triangles und quads je terturcoordinaten vergeben und dann einfach vor das glBegin(GL_QUADS); für das dach glBindTexture(GL_TEXTURE_2D, dachtextur); schreiben und das nun für jeden teil des hauses. oder geht das nicht?
mfg
Bountyhunter
|
|
Aya 
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: So 27.10.02 18:15
na jaa~~
war eine dumme frage von mir *g* Weil ich hab einfach nen dummen fehler gemacht
ich dachte glBindTexture ginge in ner DisplayListe nich, denn es hat nie geklappt bei mir... aber wie ich eben gesehen hab lag es einfach daran das ich erst die DisplayListen und dann die Texturen erstellt hab, einfach in der falschen reihenfolge *g*
Na ja, jedenfalls geht das nu alles...
Aber frage 1+2 stehen immer noch offen im raum
Au'revoir,
Aya
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: So 27.10.02 19:18
grrrrr. Jetzt ist schon wieder das Apostroph da drin....
Aber was die zweite Frage angeht: Ich würde es bei GLScene mit Partikeln machen. Weiße, sehr kleine Partikel, die auf den Actor zukommen. Hat man genug Partikel (vermutlich mehr als 10 000), könnte es so aussehen, als seien es Strahlen. Diese Methode hat aber den Nachteil, daß man dafür viel Rechenzeit braucht (jeder Partikel muss ja einzelnd berechnet werden), und ich weiß nicht, ob's sowas per API überhaupt mit geringm Aufwand gibt.
zur ersten Frage: Wenn ich es richtig verstehe, willst du sowas wie eine Korona. Ich wüsste nix anderes als einen Sprite, wäre aber auch dran interessiert, die richtige Lösung zu hören!
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Aya 
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: So 27.10.02 19:51
Hi,
ich hab das jetzt mal versucht mit ganz vielen übereinander liegenden flächen mit unterschiedlichem Alpha wert... schaut auch soweit eigentlich ganz ok aus, aber... na ja, ist sicherlich auch ziemlich rechenaufwendig
Au'revoir,
Aya
PS: Wer's sich mal anschauen will: www.animes.de/Glow.zip
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Mo 28.10.02 20:57
Titel: Licht-Strahlen
Hi,
bei den Lichtstrahlen ist mir was eingefallen... Hast du schon mal SuperMario64 gespielt? Da gibt es auch solche Strahlen. Nachteil: wenn man direkt reinschaut, sieht es unecht aus, die eignen sich nur für Strahlen, die an der Kamera vorbeilaufen, benötigen aber fast keine Rechechenlaistung. Aber lass mich erstmal erklären:
Es handelt sich um vier um 90° zueinander verdrehte Quads, also eine Art viereckiger Zylinder. Sie sind Weiß. Sie sind am Austrittspunkt undurchsichtig, der Alphawert nimmt mit der Distanz zum Austrittsort linear ab, bis der Strahl völlig druchsichtig ist.
Um es auf den Punkt zu bringen: ein halbtransparenter "Kegel". Von außen gesehen ein Strahl. Wenn du die Kamera aber da reinbewegen willst, überleg dir was anderes.
- AP -
|
|
Aya 
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Mo 28.10.02 21:00
huhu,
mhh... wie mach ich denn bei einem einzigen Quad mehrere Transparenzen??? *grübel*
Au'reoir,
Aya
PS: @Andres.. schon was überlegt wegen meinem angebot? 
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Mo 28.10.02 21:07
1) Du kannst den Strahl ja auch durchgängig machen. Sieht halt doof aus
2) Du kannst viele, viele quads unterschiedlicher tranzparenzgrade erstellen (triviallösung...)
3) Ich habe eine Theorie: erstell eine 8Bit-SW-bitmap, die ober schwarz und untern weiß ist. Lade die bitmap, und zwar nicht als Gl_Rgb sondern als Gl_Alpha (Parameter bei glTexImage3D).
- AP -
|
|
Aya 
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Mo 28.10.02 21:11
achso.. ja klar.. mit ner AlphaTextur geht das..  (oder halt auch viieelee Quads *g*)
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Di 29.10.02 17:10
Sorry, ich war wohl gestern Geistesabwesend,
Natürlich brauchst du keine Alpha-Textur. Du gibst den beiden unteren koordinaten den Alphawert 1.0 (mit glColor) und den beiden oberen 0.0, dann wird der Wert linear verringert. Klar es geht auch mit 'ner Textur... nur viiiiiiiiiiiiiiiile umständlicher. Und natürlich kannst du genauso gut Dreiecke oder Polygone verwenden.
- AP -
|
|
Bountyhunter
      
Beiträge: 19
|
Verfasst: Mi 30.10.02 10:56
einen hab ich noch:
geh mal hier drauf:
nehe.gamedev.net/
und schau dir das tutorial 36 an (zu finden auf der rechten seite).
da geht es um radial blur, ich glaube das is genau das was du suchst.
is aber etwas kompliziert (naja, ich habs halt nicht verstanden).
ich hoffe das hilft
mfg
Bountyhunter
|
|