public class GLPipelineFactory extends Object
Modifier and Type | Field and Description |
---|---|
static boolean |
DEBUG |
Constructor and Description |
---|
GLPipelineFactory() |
Modifier and Type | Method and Description |
---|---|
static GL |
create(String pipelineClazzBaseName,
Class<?> reqInterface,
GL downstream,
Object[] additionalArgs)
Creates a pipelined GL instance using the given downstream
downstream
and optional arguments additionalArgs for the constructor. |
public static final GL create(String pipelineClazzBaseName, Class<?> reqInterface, GL downstream, Object[] additionalArgs)
downstream
and optional arguments additionalArgs
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:
pipelineClazzBaseName
as the class name's full basename, incl. package namedownstream
class and it's superclasses, do:downstream
class and superclass interfaces, do:reqInterface
is not null and the interface is unequal, continue loop.downstream
is not instance of interface, continue loop.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 constructorCopyright 2010 JogAmp Community.