Probleme mit Skysphere in Opengl

tdc

Bekanntes Mitglied
Hi!

In meinem 3D-Spiel habe ich schon vor einiger Zeit eine Skysphere (Skybox als Kugel) eingebaut. Keine Probleme macht es mir, auch Objekte dahinter zeichnen zu lassen, dafür reicht ja:
Java:
glDisable(GL_DEPTH_TEST);
...
//Skysphere wird gezeichnet
...
glEnable(GL_DEPTH_TEST);

Allerdings kamen heute 2 neue Probleme dazu:

1. Schatten auf Skysphere

Das Problem sollte nicht allzu groß sein. Ich arbeite ja mit Stencil-Buffer Schatten. (da hatte ich ja auch einige Probleme :D)
Vom Prinzip her müsste es ja eigentlich das gleiche sein, wie beim Depth-Buffer. Meine 2 Ansätze waren:
1.
Java:
glDisable(GL_DEPTH_TEST);
glDisable(GL_STENCIL_TEST);
...
glEnable(GL_STENCIL_TEST);
glEnable(GL_DEPTH_TEST);
Aber da kommt totaler Mist raus. Okay, als ich im Nachhinein nachgeschaut habe, wie ich die Schatten gemacht habe, ist es auch logisch, dass sowas rauskommt, da dann der Rest direkt in den Stencil-Buffer gezeichnet wird und somit als Schatten dargestellt wird.

2.
Java:
glDisable(GL_DEPTH_TEST);
glStencilMask(0);
...
glStencilMask(1);
glEnable(GL_DEPTH_TEST);
Sah zwar besser aus, allerdings wurden dann die Schatten nicht vollständig gezeichnet.

2. Antialiasing verursacht bläuliche Linien
Das viel wichtigere Problem ist, dass ich, wenn ich Antialiasing bei Linien mithilfe folgender Zeile einschalte:
Java:
glEnable(GL_LINE_SMOOTH);
haben die Linien, wenn ich den Himmel zeichnen lasse immer eine leicht bläuliche Färbung.
Wovon kommt das?

Anhang 1: mit Himmel, ohne Antialiasing
Anhang 2: mit Himmel, mit Antialiasing <--- Linien leicht bläulich
Anhang 3: ohne Himmel, mit Antialiasing

mfg tdc
 
G

Guest2

Gast
Moin,

also bei Problem 1 kann ich mir das aktuell noch nicht so richtig vorstellen...

bei Problem 2, GL_LINE_SMOOTH ist wahrscheinlich nicht das, was Du möchtest. ;)

GL_LINE_SMOOTH geht über den Alpha-Wert, nutzt die Blending-Einstellungen und funktioniert (wenn überhaupt) nur wenn der Tiefe nach sortiert gezeichnet wird.

Vermutlich suchst Du ehr was in Richtung FSAA. Das wird bei der Initialisierung gesetzt. Z.B. was in der Richtung von:

Java:
final PixelFormat pf = new PixelFormat().withSamples(4);
Display.setDisplayMode(new DisplayMode(width, height));
Display.setVSyncEnabled(true);
Display.create(pf);

Gruß,
Fancy
 

tdc

Bekanntes Mitglied
Wow! Danke Fancy... mal wieder. :D

Das erste Problem bezieht sich auf meinen oben Verlinkten Stencil-Buffer-Schatten. Das Prinzip haben wir dort ja bereits ausführlich durchgekaut:
Man muss das Schatten-Volumen in den Stencil-Buffer zeichnen und der Stencil-Buffer zeichnet den Schatten dann auf die Flächen, die das Schattenvolumen schneiden. Bei meiner Skysphere wird das jetzt leider auch gemacht, obwohl der Depth-Test beim zeichnen (der Skysphere) ausgeschaltet ist. Okay, sie befindet sich aber wohl noch immer im Depth-Buffer. Von daher ist es logisch, dass der Schatten auch auf ihr erscheint. Meine Frage war jetzt, wie ich das umgehen kann, sodass die Skysphere dabei vllt. ignoriert wird.
 
G

Guest2

Gast
Ja, das ist mir soweit klar. Was mich allerdings irritiert ist, dass Du oben was von Objekten zeichnen schreibst, die hinter der Skysphere liegen. Ich weiß, Galileo und so, aber die meisten Welten haben doch am Himmelsgewölbe ihr natürliches Ende. (Und zumindest bei OpenGL ist man auch froh drum ;))

Hat Deine Skysphere den eine Transparenz, sodass Du die Objekte dahinter zeichnen willst? Falls ja wird die Reihenfolge in dem die Objekte gezeichnet werden und was/wann in welchem Renderschritt gezeichnet wird schnell relevant. Das könnte möglicherweise sogar hässlich werden. (Z.B. wenn Objekte innerhalb und außerhalb sich gegenseitig beschatten (zwei Lichtquellen) und dazwischen dann das halb transparente Himmelsgewölbe liegt).

Wenn Du Deine Szene genauer beschreibst und auch wie die einzelnen Renderschritte ineinandergreifen, wird vielleicht ehr klar, wo das Problem genau liegt.

