# This .cfg file provides common options used among all Cg glue code # generated for Jogl on all platforms. Package com.jogamp.opengl.cg JavaClass CgGL Style AllStatic JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl_cg HierarchicalNativeOutput false ForceProcAddressGen __ALL__ LocalProcAddressCallingConvention __ALL__ APIENTRY EmitProcAddressTable true ProcAddressTableClassName CgProcAddressTable GetProcAddressTableExpr cgProcAddressTable ProcAddressNameExpr PFN $UPPERCASE({0}) PROC # # Map const char* return values to Java strings for these functions # ReturnsString cgGetAnnotationName ReturnsString cgGetEnumString ReturnsString cgGetErrorString ReturnsString cgGetLastErrorString ReturnsString cgGetLastListing ReturnsString cgGetParameterName ReturnsString cgGetParameterSemantic ReturnsString cgGetPassName ReturnsString cgGetProfileString ReturnsString cgGetProgramString ReturnsString cgGetResourceString ReturnsString cgGetStateName ReturnsString cgGetString ReturnsString cgGetStringAnnotationValue ReturnsString cgGetStringParameterValue ReturnsString cgGetStringStateAssignmentValue ReturnsString cgGetTechniqueName ReturnsString cgGetTypeString ArgumentIsString cgAddStateEnumerant 1 ArgumentIsString cgCreateArrayState 1 ArgumentIsString cgCreateArraySamplerState 1 ArgumentIsString cgCreateEffect 1 2 ArgumentIsString cgCreateEffectFromFile 1 2 ArgumentIsString cgCreateProgram 2 4 5 ArgumentIsString cgCreateProgramFromFile 2 4 5 ArgumentIsString cgCreateProgramFromEffect 2 3 ArgumentIsString cgCreateSamplerState 1 ArgumentIsString cgCreateState 1 ArgumentIsString cgGetEffectParameterBySemantic 1 ArgumentIsString cgGetEnum 0 ArgumentIsString cgGetNamedEffectParameter 1 ArgumentIsString cgGetNamedParameter 1 ArgumentIsString cgGetNamedPass 1 ArgumentIsString cgGetNamedProgramParameter 2 ArgumentIsString cgGetNamedSamplerState 1 ArgumentIsString cgGetNamedState 1 ArgumentIsString cgGetNamedSamplerStateAssignment 1 ArgumentIsString cgGetNamedStateAssignment 1 ArgumentIsString cgGetNamedStructParameter 1 ArgumentIsString cgGetNamedTechnique 1 ArgumentIsString cgGetNamedTechniqueAnnotation 1 ArgumentIsString cgGetNamedPassAnnotation 1 ArgumentIsString cgGetNamedParameterAnnotation 1 ArgumentIsString cgGetNamedProgramAnnotation 1 ArgumentIsString cgGetNamedUserType 1 ArgumentIsString cgGetProfile 0 ArgumentIsString cgGetType 0 ArgumentIsString cgGetResource 0 ArgumentIsString cgSetLastListing 1 ArgumentIsString cgSetParameterSemantic 1 ArgumentIsString cgSetStringParameterValue 1 # Opaque definitions Opaque boolean CGbool # # FIXME!!!! Ignore these functions for now because we can't # automatically handle C callbacks # Ignore cgSetErrorCallback Ignore cgGetErrorCallback Ignore cgSetErrorHandler Ignore cgGetErrorHandler Ignore cgSetStateCallbacks Ignore cgGetStateSetCallback Ignore cgGetStateResetCallback Ignore cgGetStateValidateCallback # # FIXME!!!! Ignore these functions for now because bugs in the # emitter code can't handle them # Ignore cgGetBooleanAnnotationValues Ignore cgGetBoolStateAssignmentValues Ignore cgGetFloatAnnotationValues Ignore cgGetFloatStateAssignmentValues Ignore cgGetIntAnnotationValues Ignore cgGetIntStateAssignmentValues Ignore cgGetParameterValues Ignore cgGetProgramOptions # And NativeLibLoader for help loading the native libraries Import jogamp.opengl.* Import com.jogamp.common.os.DynamicLookupHelper Import com.jogamp.common.os.DynamicLibraryBundle Import com.jogamp.opengl.cg.CgDynamicLibraryBundleInfo # # NIODirectOnly directives for routines requiring them for semantic reasons # NIODirectOnly cgGLSetParameterPointer # Raise CgException instead of RuntimeException in glue code RuntimeExceptionType CgException # # Make sure the right definitions and include files are added to the # generated C code # CustomCCode #include <gluegen_stdint.h> CustomCCode #include <stdio.h> /* android */ CustomCCode #include <stdlib.h> CustomCCode #include <Cg/cgGL.h> CustomCCode CustomCCode #ifndef APIENTRY CustomCCode #define APIENTRY CustomCCode #endif IncludeAs CustomJavaCode CgGL cg-common-CustomJavaCode.java