summaryrefslogtreecommitdiffstats
path: root/make/config/jogl/gl-es1.cfg
blob: 1488c18e6d66b8eccf0954675e2ff96d396c1cee (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/es1

ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES1.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

# There are a few routines we don't handle yet
Ignore glGetBufferPointervOES
Package javax.media.opengl
Style InterfaceAndImpl
JavaClass GLES1
#Extends GLES1 GLBase
#Extends GLES1 GL
Extends GLES1 GL2ES1
ImplPackage jogamp.opengl.es1
ImplJavaClass GLES1Impl
Implements GLES1Impl GLBase
Implements GLES1Impl GL
Implements GLES1Impl GL2ES1
HierarchicalNativeOutput false
Include gl-common.cfg
Include gl-common-extensions.cfg

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

# Inform the glue code generator of the association between #defines
# and functions and the extensions in which they are defined
GLHeader GLES/gl.h
GLHeader GLES/glext.h
GLHeader GL/gl.h
GLHeader GL/glext.h

# 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 GL_APIENTRY
LocalProcAddressCallingConvention __ALL__ GL_APIENTRY

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

# Ignore certain extensions that will be picked up by the dynamic
# lookup mechanism anyway if they are present
IgnoreExtension GL_OES_fixed_point
IgnoreExtension GL_OES_single_precision

# Add PixelStorei StateTracker
#
# Add input validation to glPixelStorei, just to be sure.
CustomJavaCode GLES1Impl private static final int params_offset = 0; // just a helper for JavaPrologue ..

JavaPrologue glPixelStorei if (pname != GL_PACK_ALIGNMENT && pname != GL_UNPACK_ALIGNMENT) {
JavaPrologue glPixelStorei     throw new GLException("Unsupported pixel store parameter name 0x" + Integer.toHexString(pname));
JavaPrologue glPixelStorei }
JavaPrologue glPixelStorei glStateTracker.setInt(pname, param);

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

CustomJavaCode GLES1Impl  public void glOrtho(double left, double right, double bottom, double top, double near_val, double far_val) {
CustomJavaCode GLES1Impl    glOrtho((float) left, (float) right, (float) bottom, (float) top, (float) near_val, (float) far_val); }
                
CustomJavaCode GLES1Impl  public void glFrustum(double left, double right, double bottom, double top, double zNear, double zFar) {
CustomJavaCode GLES1Impl    glFrustumf((float) left, (float) right, (float) bottom, (float) top, (float) zNear, (float) zFar); }
                
CustomJavaCode GLES1Impl  public void glClearDepth(double depth) {
CustomJavaCode GLES1Impl   glClearDepthf((float)depth); }

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

CustomCCode #include <stdio.h> /* android */
CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
CustomCCode    "glext.h" are parsed. */
CustomCCode #define GL_GLEXT_PROTOTYPES

CustomCCode /* Include the OpenGL headers */
CustomCCode /* #define GL_APICALL __declspec(dllimport) */
CustomCCode #include <GLES/gl.h>
CustomCCode #include <GLES/glext.h>
CustomCCode #include <stdlib.h>

IncludeAs CustomJavaCode GLES1Impl gl-impl-CustomJavaCode-common.java
IncludeAs CustomJavaCode GLES1Impl gl-impl-CustomJavaCode-gles1.java
IncludeAs CustomJavaCode GLES1Impl gl-impl-CustomJavaCode-embedded.java
IncludeAs CustomCCode gl-impl-CustomCCode-gles1.c

Import javax.media.opengl.GLES1
Import javax.media.opengl.GLES2
Import javax.media.opengl.GL2
Import com.jogamp.common.nio.Buffers
Import com.jogamp.opengl.util.GLBuffers