Viele Grüße,
Fancy
 

faustdonner

Mitglied
Hallo ich weiss es ist unangebracht hier aber könntest du mir bitte den Code senden für die Skysphere?^^ Ich habe wirklich keine Ahnung wie es geht.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Scaling Probleme Spiele- und Multimedia-Programmierung 6
J Probleme bei Pong Spiele- und Multimedia-Programmierung 9
D Java Bomberman Probleme java.lang.NullPointerException Spiele- und Multimedia-Programmierung 1
J YoutubeAPI Livestream probleme Spiele- und Multimedia-Programmierung 3
G [LibGDX] Button Klick Probleme Spiele- und Multimedia-Programmierung 1
T Probleme mit JButton Spiele- und Multimedia-Programmierung 5
T Probleme bei "Pixel-Fighting"-Spiel: Unausgewogene Mannschaften??? Spiele- und Multimedia-Programmierung 4
P Probleme mit VLCJ Spiele- und Multimedia-Programmierung 0
F Probleme bei der Soundwiedergabe Spiele- und Multimedia-Programmierung 0
S Probleme bei Breakout - Brick kollision Spiele- und Multimedia-Programmierung 2
S 2D-Render Probleme LWJGL 2 (Java) Spiele- und Multimedia-Programmierung 1
F BlueJ Ufospiel Probleme Spiele- und Multimedia-Programmierung 1
B Probleme mit AndEngine in Android Spiele- und Multimedia-Programmierung 1
M 2048, 3 kleine Probleme Spiele- und Multimedia-Programmierung 4
A Probleme mit Darstellung von Umgebungen mittels mehrdimensionaler Arrays Spiele- und Multimedia-Programmierung 8
J Java Game performance Probleme Spiele- und Multimedia-Programmierung 7
J Perfomance Probleme beim eigenen Editor Spiele- und Multimedia-Programmierung 1
K Probleme beim kompilieren von javakara Spiele- und Multimedia-Programmierung 10
Q LWJGL - Alpha-Probleme Spiele- und Multimedia-Programmierung 2
M Point & Click Thread Probleme Spiele- und Multimedia-Programmierung 20
K Probleme mit .jar Spiele- und Multimedia-Programmierung 12
L Probleme beim kompilieren von javakara Spiele- und Multimedia-Programmierung 3
D Probleme mit der Runnable jar Datei Spiele- und Multimedia-Programmierung 3
D Probleme mit objekt initializirung mit Mouselistener Spiele- und Multimedia-Programmierung 10
Black_ixx Hintergrund & Koordinaten Probleme Spiele- und Multimedia-Programmierung 2
B Probleme mit Texturen Spiele- und Multimedia-Programmierung 7
Maxim6394 Probleme bei Sidescroller Spiele- und Multimedia-Programmierung 5
R Probleme mit JPanel!KeyListener geht nicht Spiele- und Multimedia-Programmierung 6
Maxim6394 [Java3D] Probleme bei Kollision Spiele- und Multimedia-Programmierung 7
Maxim6394 [Java3D] Probleme mit KeyFrame Animationen Spiele- und Multimedia-Programmierung 9
B Probleme mit redraw() Spiele- und Multimedia-Programmierung 3
Gossi Quaxlis 2D Tutorial....Probleme nach hinzufügen der Kollisionsabfrage Spiele- und Multimedia-Programmierung 16
Gossi Probleme beim Laden der Images aus dem "Tutorial für Java-Spiele" Spiele- und Multimedia-Programmierung 4
S Probleme mit Tutorial Spiele- und Multimedia-Programmierung 3
T Probleme mit AffineTransform Spiele- und Multimedia-Programmierung 13
W Probleme mit Mouselook Spiele- und Multimedia-Programmierung 2
B GameGrid Probleme mit mehrere Actors Spiele- und Multimedia-Programmierung 5
B GameGrid Probleme mit mehrere Actors Spiele- und Multimedia-Programmierung 2
M [Spiel] Kartenspiel Leben und Tod Tips und Probleme Spiele- und Multimedia-Programmierung 7
G [Java3D] Probleme bei Animation Spiele- und Multimedia-Programmierung 4
S Probleme mit JMenu in einem JFrame mit BufferStrategy Spiele- und Multimedia-Programmierung 2
Steev Probleme mit Kameraausrichtung bei ISO-Map Spiele- und Multimedia-Programmierung 3
R MediaPlayer macht Probleme Spiele- und Multimedia-Programmierung 2
N Jogl Probleme mit dem Buffer beim laden einer Textur Spiele- und Multimedia-Programmierung 2
prakdi Probleme mit Quaxlis tutorial Spiele- und Multimedia-Programmierung 5
D Java Pong Probleme Spiele- und Multimedia-Programmierung 7
T Java Sound Probleme Spiele- und Multimedia-Programmierung 8
P probleme mit key event Spiele- und Multimedia-Programmierung 11
T Bekanntes Heli Spiel -> Aber Probleme damit Spiele- und Multimedia-Programmierung 30
S Probleme mit Thread beim Streaming Spiele- und Multimedia-Programmierung 1
O Ampel - Probleme mit der Farbgebung Spiele- und Multimedia-Programmierung 16
F Probleme bei Bewegung Spiele- und Multimedia-Programmierung 7
P Probleme mit Vista und JOGL Spiele- und Multimedia-Programmierung 2
P Probleme mit Wolkenbewegung Spiele- und Multimedia-Programmierung 5
W Probleme mit dem setTextureCoordinate Spiele- und Multimedia-Programmierung 3
D Probleme beim Download von GIF-Bildern Spiele- und Multimedia-Programmierung 4
S Probleme mit dem Licht und dem KeyListener Spiele- und Multimedia-Programmierung 2
L Probleme Bei Pong Programmierung Spiele- und Multimedia-Programmierung 2
D Probleme bei ATI Karten bekannt? Spiele- und Multimedia-Programmierung 4
H Probleme bei Rotation Spiele- und Multimedia-Programmierung 9
X Probleme. Spiele- und Multimedia-Programmierung 2
E Probleme mit Kollisionserkennung ! Spiele- und Multimedia-Programmierung 2
F Probleme mit selbsterstelltem transparenten PNG Spiele- und Multimedia-Programmierung 5
S probleme mit material Spiele- und Multimedia-Programmierung 2
W Probleme beim entfernen von Childs im HauptSceneGraph Spiele- und Multimedia-Programmierung 8
N Pong - noch 2 kleinere Probleme Spiele- und Multimedia-Programmierung 16
M Probleme mit WaveFront-Object - Datei Spiele- und Multimedia-Programmierung 7
B Probleme beim zeichnen Spiele- und Multimedia-Programmierung 15
D Gomoku --- Probleme bei Instanzierung Spiele- und Multimedia-Programmierung 2
G Probleme beim installieren java 3d linux Spiele- und Multimedia-Programmierung 4
G Sound Probleme Spiele- und Multimedia-Programmierung 2
S Probleme mit Canvas! Spiele- und Multimedia-Programmierung 2
S Jump'n'Run: Probleme mit Kollision Spiele- und Multimedia-Programmierung 13
C Probleme mit Java3D (sun.awt.DrawingSurface) in Java 5 Spiele- und Multimedia-Programmierung 10
R Probleme mit Sound in Applikation. HILFE Spiele- und Multimedia-Programmierung 5
N Probleme mit View Spiele- und Multimedia-Programmierung 3
F lwjgl - Skysphere Spiele- und Multimedia-Programmierung 3
temi OpenGL: Eine Kugel Spiele- und Multimedia-Programmierung 7
P Audio Visualizer mit OpenGL in Java? Spiele- und Multimedia-Programmierung 4
Z Vlcj in OpenGL Spiele- und Multimedia-Programmierung 4
coolian opengl von scale in breite und höhe konvertieren Spiele- und Multimedia-Programmierung 23
F OpenGL (LWJGL) Shader Programmierung GLSL Spiele- und Multimedia-Programmierung 2
K Messdaten in Echtzeit darstellen in OpenGL Spiele- und Multimedia-Programmierung 4
J OpenGL Bild wird nicht richtig angezeigt Spiele- und Multimedia-Programmierung 2
B LWJGL OpenGL SIGSEGV auf Linux (Verzweiflung :/) Spiele- und Multimedia-Programmierung 8
KeexZDeveoper Fehler von OpenGL Spiele- und Multimedia-Programmierung 1
Kim_Dotcom libGDX - opengl Fehler Spiele- und Multimedia-Programmierung 5
Streeber Problem mit Transparenz/TextDrawing in LWJGL/Slick2d (OpenGL) Spiele- und Multimedia-Programmierung 1
RalleYTN OpenGL Context im JFrame? Spiele- und Multimedia-Programmierung 0
L OpenGL TransformationMatrix eines Flugzeugs Spiele- und Multimedia-Programmierung 2
F OpenGL - Transparenz mit Depth Peeling Spiele- und Multimedia-Programmierung 0
turing OpenGL / Jogle Code Reveiw zur Performance Verbesserung Spiele- und Multimedia-Programmierung 1
K LibGdx, Loadingscreen & Opengl context Spiele- und Multimedia-Programmierung 3
turing OpenGL VBO and Unfiform Handling Spiele- und Multimedia-Programmierung 1
B LWJGL / OPENGL Kriege Depth-Test nicht hin :( Spiele- und Multimedia-Programmierung 0
T opengl und Android.... Spiele- und Multimedia-Programmierung 3
D [OpenGL] Spiel in der Art von Age of Empires Spiele- und Multimedia-Programmierung 4
R LWJGL: OpenGL Fehler - weitere Informationen auslesen möglich? Spiele- und Multimedia-Programmierung 2
T Welche OpenGL-Version soll ich verwenden? Spiele- und Multimedia-Programmierung 2
O OpenGL - Texture falsch herum Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Neue Themen


Oben