summaryrefslogtreecommitdiffstats
path: root/make/config/jogl/gl-gl3bc.cfg
blob: d2525735e7aba4fe28763b1664234dbdba192ef1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# This .cfg file is used to generate the GL interface and implementing class.
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/gl3

ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES1.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2GL3.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL3.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLMatrixFunc.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLPointerFunc.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLLightingFunc.java

Package javax.media.opengl
Style InterfaceAndImpl
JavaClass GL3bc
Extends GL3bc GLBase
Extends GL3bc GL
Extends GL3bc GL2ES1
Extends GL3bc GL2ES2
Extends GL3bc GL2GL3
Extends GL3bc GL2
Extends GL3bc GL3
ImplPackage com.sun.opengl.impl.gl3
ImplJavaClass GL3bcImpl
Implements GL3bcImpl GLBase
Implements GL3bcImpl GL
Implements GL3bcImpl GL2ES1
Implements GL3bcImpl GL2ES2
Implements GL3bcImpl GL2GL3
Implements GL3bcImpl GL2
Implements GL3bcImpl GL3

Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg
Include gl3-common.cfg
Include gl3-desktop.cfg

# Because we're manually implementing glMapBuffer but only producing
# the implementing class, GlueGen doesn't notice that it has to emit a
# proc address table entry for it. Force it to here.
ForceProcAddressGen glMapBuffer

# Force all of the methods to be emitted using dynamic linking so we
# don't need to link against any emulation library on the desktop or
# depend on the presence of an import library for a particular device
ForceProcAddressGen __ALL__

# Also force the calling conventions of the locally generated function
# pointer typedefs for these routines to APIENTRY
LocalProcAddressCallingConvention __ALL__ APIENTRY

EmitProcAddressTable true
ProcAddressTableClassName GL3bcProcAddressTable
GetProcAddressTableExpr ((GL3bcProcAddressTable)_context.getGLProcAddressTable())

# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums
TagNativeBinding true

# Ignore extensions that are already picked up via the GL2ES1 interface
IgnoreExtension GL_EXT_point_parameters

# Add PixelStorei StateTracker
CustomJavaCode GL3bcImpl private static final int params_offset = 0; // just a helper for JavaPrologue ..

JavaPrologue glPixelStorei glStateTracker.setInt(pname, param);

JavaPrologue glGetIntegerv if ( glStateTracker.getInt(pname, params, params_offset) ) { return; }

CustomJavaCode GL3bcImpl public void glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar) {
CustomJavaCode GL3bcImpl   glFrustum((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); }

CustomJavaCode GL3bcImpl public void glOrthof(float left, float right, float bottom, float top, float zNear, float zFar) {
CustomJavaCode GL3bcImpl   glOrtho((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); }

CustomJavaCode GL3bcImpl public void glClearDepthf(float depth) {
CustomJavaCode GL3bcImpl   glClearDepth((double)depth); }

CustomJavaCode GL3bcImpl public void glDepthRangef(float zNear, float zFar) {
CustomJavaCode GL3bcImpl    glDepthRange((double)zNear, (double)zFar); }

Include gl-headers.cfg
Include ../intptr.cfg

IncludeAs CustomJavaCode GL3bcImpl gl-impl-CustomJavaCode-common.java
IncludeAs CustomJavaCode GL3bcImpl gl-impl-CustomJavaCode-gl3bc.java
IncludeAs CustomJavaCode GL3bcImpl gl-impl-CustomJavaCode-desktop.java
IncludeAs CustomJavaCode GL3bcImpl gl-impl-CustomJavaCode-gl2_es2.java
IncludeAs CustomCCode gl-impl-CustomCCode-gl3bc.c

Import javax.media.opengl.GLES1
Import javax.media.opengl.GLES2
Import javax.media.opengl.GL2GL3
Import javax.media.opengl.GL2
Import javax.media.opengl.GL3
Import javax.media.opengl.GL3bc
Import com.sun.opengl.impl.InternalBufferUtil
Import java.io.PrintStream