|
JOGL v2.6.0-rc-20250712
JOGL, High-Performance Graphics Binding for Java (public API).
|
Classes | |
| class | TimeShiftKeys |
Public Member Functions | |
| String | getBaseRoutineClassName () |
| boolean | preferMultiSampling () |
| int | getNumberOfSamplingBuffers () |
| boolean | preferAnisotropicFiltering () |
| float | getAnisotropyLevel () |
| boolean | wantsFrameCapture () |
| int | getDesiredFramerate () |
| boolean | wantsFrameSkip () |
| boolean | usesFullScreenMode () |
| ElektronenMultiplizierer (final String inBaseRoutineClassName, final boolean inMultiSampling, final int inNumberOfSampleBuffers, final boolean inAnisotropicFiltering, final float inAnisotropyLevel, final boolean inFrameCapture, final boolean inFrameSkip, final int desiredFrameRate, final int startFrame) | |
| ElektronenMultiplizierer () | |
| void | skipFrames (final int frames) |
| skip frames by turning back start time More... | |
| GLCapabilitiesImmutable | getGLCapabilities () |
| void | init (final GLAutoDrawable drawable) |
| Called by the drawable immediately after the OpenGL context is initialized. More... | |
| void | display (final GLAutoDrawable drawable) |
| Called by the drawable to initiate OpenGL rendering by the client. More... | |
| void | reshape (final GLAutoDrawable drawable, final int x, final int y, final int width, final int height) |
| Called by the drawable during the first repaint after the component has been resized. More... | |
| void | dispose (final GLAutoDrawable drawable) |
| Notifies the listener to perform the release of all OpenGL resources per GLContext, such as memory buffers and GLSL programs. More... | |
| void | resetFrameCounter () |
| void | handleSyncEvent (final int inMMTime_u_ms) |
| void | init (GLAutoDrawable drawable) |
| Called by the drawable immediately after the OpenGL context is initialized. More... | |
| void | dispose (GLAutoDrawable drawable) |
| Notifies the listener to perform the release of all OpenGL resources per GLContext, such as memory buffers and GLSL programs. More... | |
| void | display (GLAutoDrawable drawable) |
| Called by the drawable to initiate OpenGL rendering by the client. More... | |
| void | reshape (GLAutoDrawable drawable, int x, int y, int width, int height) |
| Called by the drawable during the first repaint after the component has been resized. More... | |
Protected Attributes | |
| int | mFrameBufferTextureID |
| int | mFrameBufferObjectID |
| int | mSyncTime |
| int | mSyncEventNumber |
| float | mEffectTime |
| int | mEffectNumber |
| int | mEffectSyncTime |
| boolean | mSyncEvent_01 |
| boolean | mSyncEvent_02 |
| boolean | mSyncEvent_03 |
| boolean | mSyncEvent_04 |
| boolean | mSyncEvent_05 |
| boolean | mSyncEvent_06 |
| boolean | mSyncEvent_07 |
| boolean | mSyncEvent_08 |
__ __|_ ___________________________________________________________________________ ___|__ __ // /\ _ /\ \ //____/ __ __ _____ _____ _____ _____ _____ | | __ _____ _____ __ __/ ____\ \ \ / / __| | | __| _ | | _ | | | __| | | __| | /\ \ / / ____\/_/ | | | | | | | | | | | __| | | | | | | | | | |__ " _\/____/ /\ \ |_____|_____|_____|__|__|_|_|_|__| | | |_____|_____|_____|_____| _ / /\ / ____\ http://jogamp.org |_| /____/ \ \ / "' _________________________________________________________________________ `" \ / \/____. .____\/
JOGL2 port of my PC 4k intro competition entry for Revision 2011. Sure it got a little bigger while porting but the shader and control code remained more or less untouched. The intro renders a fullscreen billboard using a single fragment shader. The shader encapsulates basically two different routines: A sphere-tracing based raymarcher for a single fractal formula and a bitmap orbit trap julia+mandelbrot fractal renderer. Additionally an inline-processing analog-distortion filter is applied to all rendered fragments to make the overall look more interesting.
The different intro parts are all parameter variations of the two routines in the fragment shader synched to the music: Parts 3+5 are obviously the mandelbrot and julia bitmap orbit traps, and parts 1,2,4 and 6 are pure fractal sphere tracing.
During the development of the intro it turned out that perfectly raymarching every pixel of the orbit trapped julia+mandelbrot fractal was way to slow even on highend hardware. So I inserted a lowres intermediate FBO to be used by the bitmap based orbit trap routine wich was ofcourse way faster, but had the obvious upscaling artefacts. Maybe I'll produce a perfect quality version for very patient people with insane hardware :)
Papers and articles you should be familiar with before trying to understand the code:
http://www.youtube.com/user/DemoscenePassivist
Definition at line 120 of file ElektronenMultiplizierer.java.
| com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.ElektronenMultiplizierer | ( | final String | inBaseRoutineClassName, |
| final boolean | inMultiSampling, | ||
| final int | inNumberOfSampleBuffers, | ||
| final boolean | inAnisotropicFiltering, | ||
| final float | inAnisotropyLevel, | ||
| final boolean | inFrameCapture, | ||
| final boolean | inFrameSkip, | ||
| final int | desiredFrameRate, | ||
| final int | startFrame | ||
| ) |
Definition at line 173 of file ElektronenMultiplizierer.java.
| com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.ElektronenMultiplizierer | ( | ) |
Definition at line 210 of file ElektronenMultiplizierer.java.
| void com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.display | ( | final GLAutoDrawable | drawable | ) |
Called by the drawable to initiate OpenGL rendering by the client.
After all GLEventListeners have been notified of a display event, the drawable will swap its buffers if setAutoSwapBufferMode is enabled.
Implements com.jogamp.opengl.GLEventListener.
Definition at line 322 of file ElektronenMultiplizierer.java.
| void com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.dispose | ( | final GLAutoDrawable | drawable | ) |
Notifies the listener to perform the release of all OpenGL resources per GLContext, such as memory buffers and GLSL programs.
Called by the drawable before the OpenGL context is destroyed by an external event, like a reconfiguration of the GLAutoDrawable closing an attached window, but also manually by calling destroy.
Note that this event does not imply the end of life of the application. It could be produced with a followup call to init(GLAutoDrawable) in case the GLContext has been recreated, e.g. due to a pixel configuration change in a multihead environment.
Implements com.jogamp.opengl.GLEventListener.
Definition at line 502 of file ElektronenMultiplizierer.java.
| float com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.getAnisotropyLevel | ( | ) |
Definition at line 155 of file ElektronenMultiplizierer.java.
| String com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.getBaseRoutineClassName | ( | ) |
Definition at line 151 of file ElektronenMultiplizierer.java.
| int com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.getDesiredFramerate | ( | ) |
Definition at line 157 of file ElektronenMultiplizierer.java.
| GLCapabilitiesImmutable com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.getGLCapabilities | ( | ) |
Definition at line 224 of file ElektronenMultiplizierer.java.
| int com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.getNumberOfSamplingBuffers | ( | ) |
Definition at line 153 of file ElektronenMultiplizierer.java.
| void com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.handleSyncEvent | ( | final int | inMMTime_u_ms | ) |
Definition at line 540 of file ElektronenMultiplizierer.java.
| void com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.init | ( | final GLAutoDrawable | drawable | ) |
Called by the drawable immediately after the OpenGL context is initialized.
Can be used to perform one-time OpenGL initialization per GLContext, such as setup of lights and display lists.
Note that this method may be called more than once if the underlying OpenGL context for the GLAutoDrawable is destroyed and recreated, for example if a GLCanvas is removed from the widget hierarchy and later added again.
Implements com.jogamp.opengl.GLEventListener.
Definition at line 229 of file ElektronenMultiplizierer.java.
| boolean com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.preferAnisotropicFiltering | ( | ) |
Definition at line 154 of file ElektronenMultiplizierer.java.
| boolean com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.preferMultiSampling | ( | ) |
Definition at line 152 of file ElektronenMultiplizierer.java.
| void com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.resetFrameCounter | ( | ) |
Definition at line 517 of file ElektronenMultiplizierer.java.
| void com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.reshape | ( | final GLAutoDrawable | drawable, |
| final int | x, | ||
| final int | y, | ||
| final int | width, | ||
| final int | height | ||
| ) |
Called by the drawable during the first repaint after the component has been resized.
The client can update it's viewport associated data and view volume of the window appropriately.
For efficiency the GL viewport has already been updated via glViewport(x, y, width, height) when this method is called.
| drawable | the triggering GLAutoDrawable |
| x | lower left corner of the viewport rectangle in pixel units |
| y | lower left corner of the viewport rectangle in pixel units |
| width | width of the viewport rectangle in pixel units |
| height | height of the viewport rectangle in pixel units |
Implements com.jogamp.opengl.GLEventListener.
Definition at line 478 of file ElektronenMultiplizierer.java.
| void com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.skipFrames | ( | final int | frames | ) |
skip frames by turning back start time
| frames | positive or negative values |
Definition at line 218 of file ElektronenMultiplizierer.java.
| boolean com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.usesFullScreenMode | ( | ) |
Definition at line 159 of file ElektronenMultiplizierer.java.
| boolean com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.wantsFrameCapture | ( | ) |
Definition at line 156 of file ElektronenMultiplizierer.java.
| boolean com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.wantsFrameSkip | ( | ) |
Definition at line 158 of file ElektronenMultiplizierer.java.
|
protected |
Definition at line 528 of file ElektronenMultiplizierer.java.
|
protected |
Definition at line 529 of file ElektronenMultiplizierer.java.
|
protected |
Definition at line 527 of file ElektronenMultiplizierer.java.
|
protected |
Definition at line 524 of file ElektronenMultiplizierer.java.
|
protected |
Definition at line 523 of file ElektronenMultiplizierer.java.
|
protected |
Definition at line 531 of file ElektronenMultiplizierer.java.
|
protected |
Definition at line 532 of file ElektronenMultiplizierer.java.
|
protected |
Definition at line 533 of file ElektronenMultiplizierer.java.
|
protected |
Definition at line 534 of file ElektronenMultiplizierer.java.
|
protected |
Definition at line 535 of file ElektronenMultiplizierer.java.
|
protected |
Definition at line 536 of file ElektronenMultiplizierer.java.
|
protected |
Definition at line 537 of file ElektronenMultiplizierer.java.
|
protected |
Definition at line 538 of file ElektronenMultiplizierer.java.
|
protected |
Definition at line 526 of file ElektronenMultiplizierer.java.
|
protected |
Definition at line 525 of file ElektronenMultiplizierer.java.