JOGL v2.6.0-rc-20250706
JOGL, High-Performance Graphics Binding for Java™ (public API).
com.jogamp.opengl.GLPipelineFactory Class Reference

Factory for pipelining GL instances. More...

Collaboration diagram for com.jogamp.opengl.GLPipelineFactory:

Static Public Member Functions

static final GL create (final String pipelineClazzBaseName, final Class<?> reqInterface, final GL downstream, final Object[] additionalArgs)
 Creates a pipelined GL instance using the given downstream downstream and optional arguments additionalArgs for the constructor. More...
 

Static Public Attributes

static final boolean DEBUG = Debug.debug("GLPipelineFactory")
 

Detailed Description

Factory for pipelining GL instances.

Definition at line 49 of file GLPipelineFactory.java.

Member Function Documentation

◆ create()

static final GL com.jogamp.opengl.GLPipelineFactory.create ( final String  pipelineClazzBaseName,
final Class<?>  reqInterface,
final GL  downstream,
final Object[]  additionalArgs 
)
static

Creates a pipelined GL instance using the given downstream 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:

  • 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
pipelineClazzBaseNamethe basename of the pipline class name
reqInterfaceoptional requested interface to be used, may be null, in which case the first matching one is used
downstreamis always the 1st argument for the upstream constructor
additionalArgsadditional arguments for the upstream constructor

Definition at line 91 of file GLPipelineFactory.java.

Here is the caller graph for this function:

Member Data Documentation

◆ DEBUG

final boolean com.jogamp.opengl.GLPipelineFactory.DEBUG = Debug.debug("GLPipelineFactory")
static

Definition at line 50 of file GLPipelineFactory.java.


The documentation for this class was generated from the following file: