Package org.jzy3d.plot3d.rendering.ddp
Class DepthPeelingRenderer3d
java.lang.Object
org.jzy3d.plot3d.rendering.view.Renderer3d
org.jzy3d.plot3d.rendering.view.AWTRenderer3d
org.jzy3d.plot3d.rendering.ddp.DepthPeelingRenderer3d
- All Implemented Interfaces:
com.jogamp.opengl.GLEventListener,EventListener
Execute depth peeling methods in a Jzy3d
Renderer3d
This feature is based on Order Independent Transparency algorithms published by Louis Bavoil
(NVIDIA Corporation).
The renderer support 4 methods:
- Dual depth peeling (accurate)
- Front to back peeling (accurate)
- Weighted average peeling (fast)
- Weighted sum peeling (fast)
- Author:
- Louis Bavoil - original paper and C++ code, Martin Pernollet - port to Jzy3d
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected IDepthPeelingAlgorithmprotected com.jogamp.opengl.glu.GLUprotected org.apache.logging.log4j.LoggerFields inherited from class org.jzy3d.plot3d.rendering.view.AWTRenderer3d
bufferedImage, exporter, screenshotMakerFields inherited from class org.jzy3d.plot3d.rendering.view.Renderer3d
debugGL, doScreenshotAtNextDisplay, height, image, lastRenderingTimeMs, profileDisplayTimer, traceGL, view, width -
Constructor Summary
ConstructorsConstructorDescriptionDepthPeelingRenderer3d(PeelingMethod algorithm, View view, boolean traceGL, boolean debugGL) DepthPeelingRenderer3d(View view, boolean traceGL, boolean debugGL) -
Method Summary
Modifier and TypeMethodDescriptionvoiddisplay(com.jogamp.opengl.GLAutoDrawable drawable) Called when theGLAutoDrawablerequires a rendering.voiddispose(com.jogamp.opengl.GLAutoDrawable drawable) static IDepthPeelingAlgorithmstatic IGLRenderervoidinit(com.jogamp.opengl.GLAutoDrawable drawable) Called when theGLAutoDrawableis rendered for the first time.voidreshape(com.jogamp.opengl.GLAutoDrawable drawable, int x, int y, int width, int height) Rebuild all depth peeling buffers for the new screen size.Methods inherited from class org.jzy3d.plot3d.rendering.view.AWTRenderer3d
exportImageIfRequired, getExporter, getLastScreenshotImage, renderScreenshotIfRequired, setExporterMethods inherited from class org.jzy3d.plot3d.rendering.view.Renderer3d
getHeight, getLastRenderingTimeMs, getLastScreenshot, getWidth, nextDisplayUpdateScreenshot, updatePainterWithGL
-
Field Details
-
LOGGER
protected org.apache.logging.log4j.Logger LOGGER -
dualPeelingAlgorithm
-
glu
protected com.jogamp.opengl.glu.GLU glu
-
-
Constructor Details
-
DepthPeelingRenderer3d
-
DepthPeelingRenderer3d
-
-
Method Details
-
init
public void init(com.jogamp.opengl.GLAutoDrawable drawable) Description copied from class:Renderer3dCalled when theGLAutoDrawableis rendered for the first time. When one calls Scene.init() function, this function is called and makes the OpenGL buffers initialization. Note: in this implementation, GL Exceptions are not triggered. To do so, make te following call at the beginning of the init() body:canvas.setGL( new DebugGL(canvas.getGL()) );- Specified by:
initin interfacecom.jogamp.opengl.GLEventListener- Overrides:
initin classRenderer3d
-
display
public void display(com.jogamp.opengl.GLAutoDrawable drawable) Description copied from class:Renderer3dCalled when theGLAutoDrawablerequires a rendering. All call to rendering methods should appear here.- Specified by:
displayin interfacecom.jogamp.opengl.GLEventListener- Overrides:
displayin classRenderer3d
-
getDepthPeelingContentRenderer
-
reshape
public void reshape(com.jogamp.opengl.GLAutoDrawable drawable, int x, int y, int width, int height) Rebuild all depth peeling buffers for the new screen size.- Specified by:
reshapein interfacecom.jogamp.opengl.GLEventListener- Overrides:
reshapein classRenderer3d
-
dispose
public void dispose(com.jogamp.opengl.GLAutoDrawable drawable) - Specified by:
disposein interfacecom.jogamp.opengl.GLEventListener- Overrides:
disposein classRenderer3d
-
getDepthPeelingAlgorithm
-