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

A subclass of ProcAddressEmitter with special OpenGL-specific configuration abilities. More...

Inheritance diagram for com.jogamp.gluegen.opengl.GLEmitter:
Collaboration diagram for com.jogamp.gluegen.opengl.GLEmitter:

Classes

enum  BufferObjectKind
 
class  ExtensionUnifier
 

Public Member Functions

void beginEmission (final GlueEmitterControls controls) throws IOException
 
boolean isBufferObjectMethodBinding (final MethodBinding binding)
 
void emitDefine (final ConstantDefinition def, final String optionalComment) throws Exception
 
int addExtensionsOfSymbols2Doc (StringBuilder buf, final String sep1, final String sep2, final String first)
 

Protected Member Functions

void renameExtensionsIntoCore ()
 
void renameExtensionsIntoCore (final GLConfiguration config, final BuildStaticGLInfo glInfo, final boolean isSemHeader)
 
JavaConfiguration createConfig ()
 
void mangleBinding (final MethodBinding binding)
 
List< MethodBinding > expandMethodBinding (final MethodBinding binding)
 In order to implement Buffer Object variants of certain functions we generate another MethodBinding which maps the void* argument to a Java long. More...
 
boolean needsModifiedEmitters (final FunctionSymbol sym)
 
void generateModifiedEmitters (final JavaMethodBindingEmitter baseJavaEmitter, final List< FunctionEmitter > emitters)
 
boolean needsBufferObjectVariant (final FunctionSymbol sym)
 
GLConfiguration getGLConfig ()
 
void endProcAddressTable () throws Exception
 

Detailed Description

A subclass of ProcAddressEmitter with special OpenGL-specific configuration abilities.

Definition at line 74 of file GLEmitter.java.

Member Function Documentation

◆ addExtensionsOfSymbols2Doc()

int com.jogamp.gluegen.opengl.GLEmitter.addExtensionsOfSymbols2Doc ( StringBuilder  buf,
final String  sep1,
final String  sep2,
final String  first 
)

Definition at line 457 of file GLEmitter.java.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ beginEmission()

void com.jogamp.gluegen.opengl.GLEmitter.beginEmission ( final GlueEmitterControls  controls) throws IOException

Definition at line 83 of file GLEmitter.java.

Here is the call graph for this function:

◆ createConfig()

JavaConfiguration com.jogamp.gluegen.opengl.GLEmitter.createConfig ( )
protected

Definition at line 260 of file GLEmitter.java.

◆ emitDefine()

void com.jogamp.gluegen.opengl.GLEmitter.emitDefine ( final ConstantDefinition  def,
final String  optionalComment 
) throws Exception

Definition at line 381 of file GLEmitter.java.

Here is the call graph for this function:

◆ endProcAddressTable()

void com.jogamp.gluegen.opengl.GLEmitter.endProcAddressTable ( ) throws Exception
protected

Definition at line 499 of file GLEmitter.java.

◆ expandMethodBinding()

List< MethodBinding > com.jogamp.gluegen.opengl.GLEmitter.expandMethodBinding ( final MethodBinding  binding)
protected

In order to implement Buffer Object variants of certain functions we generate another MethodBinding which maps the void* argument to a Java long.

The generation of emitters then takes place as usual. We do however need to keep track of the modified MethodBinding object so that we can also modify the emitters later to inform them that their argument has changed. We might want to push this functionality down into the MethodBinding (i.e., mutators for argument names). We also would need to inform the CMethodBindingEmitter that it is overloaded in this case (though we default to true currently).

Definition at line 289 of file GLEmitter.java.

Here is the call graph for this function:

◆ generateModifiedEmitters()

void com.jogamp.gluegen.opengl.GLEmitter.generateModifiedEmitters ( final JavaMethodBindingEmitter  baseJavaEmitter,
final List< FunctionEmitter >  emitters 
)
protected

Definition at line 472 of file GLEmitter.java.

◆ getGLConfig()

GLConfiguration com.jogamp.gluegen.opengl.GLEmitter.getGLConfig ( )
protected

Definition at line 491 of file GLEmitter.java.

Here is the caller graph for this function:

◆ isBufferObjectMethodBinding()

boolean com.jogamp.gluegen.opengl.GLEmitter.isBufferObjectMethodBinding ( final MethodBinding  binding)

Definition at line 376 of file GLEmitter.java.

Here is the caller graph for this function:

◆ mangleBinding()

void com.jogamp.gluegen.opengl.GLEmitter.mangleBinding ( final MethodBinding  binding)
protected

Implementation sets the binding's native name to it's interface name, which is the final aliased shortest name. The latter is used for the proc-address-table etc ..

Definition at line 273 of file GLEmitter.java.

◆ needsBufferObjectVariant()

boolean com.jogamp.gluegen.opengl.GLEmitter.needsBufferObjectVariant ( final FunctionSymbol  sym)
protected

Definition at line 487 of file GLEmitter.java.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ needsModifiedEmitters()

boolean com.jogamp.gluegen.opengl.GLEmitter.needsModifiedEmitters ( final FunctionSymbol  sym)
protected

Definition at line 365 of file GLEmitter.java.

Here is the call graph for this function:

◆ renameExtensionsIntoCore() [1/2]

void com.jogamp.gluegen.opengl.GLEmitter.renameExtensionsIntoCore ( )
protected

Definition at line 99 of file GLEmitter.java.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ renameExtensionsIntoCore() [2/2]

void com.jogamp.gluegen.opengl.GLEmitter.renameExtensionsIntoCore ( final GLConfiguration  config,
final BuildStaticGLInfo  glInfo,
final boolean  isSemHeader 
)
protected

Definition at line 104 of file GLEmitter.java.

Here is the call graph for this function:

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