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
public class DepthPeelingRenderer3d extends AWTRenderer3d
Execute depth peeling methods in a Jzy3dRenderer3dThis 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
Fields Modifier and Type Field Description protected IDepthPeelingAlgorithmdualPeelingAlgorithmprotected com.jogamp.opengl.glu.GLUgluprotected org.apache.logging.log4j.LoggerLOGGER-
Fields inherited from class org.jzy3d.plot3d.rendering.view.AWTRenderer3d
bufferedImage
-
Fields inherited from class org.jzy3d.plot3d.rendering.view.Renderer3d
debugGL, doScreenshotAtNextDisplay, height, image, lastRenderingTimeMs, profileDisplayTimer, traceGL, view, width
-
-
Constructor Summary
Constructors Constructor Description DepthPeelingRenderer3d(PeelingMethod algorithm, View view, boolean traceGL, boolean debugGL)DepthPeelingRenderer3d(View view, boolean traceGL, boolean debugGL)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddisplay(com.jogamp.opengl.GLAutoDrawable drawable)Called when theGLAutoDrawablerequires a rendering.voiddispose(com.jogamp.opengl.GLAutoDrawable drawable)static IDepthPeelingAlgorithmgetDepthPeelingAlgorithm(PeelingMethod method)static IGLRenderergetDepthPeelingContentRenderer(View view)voidinit(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
getLastScreenshotImage, renderScreenshotIfRequired
-
Methods inherited from class org.jzy3d.plot3d.rendering.view.Renderer3d
getHeight, getLastRenderingTimeMs, getLastScreenshot, getWidth, nextDisplayUpdateScreenshot, updatePainterWithGL
-
-
-
-
Field Detail
-
LOGGER
protected org.apache.logging.log4j.Logger LOGGER
-
dualPeelingAlgorithm
protected IDepthPeelingAlgorithm dualPeelingAlgorithm
-
glu
protected com.jogamp.opengl.glu.GLU glu
-
-
Constructor Detail
-
DepthPeelingRenderer3d
public DepthPeelingRenderer3d(View view, boolean traceGL, boolean debugGL)
-
DepthPeelingRenderer3d
public DepthPeelingRenderer3d(PeelingMethod algorithm, View view, boolean traceGL, boolean debugGL)
-
-
Method Detail
-
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
public static IGLRenderer getDepthPeelingContentRenderer(View view)
-
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
public static IDepthPeelingAlgorithm getDepthPeelingAlgorithm(PeelingMethod method)
-
-