Package com.jogamp.opengl
Class GLPipelineFactory
- java.lang.Object
-
- com.jogamp.opengl.GLPipelineFactory
-
public class GLPipelineFactory extends Object
Factory for pipelining GL instances
-
-
Field Summary
Fields Modifier and Type Field Description static boolean
DEBUG
-
Constructor Summary
Constructors Constructor Description GLPipelineFactory()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static GL
create(String pipelineClazzBaseName, Class<?> reqInterface, GL downstream, Object[] additionalArgs)
Creates a pipelined GL instance using the given downstreamdownstream
and optional argumentsadditionalArgs
for the constructor.
-
-
-
Method Detail
-
create
public static final GL create(String pipelineClazzBaseName, Class<?> reqInterface, GL downstream, Object[] additionalArgs)
Creates a pipelined GL instance using the given downstreamdownstream
and optional argumentsadditionalArgs
for the constructor.Sample code which installs a Debug and Trace pipeline automatic w/ user defined interface, here: GL2ES2:
gl = drawable.setGL( GLPipelineFactory.create("com.jogamp.opengl.Debug", GL2ES2.class, gl, null) ); gl = drawable.setGL( GLPipelineFactory.create("com.jogamp.opengl.Trace", GL2ES2.class, gl, new Object[] { System.err } ) );
or automatic w/ automatic defined class:gl = drawable.setGL( GLPipelineFactory.create("com.jogamp.opengl.Debug", null, gl, null) ); gl = drawable.setGL( GLPipelineFactory.create("com.jogamp.opengl.Trace", null, gl, new Object[] { System.err } ) );
The upstream GL instance is determined as follows:
- Use
pipelineClazzBaseName
as the class name's full basename, incl. package name - For the
downstream
class and it's superclasses, do: - For all
downstream
class and superclass interfaces, do: - If
reqInterface
is not null and the interface is unequal, continue loop. - If
downstream
is not instance of interface, continue loop. - If upstream class is available use it, end loop.
- Parameters:
pipelineClazzBaseName
- the basename of the pipline class namereqInterface
- optional requested interface to be used, may be null, in which case the first matching one is useddownstream
- is always the 1st argument for the upstream constructoradditionalArgs
- additional arguments for the upstream constructor
- Use
-
-