Art, code and miscellaneous experiments from Demoscene Passivist related in some way to JOGL. For more take a look at www.jogamp.org
After porting my fixed function pipeline volume rendering it was time to move on and implement real volume raycasting to overcome the bugs of the old implementation. Currently it’s only a very basic, quite unoptimized straight forward implementation (using threshold based early termination on fragment alpha saturation as the only optimzation). Maybe I should at least consider some of these techniques for an improved version, as the current implementation only runs @~15fps on my lowend 8800M GTX. Source as always on github: cube backface position shaders: .vs .fs and the real volume raycasting shaders: .vs .fs and last but not least the JOGL setup and initialization code: GL3_VolumetricRaycasting_VolumeTexture.java
Ported my first experiments in GPU based particle systems to JOGL2. The routine consist only of a single vertex shader implementing a simple stateless particle system. Setup and initialization code: GL3_BasicParticleSystem.java. The corresponding vertex shader: .vs
A more complicated JOGL2 port: “Parallax Occlusion Mapping”. Using multiple texture units for diffuse, specular-, normal- and displacement-map. Also shows quite nice vertex->fragment shader interaction and on-the-fly tangent and bitangent generation (need for the tangent-space-normal map). Java Code: GL3_ParallaxOcclusionMapping.java. Shader code: .vs .fs
JOGL2 routine simulating refraction (and reflection) using GLSL. Takes fresnels term into account to allow a view dependant blend of reflection/refraction. Code on Github: GL3_Refraction.java. Shader code: .vs .fs
Ported another GLSL routine to JOGL2. This time a couple of simple lighting vertex shaders implementing flat-, diffuse- and specular-(phong)-lighting with multiple lightsources. Github: GL2_BasicVertexShading.java. The code for the four vertex shaders can be found here: basiclightingshaders/
NIGHTNIGHT by DEDDY