Beschränkung der Anzahl von Lichtern

Status
Nicht offen für weitere Antworten.

Imm0|82

Mitglied
Hi..

ich hab n kleines Problem.
Ich hoff jemand von euch kann mir da helfen, wenn es überhaupt hilfe gibt!

Ich hab grad rausgefunden, dass Java3d die Anzahl der aktiven Lichter beschränkt!
Sobald ein Objekt von mehr als 8 lichtern beleuchtet wird, ist die Anzahl der Lichter beschränkt!
Gibt es irgendeine Möglichkeit die Beschränkung aufzheben??
Bitte um schnelle Hilfe.
Abgabe am Freitag!

Danke schonmal fürs lesen.
Gruß Imm0


Limit on the Number of Lights
The second limitation demonstrated in ConcentrationApp is not seen in the rendering. The plane in
ConcentrationApp is really four plane objects next to each other. This was done to overcome a potential
limitation of underlying rendering system. The OpenGL specification only requires support for eight
simultaneous light sources6. If the plane in ConcentrationApp were one visual object, then OpenGL would
limit the number of lights to eight for some machines.
Using the influencing bounds to pick only the relevant light sources for a visual object, Java 3D
dynamically creates light specifications for lights as visual objects are rendered. As long as no single
object is lit by more than eight lights, Java 3D programs are not limited in the number of lights in a virtual
world.

Nachzulesen unter:
http://java.sun.com/developer/onlineTraining/java3d/j3d_tutorial_ch6.pdf
 

FatFire

Bekanntes Mitglied
Imm0|82 hat gesagt.:
Gibt es irgendeine Möglichkeit die Beschränkung aufzheben??

Kurz und schmerzvoll: NEIN.
Diese Beschränkung ist durch OpenGL vorgegeben und kann nicht umgangen werden (steht aber auch in dem von Dir zitierten Text). Das heißt aber nur, wie Du schon völlig richtig erkannt hast, daß nur "ein" Objekt auf einmal von 8 Lichtquellen beschienen werden kann (und damit kannst Du schon verdammt realistische Szenen machen). Du mußt auch bedenken, daß jede Lichtquelle einen erhöhten Rechenaufwand bedeutet, OpenGL ist in dem Punkt deutlich auf Geschwindigkeit getrimmt, deswegen auch diese (durchaus sinnvolle) Beschränkung.

Ach, und ganz nebenbei: die meisten Grafikkarten sind (architekturbedingt) auch nicht auf viel mehr Lichtquellen als diese acht getrimmt.

(sollte ich hier ganz großen Dünnpfiff labern, so kann man mich ja ruhig mal anmaulen :meld: , immer noch besser als wenn keiner was schreibt)
 

Imm0|82

Mitglied
Danke..
seh ich übrigens genauso! Besser als wenn garniemand was schreibt! ;)

Es geht uns (StudentenProjekt) auch nicht um Realismus, sondern um "Kunst".
Wir haben ein Applet geschrieben, dass es ermöglicht mit bewegten Lichtern verschiedene Schatteneffekte zu erzeugen. (z.B. 2 lichter die um einen Zylinder kreisen ergeben einen Effekt der Uhrzeigern ähnelt usw.).
Als inspiration hierfür diente der Kurzfilm "Barcode" von Adrian Lokman.

Auf der selben Basis haben wir dann noch ein 2Spieler 4 Gewinnt geschrieben.
Aber 4 gewinnt mit nur 4 Lichtern pro Spieler ist irgendwie öde :)

Naja, dank dir.
Damit hat sich das dann wohl erledigt.

Gruß
Imm0
 

FatFire

Bekanntes Mitglied
Hmmm...müssen das unbedingt Lichtquellen sein? Schonmal versucht eine Kugel mit starker Emissivfarbe und einer gewissen Transparenz zu generieren? Ich hab es noch nicht ausprobiert (aus Mangel an Zeit kann ich das momentan nicht selbst testen, naja, auch Student, kennst das vielleicht), aber das könnte vielleicht auch einen ähnlich schönen Effekt ergeben (garantieren kann ich es nicht, in C4D klappt sowas ganz gut, aber die Verfahren sind ja auch völlig andere, vielleicht gibt es ja irgendwann mal Echtzeit-Renderer, solange willst Du aber bestimmt auch nicht studieren :shock: ).
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben