From 583254e4db53025dc851104b979e40f033f5d718 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Tue, 20 Jan 2004 08:37:17 +0000 Subject: [PATCH] Extensions split out into separate classes --- src/java/org/lwjgl/opengl/GLCaps.java | 24 +- src/java/org/lwjgl/opengl/StateStack.java | 2 +- src/java/org/lwjgl/opengl/VBOTracker.java | 2 +- src/java/org/lwjgl/opengl/arb/ARBCubeMap.java | 3 +- .../org/lwjgl/opengl/arb/ARBDepthTexture.java | 3 +- .../lwjgl/opengl/arb/ARBFragmentProgram.java | 152 ++--- .../lwjgl/opengl/arb/ARBMatrixPalette.java | 46 +- .../org/lwjgl/opengl/arb/ARBMultisample.java | 5 +- .../org/lwjgl/opengl/arb/ARBMultitexture.java | 54 +- .../lwjgl/opengl/arb/ARBPointParameters.java | 12 +- src/java/org/lwjgl/opengl/arb/ARBProgram.java | 236 ++++++++ src/java/org/lwjgl/opengl/arb/ARBShadow.java | 2 +- .../lwjgl/opengl/arb/ARBShadowAmbient.java | 2 +- .../opengl/arb/ARBTextureBorderClamp.java | 2 +- .../opengl/arb/ARBTextureCompression.java | 102 +++- .../opengl/arb/ARBTextureEnvCombine.java | 2 +- .../lwjgl/opengl/arb/ARBTextureEnvDot3.java | 2 +- .../opengl/arb/ARBTextureMirroredRepeat.java | 2 +- .../lwjgl/opengl/arb/ARBTransposeMatrix.java | 15 +- .../org/lwjgl/opengl/arb/ARBVertexBlend.java | 71 ++- .../opengl/arb/ARBVertexBufferObject.java | 104 +++- .../lwjgl/opengl/arb/ARBVertexProgram.java | 419 ++++++++++--- .../org/lwjgl/opengl/arb/ARBWindowPos.java | 49 ++ .../org/lwjgl/opengl/ati/ATIElementArray.java | 35 +- .../lwjgl/opengl/ati/ATIEnvmapBumpmap.java | 26 +- .../lwjgl/opengl/ati/ATIFragmentShader.java | 93 ++- .../org/lwjgl/opengl/ati/ATIPnTriangles.java | 7 +- .../lwjgl/opengl/ati/ATISeparateStencil.java | 5 +- .../opengl/ati/ATITextureMirrorOnce.java | 2 +- .../opengl/ati/ATIVertexArrayObject.java | 83 ++- .../lwjgl/opengl/ati/ATIVertexStreams.java | 38 +- .../lwjgl/opengl/atix/ATIXPointSprites.java | 3 +- .../opengl/atix/ATIXTextureEnvRoute.java | 3 +- src/java/org/lwjgl/opengl/ext/EXTAbgr.java | 4 +- src/java/org/lwjgl/opengl/ext/EXTBgra.java | 2 +- .../opengl/ext/EXTBlendFuncSeparate.java | 46 ++ .../lwjgl/opengl/ext/EXTBlendSubtract.java | 2 +- .../opengl/ext/EXTCompiledVertexArray.java | 6 +- .../opengl/ext/EXTDrawRangeElements.java | 31 +- .../org/lwjgl/opengl/ext/EXTFogCoord.java | 20 +- .../lwjgl/opengl/ext/EXTMultiDrawArrays.java | 50 ++ .../org/lwjgl/opengl/ext/EXTPackedPixels.java | 2 +- .../lwjgl/opengl/ext/EXTPointParameters.java | 12 +- .../lwjgl/opengl/ext/EXTRescaleNormal.java | 2 +- .../lwjgl/opengl/ext/EXTSecondaryColor.java | 32 +- .../opengl/ext/EXTSeparateSpecularColor.java | 2 +- .../opengl/ext/EXTSharedTexturePalette.java | 2 +- .../lwjgl/opengl/ext/EXTStencilTwoSide.java | 5 +- .../org/lwjgl/opengl/ext/EXTStencilWrap.java | 2 +- .../opengl/ext/EXTTextureCompressionS3TC.java | 2 +- .../opengl/ext/EXTTextureEnvCombine.java | 2 +- .../lwjgl/opengl/ext/EXTTextureEnvDot3.java | 2 +- .../ext/EXTTextureFilterAnisotropic.java | 2 +- .../lwjgl/opengl/ext/EXTTextureLODBias.java | 2 +- .../org/lwjgl/opengl/ext/EXTVertexShader.java | 200 +++++- .../lwjgl/opengl/ext/EXTVertexWeighting.java | 22 +- .../lwjgl/opengl/nv/NVCopyDepthToColor.java | 2 +- .../org/lwjgl/opengl/nv/NVDepthClamp.java | 2 +- .../org/lwjgl/opengl/nv/NVEvaluators.java | 44 +- src/java/org/lwjgl/opengl/nv/NVFence.java | 27 +- .../org/lwjgl/opengl/nv/NVFogDistance.java | 2 +- .../lwjgl/opengl/nv/NVLightMaxExponent.java | 3 +- .../org/lwjgl/opengl/nv/NVOcclusionQuery.java | 29 +- .../lwjgl/opengl/nv/NVPackedDepthStencil.java | 2 +- .../org/lwjgl/opengl/nv/NVPointSprite.java | 12 +- src/java/org/lwjgl/opengl/nv/NVProgram.java | 130 ++++ .../lwjgl/opengl/nv/NVRegisterCombiners.java | 78 ++- .../lwjgl/opengl/nv/NVRegisterCombiners2.java | 2 +- .../lwjgl/opengl/nv/NVTexgenReflection.java | 2 +- .../lwjgl/opengl/nv/NVTextureEnvCombine4.java | 2 +- .../lwjgl/opengl/nv/NVTextureRectangle.java | 2 +- .../org/lwjgl/opengl/nv/NVTextureShader.java | 2 +- .../org/lwjgl/opengl/nv/NVTextureShader2.java | 2 +- .../org/lwjgl/opengl/nv/NVTextureShader3.java | 2 +- .../lwjgl/opengl/nv/NVVertexArrayRange.java | 29 +- .../lwjgl/opengl/nv/NVVertexArrayRange2.java | 3 +- .../org/lwjgl/opengl/nv/NVVertexProgram.java | 390 ++++++++---- .../test/input/ControllerCreationTest.java | 30 +- .../org/lwjgl/test/input/ControllerTest.java | 22 +- .../org/lwjgl/test/input/HWCursorTest.java | 34 +- .../org/lwjgl/test/input/KeyboardTest.java | 22 +- .../lwjgl/test/input/MouseCreationTest.java | 22 +- src/java/org/lwjgl/test/input/MouseTest.java | 22 +- .../org/lwjgl/test/openal/PlayTestMemory.java | 2 +- .../org/lwjgl/test/openal/PositionTest.java | 72 +-- .../test/opengl/FullScreenWindowedTest.java | 36 +- src/java/org/lwjgl/test/opengl/Game.java | 36 +- src/java/org/lwjgl/test/opengl/Grass.java | 153 ++--- .../org/lwjgl/test/opengl/PbufferTest.java | 90 +-- .../org/lwjgl/test/opengl/VBOIndexTest.java | 50 +- src/java/org/lwjgl/test/opengl/VBOTest.java | 43 +- src/native/Makefile.am | 6 +- src/native/common/Makefile.am | 7 +- .../org_lwjgl_opengl_arb_ARBMatrixPalette.cpp | 115 ++++ .../org_lwjgl_opengl_arb_ARBMatrixPalette.h | 92 +++ .../org_lwjgl_opengl_arb_ARBMultisample.cpp | 51 ++ .../arb/org_lwjgl_opengl_arb_ARBMultisample.h | 57 ++ .../org_lwjgl_opengl_arb_ARBMultitexture.cpp | 207 +++++++ .../org_lwjgl_opengl_arb_ARBMultitexture.h | 148 +++++ ...rg_lwjgl_opengl_arb_ARBPointParameters.cpp | 64 ++ .../org_lwjgl_opengl_arb_ARBPointParameters.h | 64 ++ .../arb/org_lwjgl_opengl_arb_ARBProgram.cpp | 205 +++++++ .../arb/org_lwjgl_opengl_arb_ARBProgram.h | 141 +++++ ...lwjgl_opengl_arb_ARBTextureCompression.cpp | 130 ++++ ...g_lwjgl_opengl_arb_ARBTextureCompression.h | 99 +++ ...rg_lwjgl_opengl_arb_ARBTransposeMatrix.cpp | 65 ++ .../org_lwjgl_opengl_arb_ARBTransposeMatrix.h | 64 ++ .../org_lwjgl_opengl_arb_ARBVertexBlend.cpp | 167 +++++ .../arb/org_lwjgl_opengl_arb_ARBVertexBlend.h | 120 ++++ ...lwjgl_opengl_arb_ARBVertexBufferObject.cpp | 187 ++++++ ...g_lwjgl_opengl_arb_ARBVertexBufferObject.h | 127 ++++ .../org_lwjgl_opengl_arb_ARBVertexProgram.cpp | 483 +++++++++++++++ .../org_lwjgl_opengl_arb_ARBVertexProgram.h | 295 +++++++++ .../arb/org_lwjgl_opengl_arb_ARBWindowPos.cpp | 111 ++++ .../arb/org_lwjgl_opengl_arb_ARBWindowPos.h | 92 +++ .../org_lwjgl_opengl_ati_ATIElementArray.cpp | 88 +++ .../org_lwjgl_opengl_ati_ATIElementArray.h | 78 +++ .../org_lwjgl_opengl_ati_ATIEnvmapBumpmap.cpp | 91 +++ .../org_lwjgl_opengl_ati_ATIEnvmapBumpmap.h | 78 +++ ...org_lwjgl_opengl_ati_ATIFragmentShader.cpp | 209 +++++++ .../org_lwjgl_opengl_ati_ATIFragmentShader.h | 148 +++++ .../org_lwjgl_opengl_ati_ATIPnTriangles.cpp | 63 ++ .../ati/org_lwjgl_opengl_ati_ATIPnTriangles.h | 64 ++ ...rg_lwjgl_opengl_ati_ATISeparateStencil.cpp | 63 ++ .../org_lwjgl_opengl_ati_ATISeparateStencil.h | 64 ++ ..._lwjgl_opengl_ati_ATIVertexArrayObject.cpp | 193 ++++++ ...rg_lwjgl_opengl_ati_ATIVertexArrayObject.h | 134 ++++ .../org_lwjgl_opengl_ati_ATIVertexStreams.cpp | 267 ++++++++ .../org_lwjgl_opengl_ati_ATIVertexStreams.h | 183 ++++++ ..._lwjgl_opengl_ext_EXTBlendFuncSeparate.cpp | 51 ++ ...rg_lwjgl_opengl_ext_EXTBlendFuncSeparate.h | 57 ++ ...wjgl_opengl_ext_EXTCompiledVertexArray.cpp | 63 ++ ..._lwjgl_opengl_ext_EXTCompiledVertexArray.h | 64 ++ ..._lwjgl_opengl_ext_EXTDrawRangeElements.cpp | 64 ++ ...rg_lwjgl_opengl_ext_EXTDrawRangeElements.h | 64 ++ .../ext/org_lwjgl_opengl_ext_EXTFogCoord.cpp | 76 +++ .../ext/org_lwjgl_opengl_ext_EXTFogCoord.h | 71 +++ ...rg_lwjgl_opengl_ext_EXTMultiDrawArrays.cpp | 53 ++ .../org_lwjgl_opengl_ext_EXTMultiDrawArrays.h | 57 ++ ...rg_lwjgl_opengl_ext_EXTPointParameters.cpp | 64 ++ .../org_lwjgl_opengl_ext_EXTPointParameters.h | 64 ++ ...org_lwjgl_opengl_ext_EXTSecondaryColor.cpp | 100 +++ .../org_lwjgl_opengl_ext_EXTSecondaryColor.h | 85 +++ ...org_lwjgl_opengl_ext_EXTStencilTwoSide.cpp | 51 ++ .../org_lwjgl_opengl_ext_EXTStencilTwoSide.h | 57 ++ .../org_lwjgl_opengl_ext_EXTVertexShader.cpp | 572 ++++++++++++++++++ .../org_lwjgl_opengl_ext_EXTVertexShader.h | 344 +++++++++++ ...rg_lwjgl_opengl_ext_EXTVertexWeighting.cpp | 76 +++ .../org_lwjgl_opengl_ext_EXTVertexWeighting.h | 71 +++ src/native/common/extgl.cpp | 33 +- src/native/common/extgl.h | 28 + .../nv/org_lwjgl_opengl_nv_NVEvaluators.cpp | 155 +++++ .../nv/org_lwjgl_opengl_nv_NVEvaluators.h | 113 ++++ .../common/nv/org_lwjgl_opengl_nv_NVFence.cpp | 128 ++++ .../common/nv/org_lwjgl_opengl_nv_NVFence.h | 99 +++ .../org_lwjgl_opengl_nv_NVFragmentProgram.cpp | 91 +++ .../org_lwjgl_opengl_nv_NVFragmentProgram.h | 78 +++ .../org_lwjgl_opengl_nv_NVOcclusionQuery.cpp | 128 ++++ .../nv/org_lwjgl_opengl_nv_NVOcclusionQuery.h | 99 +++ .../nv/org_lwjgl_opengl_nv_NVPointSprite.cpp | 64 ++ .../nv/org_lwjgl_opengl_nv_NVPointSprite.h | 64 ++ .../nv/org_lwjgl_opengl_nv_NVProgram.cpp | 157 +++++ .../common/nv/org_lwjgl_opengl_nv_NVProgram.h | 113 ++++ ...rg_lwjgl_opengl_nv_NVRegisterCombiners.cpp | 229 +++++++ .../org_lwjgl_opengl_nv_NVRegisterCombiners.h | 155 +++++ ...org_lwjgl_opengl_nv_NVVertexArrayRange.cpp | 129 ++++ .../org_lwjgl_opengl_nv_NVVertexArrayRange.h | 92 +++ .../org_lwjgl_opengl_nv_NVVertexProgram.cpp | 288 +++++++++ .../nv/org_lwjgl_opengl_nv_NVVertexProgram.h | 190 ++++++ src/native/configure.in | 6 +- 170 files changed, 12063 insertions(+), 759 deletions(-) create mode 100644 src/java/org/lwjgl/opengl/arb/ARBProgram.java create mode 100644 src/java/org/lwjgl/opengl/arb/ARBWindowPos.java create mode 100644 src/java/org/lwjgl/opengl/ext/EXTBlendFuncSeparate.java create mode 100644 src/java/org/lwjgl/opengl/ext/EXTMultiDrawArrays.java create mode 100644 src/java/org/lwjgl/opengl/nv/NVProgram.java create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBMatrixPalette.cpp create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBMatrixPalette.h create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBMultisample.cpp create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBMultisample.h create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBMultitexture.cpp create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBMultitexture.h create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBPointParameters.cpp create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBPointParameters.h create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBProgram.cpp create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBProgram.h create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBTextureCompression.cpp create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBTextureCompression.h create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBTransposeMatrix.cpp create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBTransposeMatrix.h create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBlend.cpp create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBlend.h create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBufferObject.cpp create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBufferObject.h create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexProgram.cpp create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexProgram.h create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBWindowPos.cpp create mode 100644 src/native/common/arb/org_lwjgl_opengl_arb_ARBWindowPos.h create mode 100644 src/native/common/ati/org_lwjgl_opengl_ati_ATIElementArray.cpp create mode 100644 src/native/common/ati/org_lwjgl_opengl_ati_ATIElementArray.h create mode 100644 src/native/common/ati/org_lwjgl_opengl_ati_ATIEnvmapBumpmap.cpp create mode 100644 src/native/common/ati/org_lwjgl_opengl_ati_ATIEnvmapBumpmap.h create mode 100644 src/native/common/ati/org_lwjgl_opengl_ati_ATIFragmentShader.cpp create mode 100644 src/native/common/ati/org_lwjgl_opengl_ati_ATIFragmentShader.h create mode 100644 src/native/common/ati/org_lwjgl_opengl_ati_ATIPnTriangles.cpp create mode 100644 src/native/common/ati/org_lwjgl_opengl_ati_ATIPnTriangles.h create mode 100644 src/native/common/ati/org_lwjgl_opengl_ati_ATISeparateStencil.cpp create mode 100644 src/native/common/ati/org_lwjgl_opengl_ati_ATISeparateStencil.h create mode 100644 src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexArrayObject.cpp create mode 100644 src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexArrayObject.h create mode 100644 src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexStreams.cpp create mode 100644 src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexStreams.h create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTBlendFuncSeparate.cpp create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTBlendFuncSeparate.h create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTCompiledVertexArray.cpp create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTCompiledVertexArray.h create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTDrawRangeElements.cpp create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTDrawRangeElements.h create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTFogCoord.cpp create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTFogCoord.h create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTMultiDrawArrays.cpp create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTMultiDrawArrays.h create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTPointParameters.cpp create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTPointParameters.h create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTSecondaryColor.cpp create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTSecondaryColor.h create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTStencilTwoSide.cpp create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTStencilTwoSide.h create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexShader.cpp create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexShader.h create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexWeighting.cpp create mode 100644 src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexWeighting.h create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVEvaluators.cpp create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVEvaluators.h create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVFence.cpp create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVFence.h create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVFragmentProgram.cpp create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVFragmentProgram.h create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVOcclusionQuery.cpp create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVOcclusionQuery.h create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVPointSprite.cpp create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVPointSprite.h create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVProgram.cpp create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVProgram.h create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVRegisterCombiners.cpp create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVRegisterCombiners.h create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVVertexArrayRange.cpp create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVVertexArrayRange.h create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVVertexProgram.cpp create mode 100644 src/native/common/nv/org_lwjgl_opengl_nv_NVVertexProgram.h diff --git a/src/java/org/lwjgl/opengl/GLCaps.java b/src/java/org/lwjgl/opengl/GLCaps.java index 612e4ec3..d3a44951 100644 --- a/src/java/org/lwjgl/opengl/GLCaps.java +++ b/src/java/org/lwjgl/opengl/GLCaps.java @@ -76,18 +76,13 @@ public abstract class GLCaps { public static boolean GL_ARB_window_pos; public static boolean GL_EXT_abgr; public static boolean GL_EXT_bgra; - public static boolean GL_EXT_blend_color; public static boolean GL_EXT_blend_function_separate; - public static boolean GL_EXT_blend_minmax; public static boolean GL_EXT_blend_subtract; public static boolean GL_EXT_compiled_vertex_array; - public static boolean GL_EXT_cull_vertex; public static boolean GL_EXT_draw_range_elements; - public static boolean GL_EXT_fog_coord; - public static boolean GL_EXT_light_max_exponent; public static boolean GL_EXT_multi_draw_arrays; + public static boolean GL_EXT_fog_coord; public static boolean GL_EXT_packed_pixels; - public static boolean GL_EXT_paletted_texture; public static boolean GL_EXT_point_parameters; public static boolean GL_EXT_rescale_normal; public static boolean GL_EXT_secondary_color; @@ -101,8 +96,6 @@ public abstract class GLCaps { public static boolean GL_EXT_texture_env_dot3; public static boolean GL_EXT_texture_filter_anisotropic; public static boolean GL_EXT_texture_lod_bias; - public static boolean GL_EXT_texture_rectangle; - public static boolean GL_EXT_vertex_array; public static boolean GL_EXT_vertex_shader; public static boolean GL_EXT_vertex_weighting; public static boolean GL_ATI_element_array; @@ -115,7 +108,6 @@ public abstract class GLCaps { public static boolean GL_ATI_separate_stencil; public static boolean GL_ATIX_point_sprites; public static boolean GL_ATIX_texture_env_route; - public static boolean GL_HP_occlusion_test; public static boolean GL_NV_blend_square; public static boolean GL_NV_copy_depth_to_color; public static boolean GL_NV_depth_clamp; @@ -138,25 +130,11 @@ public abstract class GLCaps { public static boolean GL_NV_vertex_array_range2; public static boolean GL_NV_vertex_program; public static boolean GL_NV_vertex_program1_1; - public static boolean GL_SGIS_generate_mipmap; - public static boolean GL_SGIX_shadow; - public static boolean GL_SGIX_depth_texture; public static boolean OpenGL11; public static boolean OpenGL12; public static boolean OpenGL13; public static boolean OpenGL14; - /* - * Available WGL extensions - */ - public static boolean WGL_ARB_buffer_region; - public static boolean WGL_ARB_extensions_string; - public static boolean WGL_ARB_pbuffer; - public static boolean WGL_ARB_pixel_format; - public static boolean WGL_ARB_render_texture; - public static boolean WGL_EXT_extensions_string; - public static boolean WGL_EXT_swap_control; - static { System.loadLibrary(Sys.getLibraryName()); } diff --git a/src/java/org/lwjgl/opengl/StateStack.java b/src/java/org/lwjgl/opengl/StateStack.java index dfd6c591..8904a88f 100644 --- a/src/java/org/lwjgl/opengl/StateStack.java +++ b/src/java/org/lwjgl/opengl/StateStack.java @@ -32,7 +32,7 @@ package org.lwjgl.opengl; -class StateStack { +public class StateStack { /** Only int state is tracked */ private final int[] state_stack; private int stack_pos; diff --git a/src/java/org/lwjgl/opengl/VBOTracker.java b/src/java/org/lwjgl/opengl/VBOTracker.java index 8e30b31b..1da5a527 100644 --- a/src/java/org/lwjgl/opengl/VBOTracker.java +++ b/src/java/org/lwjgl/opengl/VBOTracker.java @@ -32,7 +32,7 @@ package org.lwjgl.opengl; -class VBOTracker { +public class VBOTracker { private static VBOTracker default_tracker = new VBOTracker(); private static VBOTracker current_tracker = default_tracker; diff --git a/src/java/org/lwjgl/opengl/arb/ARBCubeMap.java b/src/java/org/lwjgl/opengl/arb/ARBCubeMap.java index f10d96a6..4532f1b9 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBCubeMap.java +++ b/src/java/org/lwjgl/opengl/arb/ARBCubeMap.java @@ -39,8 +39,7 @@ */ package org.lwjgl.opengl.arb; -public interface ARBCubeMap -{ +public class ARBCubeMap { public static final int GL_NORMAL_MAP_ARB = 0x8511; public static final int GL_REFLECTION_MAP_ARB = 0x8512; public static final int GL_TEXTURE_CUBE_MAP_ARB = 0x8513; diff --git a/src/java/org/lwjgl/opengl/arb/ARBDepthTexture.java b/src/java/org/lwjgl/opengl/arb/ARBDepthTexture.java index a08a0378..fa4ca68e 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBDepthTexture.java +++ b/src/java/org/lwjgl/opengl/arb/ARBDepthTexture.java @@ -39,8 +39,7 @@ */ package org.lwjgl.opengl.arb; -public interface ARBDepthTexture -{ +public class ARBDepthTexture { public static final int GL_DEPTH_COMPONENT16_ARB = 0x81A5; public static final int GL_DEPTH_COMPONENT24_ARB = 0x81A6; public static final int GL_DEPTH_COMPONENT32_ARB = 0x81A7; diff --git a/src/java/org/lwjgl/opengl/arb/ARBFragmentProgram.java b/src/java/org/lwjgl/opengl/arb/ARBFragmentProgram.java index 21aa5a08..b2732503 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBFragmentProgram.java +++ b/src/java/org/lwjgl/opengl/arb/ARBFragmentProgram.java @@ -1,122 +1,76 @@ -/* +/* * Copyright (c) 2002 Lightweight Java Game Library Project * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are + * modification, are permitted provided that the following conditions are * met: - * - * * Redistributions of source code must retain the above copyright + * + * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * * Neither the name of 'Light Weight Java Game Library' nor the names of - * its contributors may be used to endorse or promote products derived + * * Neither the name of 'Light Weight Java Game Library' nor the names of + * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* - * Created by IntelliJ IDEA. - * User: nj - * Date: 12-08-2002 - * Time: 16:02:30 - * To change template for new interface use - * Code Style | Class Templates options (Tools | IDE Options). + * Created by zDimensions. + * User: spasi + * Date: 2003-11-28 + * Time: 16:41:02 */ + package org.lwjgl.opengl.arb; -public interface ARBFragmentProgram -{ - public static final int GL_FRAGMENT_PROGRAM_ARB = 0x8804; - public static final int GL_PROGRAM_FORMAT_ASCII_ARB = 0x8875; - public static final int GL_PROGRAM_LENGTH_ARB = 0x8627; - public static final int GL_PROGRAM_FORMAT_ARB = 0x8876; - public static final int GL_PROGRAM_BINDING_ARB = 0x8677; - public static final int GL_PROGRAM_INSTRUCTIONS_ARB = 0x88A0; - public static final int GL_MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1; - public static final int GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2; - public static final int GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3; - public static final int GL_PROGRAM_TEMPORARIES_ARB = 0x88A4; - public static final int GL_MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5; - public static final int GL_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6; - public static final int GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7; - public static final int GL_PROGRAM_PARAMETERS_ARB = 0x88A8; - public static final int GL_MAX_PROGRAM_PARAMETERS_ARB = 0x88A9; - public static final int GL_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA; - public static final int GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB; - public static final int GL_PROGRAM_ATTRIBS_ARB = 0x88AC; - public static final int GL_MAX_PROGRAM_ATTRIBS_ARB = 0x88AD; - public static final int GL_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE; - public static final int GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF; - public static final int GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4; - public static final int GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5; - public static final int GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6; - public static final int GL_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805; - public static final int GL_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806; - public static final int GL_PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807; - public static final int GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808; - public static final int GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809; - public static final int GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A; - public static final int GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B; - public static final int GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C; - public static final int GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D; - public static final int GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E; - public static final int GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F; - public static final int GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810; - public static final int GL_PROGRAM_STRING_ARB = 0x8628; - public static final int GL_PROGRAM_ERROR_POSITION_ARB = 0x864B; - public static final int GL_CURRENT_MATRIX_ARB = 0x8641; - public static final int GL_TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7; - public static final int GL_CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640; - public static final int GL_MAX_PROGRAM_MATRICES_ARB = 0x862F; - public static final int GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E; - public static final int GL_MAX_TEXTURE_COORDS_ARB = 0x8871; - public static final int GL_MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872; - public static final int GL_PROGRAM_ERROR_STRING_ARB = 0x8874; - public static final int GL_MATRIX0_ARB = 0x88C0; - public static final int GL_MATRIX1_ARB = 0x88C1; - public static final int GL_MATRIX2_ARB = 0x88C2; - public static final int GL_MATRIX3_ARB = 0x88C3; - public static final int GL_MATRIX4_ARB = 0x88C4; - public static final int GL_MATRIX5_ARB = 0x88C5; - public static final int GL_MATRIX6_ARB = 0x88C6; - public static final int GL_MATRIX7_ARB = 0x88C7; - public static final int GL_MATRIX8_ARB = 0x88C8; - public static final int GL_MATRIX9_ARB = 0x88C9; - public static final int GL_MATRIX10_ARB = 0x88CA; - public static final int GL_MATRIX11_ARB = 0x88CB; - public static final int GL_MATRIX12_ARB = 0x88CC; - public static final int GL_MATRIX13_ARB = 0x88CD; - public static final int GL_MATRIX14_ARB = 0x88CE; - public static final int GL_MATRIX15_ARB = 0x88CF; - public static final int GL_MATRIX16_ARB = 0x88D0; - public static final int GL_MATRIX17_ARB = 0x88D1; - public static final int GL_MATRIX18_ARB = 0x88D2; - public static final int GL_MATRIX19_ARB = 0x88D3; - public static final int GL_MATRIX20_ARB = 0x88D4; - public static final int GL_MATRIX21_ARB = 0x88D5; - public static final int GL_MATRIX22_ARB = 0x88D6; - public static final int GL_MATRIX23_ARB = 0x88D7; - public static final int GL_MATRIX24_ARB = 0x88D8; - public static final int GL_MATRIX25_ARB = 0x88D9; - public static final int GL_MATRIX26_ARB = 0x88DA; - public static final int GL_MATRIX27_ARB = 0x88DB; - public static final int GL_MATRIX28_ARB = 0x88DC; - public static final int GL_MATRIX29_ARB = 0x88DD; - public static final int GL_MATRIX30_ARB = 0x88DE; - public static final int GL_MATRIX31_ARB = 0x88DF; +public class ARBFragmentProgram extends ARBProgram { + + /* + * Accepted by the parameter of Disable, Enable, and IsEnabled, + * by the parameter of GetBooleanv, GetIntegerv, GetFloatv, + * and GetDoublev, and by the parameter of ProgramStringARB, + * BindProgramARB, ProgramEnvParameter4[df][v]ARB, + * ProgramLocalParameter4[df][v]ARB, GetProgramEnvParameter[df]vARB, + * GetProgramLocalParameter[df]vARB, GetProgramivARB and + * GetProgramStringARB. + */ + public static final int GL_FRAGMENT_PROGRAM_ARB = 0x8804; + + /* + * Accepted by the parameter of GetProgramivARB: + */ + public static final int GL_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805; + public static final int GL_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806; + public static final int GL_PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807; + public static final int GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808; + public static final int GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809; + public static final int GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A; + public static final int GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B; + public static final int GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C; + public static final int GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D; + public static final int GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E; + public static final int GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F; + public static final int GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810; + + /* + * Accepted by the parameter of GetBooleanv, GetIntegerv, + * GetFloatv, and GetDoublev: + */ + public static final int GL_MAX_TEXTURE_COORDS_ARB = 0x8871; + public static final int GL_MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872; } diff --git a/src/java/org/lwjgl/opengl/arb/ARBMatrixPalette.java b/src/java/org/lwjgl/opengl/arb/ARBMatrixPalette.java index 66f853d5..ac2b0974 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBMatrixPalette.java +++ b/src/java/org/lwjgl/opengl/arb/ARBMatrixPalette.java @@ -39,8 +39,15 @@ */ package org.lwjgl.opengl.arb; -public interface ARBMatrixPalette -{ +import java.nio.Buffer; +import java.nio.ByteBuffer; +import java.nio.ShortBuffer; +import java.nio.IntBuffer; + +import org.lwjgl.opengl.VBOTracker; +import org.lwjgl.opengl.CoreGL11Constants; + +public class ARBMatrixPalette { public static final int GL_MATRIX_PALETTE_ARB = 0x8840; public static final int GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841; public static final int GL_MAX_PALETTE_MATRICES_ARB = 0x8842; @@ -51,4 +58,39 @@ public interface ARBMatrixPalette public static final int GL_MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847; public static final int GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848; public static final int GL_MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849; + + public static native void glCurrentPaletteMatrixARB(int index); + public static void glMatrixIndexPointerARB(int size, int stride, ByteBuffer pPointer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglMatrixIndexPointerARB(size, CoreGL11Constants.GL_UNSIGNED_BYTE, stride, pPointer, pPointer.position()); + } + public static void glMatrixIndexPointerARB(int size, int stride, ShortBuffer pPointer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglMatrixIndexPointerARB(size, CoreGL11Constants.GL_UNSIGNED_SHORT, stride, pPointer, pPointer.position()<<1); + } + public static void glMatrixIndexPointerARB(int size, int stride, IntBuffer pPointer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglMatrixIndexPointerARB(size, CoreGL11Constants.GL_UNSIGNED_INT, stride, pPointer, pPointer.position()<<2); + } + private static native void nglMatrixIndexPointerARB(int size, int type, int stride, Buffer pPointer, int pPointer_offset); + public static void glMatrixIndexPointerARB(int size, int type, int stride, int buffer_offset) { + assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled"; + nglMatrixIndexPointerARBVBO(size, type, stride, buffer_offset); + } + private static native void nglMatrixIndexPointerARBVBO(int size, int type, int stride, int buffer_offset); + + public static void glMatrixIndexuARB(ByteBuffer pIndices) { + nglMatrixIndexubvARB(pIndices.remaining(), pIndices, pIndices.position()); + } + private static native void nglMatrixIndexubvARB(int size, ByteBuffer pIndices, int pIndices_offset); + + public static void glMatrixIndexuARB(IntBuffer piIndices) { + nglMatrixIndexuivARB(piIndices.remaining(), piIndices, piIndices.position()); + } + private static native void nglMatrixIndexuivARB(int size, IntBuffer piIndices, int piIndices_offset); + + public static void glMatrixIndexuARB(ShortBuffer psIndices) { + nglMatrixIndexusvARB(psIndices.remaining(), psIndices, psIndices.position()); + } + private static native void nglMatrixIndexusvARB(int size, ShortBuffer psIndices, int psIndices_offset); } diff --git a/src/java/org/lwjgl/opengl/arb/ARBMultisample.java b/src/java/org/lwjgl/opengl/arb/ARBMultisample.java index 03aa33c8..46266ee5 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBMultisample.java +++ b/src/java/org/lwjgl/opengl/arb/ARBMultisample.java @@ -39,8 +39,7 @@ */ package org.lwjgl.opengl.arb; -public interface ARBMultisample -{ +public class ARBMultisample { public static final int GL_MULTISAMPLE_ARB = 0x809D; public static final int GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E; public static final int GL_SAMPLE_ALPHA_TO_ONE_ARB = 0x809F; @@ -50,4 +49,6 @@ public interface ARBMultisample public static final int GL_SAMPLE_COVERAGE_VALUE_ARB = 0x80AA; public static final int GL_SAMPLE_COVERAGE_INVERT_ARB = 0x80AB; public static final int GL_MULTISAMPLE_BIT_ARB = 0x20000000; + + public static native void glSampleCoverageARB(float value, boolean invert); } diff --git a/src/java/org/lwjgl/opengl/arb/ARBMultitexture.java b/src/java/org/lwjgl/opengl/arb/ARBMultitexture.java index 1503ecd7..24ac85ac 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBMultitexture.java +++ b/src/java/org/lwjgl/opengl/arb/ARBMultitexture.java @@ -39,8 +39,7 @@ */ package org.lwjgl.opengl.arb; -public interface ARBMultitexture -{ +public class ARBMultitexture { public static final int GL_TEXTURE0_ARB = 0x84C0; public static final int GL_TEXTURE1_ARB = 0x84C1; public static final int GL_TEXTURE2_ARB = 0x84C2; @@ -76,4 +75,55 @@ public interface ARBMultitexture public static final int GL_ACTIVE_TEXTURE_ARB = 0x84E0; public static final int GL_CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1; public static final int GL_MAX_TEXTURE_UNITS_ARB = 0x84E2; + + public static native void glClientActiveTextureARB(int texture); + + public static native void glActiveTextureARB(int texture); + + public static native void glMultiTexCoord1fARB(int target, float s); + + public static native void glMultiTexCoord1iARB(int target, int s); + + public static native void glMultiTexCoord1sARB(int target, short s); + + public static native void glMultiTexCoord2fARB(int target, float s, float t); + + public static native void glMultiTexCoord2iARB(int target, int s, int t); + + public static native void glMultiTexCoord2sARB(int target, short s, short t); + + public static native void glMultiTexCoord3fARB( + int target, + float s, + float t, + float r); + + public static native void glMultiTexCoord3iARB(int target, int s, int t, int r); + + public static native void glMultiTexCoord3sARB( + int target, + short s, + short t, + short r); + + public static native void glMultiTexCoord4fARB( + int target, + float s, + float t, + float r, + float q); + + public static native void glMultiTexCoord4iARB( + int target, + int s, + int t, + int r, + int q); + + public static native void glMultiTexCoord4sARB( + int target, + short s, + short t, + short r, + short q); } diff --git a/src/java/org/lwjgl/opengl/arb/ARBPointParameters.java b/src/java/org/lwjgl/opengl/arb/ARBPointParameters.java index 66c2f8e1..f92d1ed7 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBPointParameters.java +++ b/src/java/org/lwjgl/opengl/arb/ARBPointParameters.java @@ -39,10 +39,18 @@ */ package org.lwjgl.opengl.arb; -public interface ARBPointParameters -{ +import java.nio.FloatBuffer; + +public class ARBPointParameters { public static final int GL_POINT_SIZE_MIN_ARB = 0x8126; public static final int GL_POINT_SIZE_MAX_ARB = 0x8127; public static final int GL_POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128; public static final int GL_POINT_DISTANCE_ATTENUATION_ARB = 0x8129; + + public static native void glPointParameterfARB(int pname, float param); + + public static void glPointParameterARB(int pname, FloatBuffer pfParams) { + nglPointParameterfvARB(pname, pfParams, pfParams.position()); + } + private static native void nglPointParameterfvARB(int pname, FloatBuffer pfParams, int pfParams_offset); } diff --git a/src/java/org/lwjgl/opengl/arb/ARBProgram.java b/src/java/org/lwjgl/opengl/arb/ARBProgram.java new file mode 100644 index 00000000..4a36227e --- /dev/null +++ b/src/java/org/lwjgl/opengl/arb/ARBProgram.java @@ -0,0 +1,236 @@ +/* + * Copyright (c) 2002 Lightweight Java Game Library Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'Light Weight Java Game Library' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +/* + * Created by LWJGL. + * User: spasi + * Date: 2003-11-28 + * Time: 16:32:30 + */ + +package org.lwjgl.opengl.arb; + +import java.nio.ByteBuffer; +import java.nio.Buffer; +import java.nio.IntBuffer; +import java.nio.FloatBuffer; + +class ARBProgram { + + /* + * Accepted by the parameter of ProgramStringARB: + */ + public final static int GL_PROGRAM_FORMAT_ASCII_ARB = 0x8875; + + /* + * Accepted by the parameter of GetProgramivARB: + */ + public static final int GL_PROGRAM_LENGTH_ARB = 0x8627; + public static final int GL_PROGRAM_FORMAT_ARB = 0x8876; + public static final int GL_PROGRAM_BINDING_ARB = 0x8677; + public static final int GL_PROGRAM_INSTRUCTIONS_ARB = 0x88A0; + public static final int GL_MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1; + public static final int GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2; + public static final int GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3; + public static final int GL_PROGRAM_TEMPORARIES_ARB = 0x88A4; + public static final int GL_MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5; + public static final int GL_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6; + public static final int GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7; + public static final int GL_PROGRAM_PARAMETERS_ARB = 0x88A8; + public static final int GL_MAX_PROGRAM_PARAMETERS_ARB = 0x88A9; + public static final int GL_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA; + public static final int GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB; + public static final int GL_PROGRAM_ATTRIBS_ARB = 0x88AC; + public static final int GL_MAX_PROGRAM_ATTRIBS_ARB = 0x88AD; + public static final int GL_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE; + public static final int GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF; + public static final int GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4; + public static final int GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5; + public static final int GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6; + + /* + * Accepted by the parameter of GetProgramStringARB: + */ + public static final int GL_PROGRAM_STRING_ARB = 0x8628; + + /* + * Accepted by the parameter of GetBooleanv, GetIntegerv, + * GetFloatv, and GetDoublev: + */ + public static final int GL_PROGRAM_ERROR_POSITION_ARB = 0x864B; + public static final int GL_CURRENT_MATRIX_ARB = 0x8641; + public static final int GL_TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7; + public static final int GL_CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640; + public static final int GL_MAX_PROGRAM_MATRICES_ARB = 0x862F; + public static final int GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E; + + /* + * Accepted by the parameter of GetString: + */ + public static final int GL_PROGRAM_ERROR_STRING_ARB = 0x8874; + + /* + * Accepted by the parameter of MatrixMode: + */ + public static final int GL_MATRIX0_ARB = 0x88C0; + public static final int GL_MATRIX1_ARB = 0x88C1; + public static final int GL_MATRIX2_ARB = 0x88C2; + public static final int GL_MATRIX3_ARB = 0x88C3; + public static final int GL_MATRIX4_ARB = 0x88C4; + public static final int GL_MATRIX5_ARB = 0x88C5; + public static final int GL_MATRIX6_ARB = 0x88C6; + public static final int GL_MATRIX7_ARB = 0x88C7; + public static final int GL_MATRIX8_ARB = 0x88C8; + public static final int GL_MATRIX9_ARB = 0x88C9; + public static final int GL_MATRIX10_ARB = 0x88CA; + public static final int GL_MATRIX11_ARB = 0x88CB; + public static final int GL_MATRIX12_ARB = 0x88CC; + public static final int GL_MATRIX13_ARB = 0x88CD; + public static final int GL_MATRIX14_ARB = 0x88CE; + public static final int GL_MATRIX15_ARB = 0x88CF; + public static final int GL_MATRIX16_ARB = 0x88D0; + public static final int GL_MATRIX17_ARB = 0x88D1; + public static final int GL_MATRIX18_ARB = 0x88D2; + public static final int GL_MATRIX19_ARB = 0x88D3; + public static final int GL_MATRIX20_ARB = 0x88D4; + public static final int GL_MATRIX21_ARB = 0x88D5; + public static final int GL_MATRIX22_ARB = 0x88D6; + public static final int GL_MATRIX23_ARB = 0x88D7; + public static final int GL_MATRIX24_ARB = 0x88D8; + public static final int GL_MATRIX25_ARB = 0x88D9; + public static final int GL_MATRIX26_ARB = 0x88DA; + public static final int GL_MATRIX27_ARB = 0x88DB; + public static final int GL_MATRIX28_ARB = 0x88DC; + public static final int GL_MATRIX29_ARB = 0x88DD; + public static final int GL_MATRIX30_ARB = 0x88DE; + public static final int GL_MATRIX31_ARB = 0x88DF; + + // --------------------------- + public static void glProgramStringARB(int target, int format, ByteBuffer string) { + nglProgramStringARB(target, format, string.remaining(), string, string.position()); + } + + private static native void nglProgramStringARB(int target, int format, int length, Buffer string, int stringOffset); + // --------------------------- + + public static native void glBindProgramARB(int target, int program); + + // --------------------------- + public static void glDeleteProgramsARB(IntBuffer programs) { + nglDeleteProgramsARB(programs.remaining(), programs, programs.position()); + } + + private static native void nglDeleteProgramsARB(int n, IntBuffer programs, int programsOffset); + // --------------------------- + + // --------------------------- + public static void glGenProgramsARB(IntBuffer programs) { + nglGenProgramsARB(programs.remaining(), programs, programs.position()); + } + + private static native void nglGenProgramsARB(int n, IntBuffer programs, int programsOffset); + // --------------------------- + + public static native void glProgramEnvParameter4fARB( + int target, + int index, + float x, + float y, + float z, + float w); + + // --------------------------- + public static void glProgramEnvParameterARB(int target, int index, FloatBuffer params) { + assert index >= 0 : " must be greater than or equal to 0."; + assert params.remaining() >= 4 : " must have 4 floats available."; + nglProgramEnvParameter4fvARB(target, index, params, params.position()); + } + + private static native void nglProgramEnvParameter4fvARB(int target, int index, FloatBuffer params, int paramsOffset); + // --------------------------- + + public static native void glProgramLocalParameter4fARB( + int target, + int index, + float x, + float y, + float z, + float w); + + // --------------------------- + public static void glProgramLocalParameterARB(int target, int index, FloatBuffer params) { + assert index >= 0 : " must be greater than or equal to 0."; + assert params.remaining() >= 4 : " must have 4 floats available."; + nglProgramLocalParameter4fvARB(target, index, params, params.position()); + } + + private static native void nglProgramLocalParameter4fvARB(int target, int index, FloatBuffer params, int paramsOffset); + // --------------------------- + + // --------------------------- + public static void glGetProgramEnvParameterARB(int target, int index, FloatBuffer params) { + assert index >= 0 : " must be greater than or equal to 0."; + assert params.remaining() >= 4 : " must have 4 floats available."; + nglGetProgramEnvParameterfvARB(target, index, params, params.position()); + } + + private static native void nglGetProgramEnvParameterfvARB(int target, int index, FloatBuffer params, int paramsOffset); + // --------------------------- + + // --------------------------- + public static void glGetProgramLocalParameterARB(int target, int index, FloatBuffer params) { + assert index >= 0 : " must be greater than or equal to 0."; + assert params.remaining() >= 4 : " must have 4 floats available."; + nglGetProgramLocalParameterfvARB(target, index, params, params.position()); + } + + private static native void nglGetProgramLocalParameterfvARB(int target, int index, FloatBuffer params, int paramsOffset); + // --------------------------- + + // --------------------------- + public static void glGetProgramARB(int target, int parameterName, IntBuffer params) { + nglGetProgramivARB(target, parameterName, params, params.position()); + } + + private static native void nglGetProgramivARB(int target, int parameterName, IntBuffer params, int paramsOffset); + // --------------------------- + + // --------------------------- + public static void glGetProgramStringARB(int target, int parameterName, ByteBuffer paramString) { + nglGetProgramStringARB(target, parameterName, paramString, paramString.position()); + } + + private static native void nglGetProgramStringARB(int target, int parameterName, Buffer paramString, int paramStringOffset); + // --------------------------- + + public static native boolean glIsProgramARB(int program); + +} diff --git a/src/java/org/lwjgl/opengl/arb/ARBShadow.java b/src/java/org/lwjgl/opengl/arb/ARBShadow.java index 2b644597..72cbf27c 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBShadow.java +++ b/src/java/org/lwjgl/opengl/arb/ARBShadow.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.arb; -public interface ARBShadow +public class ARBShadow { public static final int GL_TEXTURE_COMPARE_MODE_ARB = 0x884C; public static final int GL_TEXTURE_COMPARE_FUNC_ARB = 0x884D; diff --git a/src/java/org/lwjgl/opengl/arb/ARBShadowAmbient.java b/src/java/org/lwjgl/opengl/arb/ARBShadowAmbient.java index eb03c723..ee9ca469 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBShadowAmbient.java +++ b/src/java/org/lwjgl/opengl/arb/ARBShadowAmbient.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.arb; -public interface ARBShadowAmbient +public class ARBShadowAmbient { public static final int GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF; } diff --git a/src/java/org/lwjgl/opengl/arb/ARBTextureBorderClamp.java b/src/java/org/lwjgl/opengl/arb/ARBTextureBorderClamp.java index 1b61c15c..0780fa7d 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBTextureBorderClamp.java +++ b/src/java/org/lwjgl/opengl/arb/ARBTextureBorderClamp.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.arb; -public interface ARBTextureBorderClamp +public class ARBTextureBorderClamp { public static final int GL_CLAMP_TO_BORDER_ARB = 0x812D; } diff --git a/src/java/org/lwjgl/opengl/arb/ARBTextureCompression.java b/src/java/org/lwjgl/opengl/arb/ARBTextureCompression.java index 55fe5cff..e7a10527 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBTextureCompression.java +++ b/src/java/org/lwjgl/opengl/arb/ARBTextureCompression.java @@ -39,7 +39,13 @@ */ package org.lwjgl.opengl.arb; -public interface ARBTextureCompression +import java.nio.Buffer; +import java.nio.ByteBuffer; +import java.nio.ShortBuffer; +import java.nio.IntBuffer; +import java.nio.FloatBuffer; + +public class ARBTextureCompression { public static final int GL_COMPRESSED_ALPHA_ARB = 0x84E9; public static final int GL_COMPRESSED_LUMINANCE_ARB = 0x84EA; @@ -52,4 +58,98 @@ public interface ARBTextureCompression public static final int GL_TEXTURE_COMPRESSED_ARB = 0x86A1; public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2; public static final int GL_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3; + + public static void glCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, ByteBuffer pData) { + nglCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, pData, pData.position()); + } + public static void glCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, ShortBuffer pData) { + nglCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, pData, pData.position()<<1); + } + public static void glCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, IntBuffer pData) { + nglCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, pData, pData.position()<<2); + } + public static void glCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, FloatBuffer pData) { + nglCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, pData, pData.position()<<2); + } + private static native void nglCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, Buffer pData, int pData_offset); + + public static void glCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, ByteBuffer pData) { + nglCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, pData, pData.position()); + } + public static void glCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, ShortBuffer pData) { + nglCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, pData, pData.position()<<1); + } + public static void glCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, IntBuffer pData) { + nglCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, pData, pData.position()<<2); + } + public static void glCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, FloatBuffer pData) { + nglCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, pData, pData.position()<<2); + } + private static native void nglCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, Buffer pData, int pData_offset); + + public static void glCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, ByteBuffer pData) { + nglCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, pData, pData.position()); + } + public static void glCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, ShortBuffer pData) { + nglCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, pData, pData.position()<<1); + } + public static void glCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, IntBuffer pData) { + nglCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, pData, pData.position()<<2); + } + public static void glCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, FloatBuffer pData) { + nglCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, pData, pData.position()<<2); + } + private static native void nglCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, Buffer pData, int pData_offset); + + public static void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int border, int imageSize, ByteBuffer pData) { + nglCompressedTexSubImage1DARB(target, level, xoffset, width, border, imageSize, pData, pData.position()); + } + public static void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int border, int imageSize, ShortBuffer pData) { + nglCompressedTexSubImage1DARB(target, level, xoffset, width, border, imageSize, pData, pData.position()<<1); + } + public static void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int border, int imageSize, IntBuffer pData) { + nglCompressedTexSubImage1DARB(target, level, xoffset, width, border, imageSize, pData, pData.position()<<2); + } + public static void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int border, int imageSize, FloatBuffer pData) { + nglCompressedTexSubImage1DARB(target, level, xoffset, width, border, imageSize, pData, pData.position()<<2); + } + private static native void nglCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int border, int imageSize, Buffer pData, int pData_offset); + + public static void glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int border, int imageSize, ByteBuffer pData) { + nglCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, border, imageSize, pData, pData.position()); + } + public static void glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int border, int imageSize, ShortBuffer pData) { + nglCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, border, imageSize, pData, pData.position()<<1); + } + public static void glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int border, int imageSize, IntBuffer pData) { + nglCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, border, imageSize, pData, pData.position()<<2); + } + public static void glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int border, int imageSize, FloatBuffer pData) { + nglCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, border, imageSize, pData, pData.position()<<2); + } + private static native void nglCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int border, int imageSize, Buffer pData, int pData_offset); + + public static void glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int border, int imageSize, ByteBuffer pData) { + nglCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, border, imageSize, pData, pData.position()); + } + public static void glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int border, int imageSize, ShortBuffer pData) { + nglCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, border, imageSize, pData, pData.position()<<1); + } + public static void glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int border, int imageSize, IntBuffer pData) { + nglCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, border, imageSize, pData, pData.position()<<2); + } + public static void glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int border, int imageSize, FloatBuffer pData) { + nglCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, border, imageSize, pData, pData.position()<<2); + } + private static native void nglCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int border, int imageSize, Buffer pData, int pData_offset); + public static void glGetCompressedTexImageARB(int target, int lod, ByteBuffer pImg) { + nglGetCompressedTexImageARB(target, lod, pImg, pImg.position()); + } + public static void glGetCompressedTexImageARB(int target, int lod, ShortBuffer pImg) { + nglGetCompressedTexImageARB(target, lod, pImg, pImg.position()<<1); + } + public static void glGetCompressedTexImageARB(int target, int lod, IntBuffer pImg) { + nglGetCompressedTexImageARB(target, lod, pImg, pImg.position()<<2); + } + private static native void nglGetCompressedTexImageARB(int target, int lod, Buffer pImg, int pImg_offset); } diff --git a/src/java/org/lwjgl/opengl/arb/ARBTextureEnvCombine.java b/src/java/org/lwjgl/opengl/arb/ARBTextureEnvCombine.java index 455c811f..b349ef5c 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBTextureEnvCombine.java +++ b/src/java/org/lwjgl/opengl/arb/ARBTextureEnvCombine.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.arb; -public interface ARBTextureEnvCombine +public class ARBTextureEnvCombine { public static final int GL_COMBINE_ARB = 0x8570; public static final int GL_COMBINE_RGB_ARB = 0x8571; diff --git a/src/java/org/lwjgl/opengl/arb/ARBTextureEnvDot3.java b/src/java/org/lwjgl/opengl/arb/ARBTextureEnvDot3.java index 1d2828fd..3ee1b1a6 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBTextureEnvDot3.java +++ b/src/java/org/lwjgl/opengl/arb/ARBTextureEnvDot3.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.arb; -public interface ARBTextureEnvDot3 +public class ARBTextureEnvDot3 { public static final int GL_DOT3_RGB_ARB = 0x86AE; public static final int GL_DOT3_RGBA_ARB = 0x86AF; diff --git a/src/java/org/lwjgl/opengl/arb/ARBTextureMirroredRepeat.java b/src/java/org/lwjgl/opengl/arb/ARBTextureMirroredRepeat.java index 64f80488..9c0af6fa 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBTextureMirroredRepeat.java +++ b/src/java/org/lwjgl/opengl/arb/ARBTextureMirroredRepeat.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.arb; -public interface ARBTextureMirroredRepeat +public class ARBTextureMirroredRepeat { public static final int GL_MIRRORED_REPEAT_ARB = 0x8370; } diff --git a/src/java/org/lwjgl/opengl/arb/ARBTransposeMatrix.java b/src/java/org/lwjgl/opengl/arb/ARBTransposeMatrix.java index 019cab19..7ce9e5ca 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBTransposeMatrix.java +++ b/src/java/org/lwjgl/opengl/arb/ARBTransposeMatrix.java @@ -39,10 +39,21 @@ */ package org.lwjgl.opengl.arb; -public interface ARBTransposeMatrix -{ +import java.nio.FloatBuffer; + +public class ARBTransposeMatrix { public static final int GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3; public static final int GL_TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4; public static final int GL_TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5; public static final int GL_TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6; + + public static void glLoadTransposeMatrixARB(FloatBuffer pfMtx) { + nglLoadTransposeMatrixfARB(pfMtx, pfMtx.position()); + } + private static native void nglLoadTransposeMatrixfARB(FloatBuffer pfMtx, int pfMtx_offset); + + public static void glMultTransposeMatrixfARB(FloatBuffer pfMtx) { + nglMultTransposeMatrixfARB(pfMtx, pfMtx.position()); + } + private static native void nglMultTransposeMatrixfARB(FloatBuffer pfMtx, int pfMtx_offset); } diff --git a/src/java/org/lwjgl/opengl/arb/ARBVertexBlend.java b/src/java/org/lwjgl/opengl/arb/ARBVertexBlend.java index cb43f2f0..53d384e3 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBVertexBlend.java +++ b/src/java/org/lwjgl/opengl/arb/ARBVertexBlend.java @@ -39,8 +39,16 @@ */ package org.lwjgl.opengl.arb; -public interface ARBVertexBlend -{ +import java.nio.Buffer; +import java.nio.ByteBuffer; +import java.nio.ShortBuffer; +import java.nio.IntBuffer; +import java.nio.FloatBuffer; + +import org.lwjgl.opengl.VBOTracker; +import org.lwjgl.opengl.CoreGL11Constants; + +public class ARBVertexBlend { public static final int GL_MAX_VERTEX_UNITS_ARB = 0x86A4; public static final int GL_ACTIVE_VERTEX_UNITS_ARB = 0x86A5; public static final int GL_WEIGHT_SUM_UNITY_ARB = 0x86A6; @@ -83,4 +91,63 @@ public interface ARBVertexBlend public static final int GL_MODELVIEW29_ARB = 0x873D; public static final int GL_MODELVIEW30_ARB = 0x873E; public static final int GL_MODELVIEW31_ARB = 0x873F; + + public static void glWeightARB(ByteBuffer pWeights) { + nglWeightbvARB(pWeights.remaining(), pWeights, pWeights.position()); + } + private static native void nglWeightbvARB(int size, ByteBuffer pWeights, int pWeights_offset); + + public static void glWeightARB(FloatBuffer pfWeights) { + nglWeightfvARB(pfWeights.remaining(), pfWeights, pfWeights.position()); + } + private static native void nglWeightfvARB(int size, FloatBuffer pfWeights, int pfWeights_offset); + + public static void glWeightARB(IntBuffer piWeights) { + nglWeightivARB(piWeights.remaining(), piWeights, piWeights.position()); + } + private static native void nglWeightivARB(int size, IntBuffer piWeights, int piWeights_offset); + + public static void glWeightARB(ShortBuffer psWeights) { + nglWeightsvARB(psWeights.remaining(), psWeights, psWeights.position()); + } + private static native void nglWeightsvARB(int size, ShortBuffer psWeights, int psWeights_offset); + + public static void glWeightuARB(ByteBuffer pWeights) { + nglWeightubvARB(pWeights.remaining(), pWeights, pWeights.position()); + } + private static native void nglWeightubvARB(int size, ByteBuffer pWeights, int pWeights_offset); + + public static void glWeightuARB(IntBuffer piWeights) { + nglWeightuivARB(piWeights.remaining(), piWeights, piWeights.position()); + } + private static native void nglWeightuivARB(int size, IntBuffer piWeights, int piWeights_offset); + + public static void glWeightuARB(ShortBuffer psWeights) { + nglWeightusvARB(psWeights.remaining(), psWeights, psWeights.position()); + } + private static native void nglWeightusvARB(int size, ShortBuffer psWeights, int psWeights_offset); + + public static void glWeightPointerARB(int size, boolean unsigned, int stride, ByteBuffer pPointer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglWeightPointerARB(size, unsigned ? CoreGL11Constants.GL_UNSIGNED_BYTE : CoreGL11Constants.GL_BYTE, stride, pPointer, pPointer.position()); + } + public static void glWeightPointerARB(int size, boolean unsigned, int stride, ShortBuffer pPointer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglWeightPointerARB(size, unsigned ? CoreGL11Constants.GL_UNSIGNED_SHORT : CoreGL11Constants.GL_SHORT, stride, pPointer, pPointer.position()<<1); + } + public static void glWeightPointerARB(int size, int stride, FloatBuffer pPointer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglWeightPointerARB(size, CoreGL11Constants.GL_FLOAT, stride, pPointer, pPointer.position()<<2); + } + public static void glWeightPointerARB(int size, boolean unsigned, int stride, IntBuffer pPointer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglWeightPointerARB(size, unsigned ? CoreGL11Constants.GL_UNSIGNED_INT : CoreGL11Constants.GL_INT, stride, pPointer, pPointer.position()<<2); + } + private static native void nglWeightPointerARB(int size, int type, int stride, Buffer pPointer, int pPointer_offset); + public static void glWeightPointerARB(int size, int type, int stride, int buffer_offset) { + assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled"; + nglWeightPointerARBVBO(size, type, stride, buffer_offset); + } + private static native void nglWeightPointerARBVBO(int size, int type, int stride, int buffer_offset); + public static native void glVertexBlendARB(int count); } diff --git a/src/java/org/lwjgl/opengl/arb/ARBVertexBufferObject.java b/src/java/org/lwjgl/opengl/arb/ARBVertexBufferObject.java index 7b2e57cd..4c931278 100755 --- a/src/java/org/lwjgl/opengl/arb/ARBVertexBufferObject.java +++ b/src/java/org/lwjgl/opengl/arb/ARBVertexBufferObject.java @@ -41,8 +41,15 @@ package org.lwjgl.opengl.arb; -public interface ARBVertexBufferObject -{ +import java.nio.Buffer; +import java.nio.ByteBuffer; +import java.nio.ShortBuffer; +import java.nio.FloatBuffer; +import java.nio.IntBuffer; + +import org.lwjgl.opengl.VBOTracker; + +public class ARBVertexBufferObject { public static final int GL_ARRAY_BUFFER_ARB = 0x8892; public static final int GL_ELEMENT_ARRAY_BUFFER_ARB = 0x8893; public static final int GL_ARRAY_BUFFER_BINDING_ARB = 0x8894; @@ -74,4 +81,97 @@ public interface ARBVertexBufferObject public static final int GL_BUFFER_ACCESS_ARB = 0x88BB; public static final int GL_BUFFER_MAPPED_ARB = 0x88BC; public static final int GL_BUFFER_MAP_POINTER_ARB = 0x88BD; + + public static void glBindBufferARB(int target, int buffer) { + switch (target) { + case GL_ELEMENT_ARRAY_BUFFER_ARB: + VBOTracker.getVBOElementStack().setState(buffer); + break; + case GL_ARRAY_BUFFER_ARB: + VBOTracker.getVBOArrayStack().setState(buffer); + break; + default: assert false: "Unsupported VBO target " + target; + } + nglBindBufferARB(target, buffer); + } + private static native void nglBindBufferARB(int target, int buffer); + public static void glDeleteBuffersARB(IntBuffer buffers) { + for (int i = buffers.position(); i < buffers.limit(); i++) { + int buffer_handle = buffers.get(i); + if (VBOTracker.getVBOElementStack().getState() == buffer_handle) + VBOTracker.getVBOElementStack().setState(0); + if (VBOTracker.getVBOArrayStack().getState() == buffer_handle) + VBOTracker.getVBOArrayStack().setState(0); + } + nglDeleteBuffersARB(buffers.remaining(), buffers, buffers.position()); + } + private static native void nglDeleteBuffersARB(int n, IntBuffer buffers, int buffers_offset); + public static void glGenBuffersARB(IntBuffer buffers) { + nglGenBuffersARB(buffers.remaining(), buffers, buffers.position()); + } + private static native void nglGenBuffersARB(int n, IntBuffer buffers, int buffers_offset); + public static native boolean glIsBufferARB(int buffer); + public static void glBufferDataARB(int target, int size, ByteBuffer data, int usage) { + nglBufferDataARB(target, size, data, data != null ? data.position() : 0, usage); + } + public static void glBufferDataARB(int target, int size, ShortBuffer data, int usage) { + nglBufferDataARB(target, size, data, data != null ? data.position()<<1 : 0, usage); + } + public static void glBufferDataARB(int target, int size, FloatBuffer data, int usage) { + nglBufferDataARB(target, size, data, data != null ? data.position()<<2 : 0, usage); + } + public static void glBufferDataARB(int target, int size, IntBuffer data, int usage) { + nglBufferDataARB(target, size, data, data != null ? data.position()<<2 : 0, usage); + } + private static native void nglBufferDataARB(int target, int size, Buffer data, int data_offset, int usage); + public static void glBufferSubDataARB(int target, int offset, ByteBuffer data) { + nglBufferSubDataARB(target, offset, data.remaining(), data, data.position()); + } + public static void glBufferSubDataARB(int target, int offset, ShortBuffer data) { + nglBufferSubDataARB(target, offset, data.remaining()<<1, data, data.position()<<1); + } + public static void glBufferSubDataARB(int target, int offset, FloatBuffer data) { + nglBufferSubDataARB(target, offset, data.remaining()<<2, data, data.position()<<2); + } + public static void glBufferSubDataARB(int target, int offset, IntBuffer data) { + nglBufferSubDataARB(target, offset, data.remaining()<<2, data, data.position()<<2); + } + private static native void nglBufferSubDataARB(int target, int offset, int size, Buffer data, int data_offset); + public static void glGetBufferSubDataARB(int target, int offset, ByteBuffer data) { + nglGetBufferSubDataARB(target, offset, data.remaining(), data, data.position()); + } + public static void glGetBufferSubDataARB(int target, int offset, ShortBuffer data) { + nglGetBufferSubDataARB(target, offset, data.remaining()<<1, data, data.position()<<1); + } + public static void glGetBufferSubDataARB(int target, int offset, IntBuffer data) { + nglGetBufferSubDataARB(target, offset, data.remaining()<<2, data, data.position()<<2); + } + public static void glGetBufferSubDataARB(int target, int offset, FloatBuffer data) { + nglGetBufferSubDataARB(target, offset, data.remaining()<<2, data, data.position()<<2); + } + private static native void nglGetBufferSubDataARB(int target, int offset, int size, Buffer data, int data_offset); + /** + * glMapBufferARB maps a gl vertex buffer buffer to a ByteBuffer. The oldBuffer argument can be null, in + * which case a new ByteBuffer will be created, pointing to the returned memory. If oldBuffer is non-null, + * it will be returned if it points to the same mapped memory, otherwise a new ByteBuffer is created. + * That way, an application will normally use glMapBufferARB like this: + * + * ByteBuffer mapped_buffer; + * mapped_buffer = glMapBufferARB(..., ..., ..., null); + * ... + * // Another map on the same buffer + * mapped_buffer = glMapBufferARB(..., ..., ..., mapped_buffer); + * + * @param size The size of the buffer area. + * @param oldBuffer A ByteBuffer. If this argument points to the same address as the new mapping, it will be returned and + * no new buffer will be created. In that case, size is ignored. + * @return A ByteBuffer representing the mapped buffer memory. + */ + public static native ByteBuffer glMapBufferARB(int target, int access, int size, ByteBuffer oldBuffer); + public static native boolean glUnmapBufferARB(int target); + public static void glGetBufferParameterARB(int target, int pname, IntBuffer params) { + nglGetBufferParameterivARB(target, pname, params, params.position()); + } + private static native void nglGetBufferParameterivARB(int target, int pname, IntBuffer params, int params_offset); + public static native ByteBuffer glGetBufferPointerARB(int target, int pname, int size); } diff --git a/src/java/org/lwjgl/opengl/arb/ARBVertexProgram.java b/src/java/org/lwjgl/opengl/arb/ARBVertexProgram.java index b0a0a43b..63c27437 100644 --- a/src/java/org/lwjgl/opengl/arb/ARBVertexProgram.java +++ b/src/java/org/lwjgl/opengl/arb/ARBVertexProgram.java @@ -1,123 +1,342 @@ -/* +/* * Copyright (c) 2002 Lightweight Java Game Library Project * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are + * modification, are permitted provided that the following conditions are * met: - * - * * Redistributions of source code must retain the above copyright + * + * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * * Neither the name of 'Light Weight Java Game Library' nor the names of - * its contributors may be used to endorse or promote products derived + * * Neither the name of 'Light Weight Java Game Library' nor the names of + * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* - * Created by IntelliJ IDEA. - * User: nj - * Date: 12-08-2002 - * Time: 16:02:30 - * To change template for new interface use - * Code Style | Class Templates options (Tools | IDE Options). + * Created by LWJGL. + * User: spasi + * Date: 2003-11-28 + * Time: 16:39:44 */ + package org.lwjgl.opengl.arb; -public interface ARBVertexProgram -{ - public static final int GL_VERTEX_PROGRAM_ARB = 0x8620; - public static final int GL_VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642; - public static final int GL_VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643; - public static final int GL_COLOR_SUM_ARB = 0x8458; - public static final int GL_PROGRAM_FORMAT_ASCII_ARB = 0x8875; - public static final int GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622; - public static final int GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623; - public static final int GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624; - public static final int GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625; - public static final int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A; - public static final int GL_CURRENT_VERTEX_ATTRIB_ARB = 0x8626; - public static final int GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645; - public static final int GL_PROGRAM_LENGTH_ARB = 0x8627; - public static final int GL_PROGRAM_FORMAT_ARB = 0x8876; - public static final int GL_PROGRAM_BINDING_ARB = 0x8677; - public static final int GL_PROGRAM_INSTRUCTIONS_ARB = 0x88A0; - public static final int GL_MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1; - public static final int GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2; - public static final int GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3; - public static final int GL_PROGRAM_TEMPORARIES_ARB = 0x88A4; - public static final int GL_MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5; - public static final int GL_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6; - public static final int GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7; - public static final int GL_PROGRAM_PARAMETERS_ARB = 0x88A8; - public static final int GL_MAX_PROGRAM_PARAMETERS_ARB = 0x88A9; - public static final int GL_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA; - public static final int GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB; - public static final int GL_PROGRAM_ATTRIBS_ARB = 0x88AC; - public static final int GL_MAX_PROGRAM_ATTRIBS_ARB = 0x88AD; - public static final int GL_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE; - public static final int GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF; - public static final int GL_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0; - public static final int GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1; - public static final int GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2; - public static final int GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3; - public static final int GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4; - public static final int GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5; - public static final int GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6; - public static final int GL_PROGRAM_STRING_ARB = 0x8628; - public static final int GL_PROGRAM_ERROR_POSITION_ARB = 0x864B; - public static final int GL_CURRENT_MATRIX_ARB = 0x8641; - public static final int GL_TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7; - public static final int GL_CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640; - public static final int GL_MAX_VERTEX_ATTRIBS_ARB = 0x8869; - public static final int GL_MAX_PROGRAM_MATRICES_ARB = 0x862F; - public static final int GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E; - public static final int GL_PROGRAM_ERROR_STRING_ARB = 0x8874; - public static final int GL_MATRIX0_ARB = 0x88C0; - public static final int GL_MATRIX1_ARB = 0x88C1; - public static final int GL_MATRIX2_ARB = 0x88C2; - public static final int GL_MATRIX3_ARB = 0x88C3; - public static final int GL_MATRIX4_ARB = 0x88C4; - public static final int GL_MATRIX5_ARB = 0x88C5; - public static final int GL_MATRIX6_ARB = 0x88C6; - public static final int GL_MATRIX7_ARB = 0x88C7; - public static final int GL_MATRIX8_ARB = 0x88C8; - public static final int GL_MATRIX9_ARB = 0x88C9; - public static final int GL_MATRIX10_ARB = 0x88CA; - public static final int GL_MATRIX11_ARB = 0x88CB; - public static final int GL_MATRIX12_ARB = 0x88CC; - public static final int GL_MATRIX13_ARB = 0x88CD; - public static final int GL_MATRIX14_ARB = 0x88CE; - public static final int GL_MATRIX15_ARB = 0x88CF; - public static final int GL_MATRIX16_ARB = 0x88D0; - public static final int GL_MATRIX17_ARB = 0x88D1; - public static final int GL_MATRIX18_ARB = 0x88D2; - public static final int GL_MATRIX19_ARB = 0x88D3; - public static final int GL_MATRIX20_ARB = 0x88D4; - public static final int GL_MATRIX21_ARB = 0x88D5; - public static final int GL_MATRIX22_ARB = 0x88D6; - public static final int GL_MATRIX23_ARB = 0x88D7; - public static final int GL_MATRIX24_ARB = 0x88D8; - public static final int GL_MATRIX25_ARB = 0x88D9; - public static final int GL_MATRIX26_ARB = 0x88DA; - public static final int GL_MATRIX27_ARB = 0x88DB; - public static final int GL_MATRIX28_ARB = 0x88DC; - public static final int GL_MATRIX29_ARB = 0x88DD; - public static final int GL_MATRIX30_ARB = 0x88DE; - public static final int GL_MATRIX31_ARB = 0x88DF; +import org.lwjgl.opengl.CoreGL11Constants; +import org.lwjgl.opengl.VBOTracker; +import java.nio.Buffer; +import java.nio.ByteBuffer; +import java.nio.ShortBuffer; +import java.nio.FloatBuffer; +import java.nio.IntBuffer; + +public class ARBVertexProgram extends ARBProgram { + + /* + * Accepted by the parameter of Disable, Enable, and IsEnabled, by the + * parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev, + * and by the parameter of ProgramStringARB, BindProgramARB, + * ProgramEnvParameter4[df][v]ARB, ProgramLocalParameter4[df][v]ARB, + * GetProgramEnvParameter[df]vARB, GetProgramLocalParameter[df]vARB, + * GetProgramivARB, and GetProgramStringARB. + */ + public static final int GL_VERTEX_PROGRAM_ARB = 0x8620; + + /* + * Accepted by the parameter of Disable, Enable, and IsEnabled, and by + * the parameter of GetBooleanv, GetIntegerv, GetFloatv, and + * GetDoublev: + */ + public static final int GL_VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642; + public static final int GL_VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643; + public static final int GL_COLOR_SUM_ARB = 0x8458; + + /* + * Accepted by the parameter of GetVertexAttrib[dfi]vARB: + */ + public static final int GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622; + public static final int GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623; + public static final int GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624; + public static final int GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625; + public static final int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A; + public static final int GL_CURRENT_VERTEX_ATTRIB_ARB = 0x8626; + + /* + * Accepted by the parameter of GetVertexAttribPointervARB: + */ + public static final int GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645; + + /* + * Accepted by the parameter of GetProgramivARB: + */ + public static final int GL_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0; + public static final int GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1; + public static final int GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2; + public static final int GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3; + + /* + * Accepted by the parameter of GetBooleanv, GetIntegerv, + * GetFloatv, and GetDoublev: + */ + public static final int GL_MAX_VERTEX_ATTRIBS_ARB = 0x8869; + + public static native void glVertexAttrib1sARB(int index, short x); + + public static native void glVertexAttrib1fARB(int index, float x); + + public static native void glVertexAttrib2sARB(int index, short x, short y); + + public static native void glVertexAttrib2fARB(int index, float x, float y); + + public static native void glVertexAttrib3sARB(int index, short x, short y, short z); + + public static native void glVertexAttrib3fARB(int index, float x, float y, float z); + + public static native void glVertexAttrib4sARB(int index, short x, short y, short z, short w); + + public static native void glVertexAttrib4fARB(int index, float x, float y, float z, float w); + + public static native void glVertexAttrib4NubARB(int index, byte x, byte y, byte z, byte w); + + // --------------------------- + public static void glVertexAttrib1ARB(int index, ShortBuffer values) { + nglVertexAttrib1svARB(index, values, values.position()); + } + + private static native void nglVertexAttrib1svARB(int index, ShortBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib1ARB(int index, FloatBuffer values) { + nglVertexAttrib1fvARB(index, values, values.position()); + } + + private static native void nglVertexAttrib1fvARB(int index, FloatBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib2ARB(int index, ShortBuffer values) { + assert values.remaining() >= 2: " must have 2 shorts available."; + nglVertexAttrib2svARB(index, values, values.position()); + } + + private static native void nglVertexAttrib2svARB(int index, ShortBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib2ARB(int index, FloatBuffer values) { + assert values.remaining() >= 2: " must have 2 floats available."; + nglVertexAttrib2fvARB(index, values, values.position()); + } + + private static native void nglVertexAttrib2fvARB(int index, FloatBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib3ARB(int index, ShortBuffer values) { + assert values.remaining() >= 3: " must have 3 shorts available."; + nglVertexAttrib3svARB(index, values, values.position()); + } + + private static native void nglVertexAttrib3svARB(int index, ShortBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib3ARB(int index, FloatBuffer values) { + assert values.remaining() >= 3: " must have 3 floats available."; + nglVertexAttrib3fvARB(index, values, values.position()); + } + + private static native void nglVertexAttrib3fvARB(int index, FloatBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib4ARB(int index, ByteBuffer values) { + assert values.remaining() >= 4: " must have 4 bytes available."; + nglVertexAttrib4bvARB(index, values, values.position()); + } + + private static native void nglVertexAttrib4bvARB(int index, ByteBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib4ARB(int index, ShortBuffer values) { + assert values.remaining() >= 4: " must have 4 shorts available."; + nglVertexAttrib4svARB(index, values, values.position()); + } + + private static native void nglVertexAttrib4svARB(int index, ShortBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib4ARB(int index, IntBuffer values) { + assert values.remaining() >= 4: " must have 4 ints available."; + nglVertexAttrib4ivARB(index, values, values.position()); + } + + private static native void nglVertexAttrib4ivARB(int index, IntBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib4uARB(int index, ByteBuffer values) { + assert values.remaining() >= 4: " must have 4 bytes available."; + nglVertexAttrib4ubvARB(index, values, values.position()); + } + + private static native void nglVertexAttrib4ubvARB(int index, ByteBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib4uARB(int index, ShortBuffer values) { + assert values.remaining() >= 4: " must have 4 shorts available."; + nglVertexAttrib4usvARB(index, values, values.position()); + } + + private static native void nglVertexAttrib4usvARB(int index, ShortBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib4uARB(int index, IntBuffer values) { + assert values.remaining() >= 4: " must have 4 ints available."; + nglVertexAttrib4uivARB(index, values, values.position()); + } + + private static native void nglVertexAttrib4uivARB(int index, IntBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib4ARB(int index, FloatBuffer values) { + assert values.remaining() >= 4: " must have 4 floats available."; + nglVertexAttrib4fvARB(index, values, values.position()); + } + + private static native void nglVertexAttrib4fvARB(int index, FloatBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib4NARB(int index, ByteBuffer values) { + assert values.remaining() >= 4: " must have 4 bytes available."; + nglVertexAttrib4NbvARB(index, values, values.position()); + } + + private static native void nglVertexAttrib4NbvARB(int index, ByteBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib4NARB(int index, ShortBuffer values) { + assert values.remaining() >= 4: " must have 4 shorts available."; + nglVertexAttrib4NsvARB(index, values, values.position()); + } + + private static native void nglVertexAttrib4NsvARB(int index, ShortBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib4NARB(int index, IntBuffer values) { + assert values.remaining() >= 4: " must have 4 ints available."; + nglVertexAttrib4NivARB(index, values, values.position()); + } + + private static native void nglVertexAttrib4NivARB(int index, IntBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib4NuARB(int index, ByteBuffer values) { + assert values.remaining() >= 4: " must have 4 bytes available."; + nglVertexAttrib4NubvARB(index, values, values.position()); + } + + private static native void nglVertexAttrib4NubvARB(int index, ByteBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib4NuARB(int index, ShortBuffer values) { + assert values.remaining() >= 4: " must have 4 shorts available."; + nglVertexAttrib4NusvARB(index, values, values.position()); + } + + private static native void nglVertexAttrib4NusvARB(int index, ShortBuffer values, int valuesOffset); + // --------------------------- + + // --------------------------- + public static void glVertexAttrib4NuARB(int index, IntBuffer values) { + assert values.remaining() >= 4: " must have 4 ints available."; + nglVertexAttrib4NuivARB(index, values, values.position()); + } + + private static native void nglVertexAttrib4NuivARB(int index, IntBuffer values, int valuesOffset); + // --------------------------- + + + public static void glVertexAttribPointerARB(int index, int size, boolean unsigned, boolean normalized, int stride, ByteBuffer buffer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglVertexAttribPointerARB(index, size, unsigned ? CoreGL11Constants.GL_UNSIGNED_BYTE : CoreGL11Constants.GL_BYTE, normalized, stride, buffer, buffer.position()); + } + + public static void glVertexAttribPointerARB(int index, int size, boolean unsigned, boolean normalized, int stride, ShortBuffer buffer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglVertexAttribPointerARB(index, size, unsigned ? CoreGL11Constants.GL_UNSIGNED_SHORT : CoreGL11Constants.GL_SHORT, normalized, stride, buffer, buffer.position() << 1); + } + + public static void glVertexAttribPointerARB(int index, int size, boolean normalized, int stride, FloatBuffer buffer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglVertexAttribPointerARB(index, size, CoreGL11Constants.GL_FLOAT, normalized, stride, buffer, buffer.position() << 2); + } + + public static void glVertexAttribPointerARB(int index, int size, boolean unsigned, boolean normalized, int stride, IntBuffer buffer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglVertexAttribPointerARB(index, size, unsigned ? CoreGL11Constants.GL_UNSIGNED_INT : CoreGL11Constants.GL_INT, normalized, stride, buffer, buffer.position() << 2); + } + + private static native void nglVertexAttribPointerARB(int index, int size, int type, boolean normalized, int stride, Buffer buffer, int bufferOffset); + + // --------------------------- + public static void glVertexAttribPointerARB(int index, int size, int type, boolean normalized, int stride, int bufferOffset) { + assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled"; + nglVertexAttribPointerARBVBO(index, size, type, normalized, stride, bufferOffset); + } + + private static native void nglVertexAttribPointerARBVBO(int index, int size, int type, boolean normalized, int stride, int bufferOffset); + // --------------------------- + + public static native void glEnableVertexAttribArrayARB(int index); + + public static native void glDisableVertexAttribArrayARB(int index); + + // --------------------------- + public static void glGetVertexAttribARB(int index, int pname, FloatBuffer params) { + assert params.remaining() > 0 : " must have at least one element available."; + nglGetVertexAttribfvARB(index, pname, params, params.position()); + } + + private static native void nglGetVertexAttribfvARB(int index, int pname, FloatBuffer params, int paramsOffset); + // --------------------------- + + // --------------------------- + public static void glGetVertexAttribARB(int index, int pname, IntBuffer params) { + assert params.remaining() > 0 : " must have at least one element available."; + nglGetVertexAttribivARB(index, pname, params, params.position()); + } + + private static native void nglGetVertexAttribivARB(int index, int pname, IntBuffer params, int paramsOffset); + // --------------------------- + + public static native ByteBuffer glGetVertexAttribPointerARB(int index, int pname, int size); + } diff --git a/src/java/org/lwjgl/opengl/arb/ARBWindowPos.java b/src/java/org/lwjgl/opengl/arb/ARBWindowPos.java new file mode 100644 index 00000000..e4c2c852 --- /dev/null +++ b/src/java/org/lwjgl/opengl/arb/ARBWindowPos.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2002 Lightweight Java Game Library Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'Light Weight Java Game Library' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +/* + */ + +package org.lwjgl.opengl.arb; + +public class ARBWindowPos { + public static native void glWindowPos2fARB(float x, float y); + + public static native void glWindowPos2iARB(int x, int y); + + public static native void glWindowPos2sARB(short x, short y); + + public static native void glWindowPos3fARB(float x, float y, float z); + + public static native void glWindowPos3iARB(int x, int y, int z); + + public static native void glWindowPos3sARB(short x, short y, short z); +} diff --git a/src/java/org/lwjgl/opengl/ati/ATIElementArray.java b/src/java/org/lwjgl/opengl/ati/ATIElementArray.java index 66f3994f..caf9c8ec 100644 --- a/src/java/org/lwjgl/opengl/ati/ATIElementArray.java +++ b/src/java/org/lwjgl/opengl/ati/ATIElementArray.java @@ -39,9 +39,40 @@ */ package org.lwjgl.opengl.ati; -public interface ATIElementArray -{ +import java.nio.Buffer; +import java.nio.ByteBuffer; +import java.nio.ShortBuffer; +import java.nio.FloatBuffer; +import java.nio.IntBuffer; + +import org.lwjgl.opengl.VBOTracker; +import org.lwjgl.opengl.CoreGL11Constants; + +public class ATIElementArray { public static final int GL_ELEMENT_ARRAY_ATI = 0x8768; public static final int GL_ELEMENT_ARRAY_TYPE_ATI = 0x8769; public static final int GL_ELEMENT_ARRAY_POINTER_ATI = 0x876A; + + public static void glElementPointerATI(ByteBuffer pPointer) { + assert VBOTracker.getVBOElementStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglElementPointerATI(CoreGL11Constants.GL_UNSIGNED_BYTE, pPointer, pPointer.position()); + } + public static void glElementPointerATI(ShortBuffer pPointer) { + assert VBOTracker.getVBOElementStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglElementPointerATI(CoreGL11Constants.GL_UNSIGNED_SHORT, pPointer, pPointer.position()<<1); + } + public static void glElementPointerATI(IntBuffer pPointer) { + assert VBOTracker.getVBOElementStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglElementPointerATI(CoreGL11Constants.GL_UNSIGNED_INT, pPointer, pPointer.position()<<2); + } + private static native void nglElementPointerATI(int type, Buffer pPointer, int pPointer_offset); + + public static void glElementPointerATI(int type, int buffer_offset) { + assert VBOTracker.getVBOElementStack().getState() != 0: "Cannot use int offsets when VBO is disabled"; + nglElementPointerATIVBO(type, buffer_offset); + } + private static native void nglElementPointerATIVBO(int type, int buffer_offset); + + public static native void glDrawElementArrayATI(int mode, int count); + public static native void glDrawRangeElementArrayATI(int mode, int start, int end, int count); } diff --git a/src/java/org/lwjgl/opengl/ati/ATIEnvmapBumpmap.java b/src/java/org/lwjgl/opengl/ati/ATIEnvmapBumpmap.java index 2a4ecea0..0dbb2bf3 100644 --- a/src/java/org/lwjgl/opengl/ati/ATIEnvmapBumpmap.java +++ b/src/java/org/lwjgl/opengl/ati/ATIEnvmapBumpmap.java @@ -39,8 +39,10 @@ */ package org.lwjgl.opengl.ati; -public interface ATIEnvmapBumpmap -{ +import java.nio.FloatBuffer; +import java.nio.IntBuffer; + +public class ATIEnvmapBumpmap { public static final int GL_BUMP_ROT_MATRIX_ATI = 0x8775; public static final int GL_BUMP_ROT_MATRIX_SIZE_ATI = 0x8776; public static final int GL_BUMP_NUM_TEX_UNITS_ATI = 0x8777; @@ -49,4 +51,24 @@ public interface ATIEnvmapBumpmap public static final int GL_DU8DV8_ATI = 0x877A; public static final int GL_BUMP_ENVMAP_ATI = 0x877B; public static final int GL_BUMP_TARGET_ATI = 0x877C; + + public static void glTexBumpParameterATI(int pname, FloatBuffer pfParam) { + nglTexBumpParameterfvATI(pname, pfParam, pfParam.position()); + } + private static native void nglTexBumpParameterfvATI(int pname, FloatBuffer pfParam, int pfParam_offset); + + public static void glTexBumpParameterATI(int pname, IntBuffer piParam) { + nglTexBumpParameterivATI(pname, piParam, piParam.position()); + } + private static native void nglTexBumpParameterivATI(int pname, IntBuffer piParam, int piParam_offset); + + public static void glGetTexBumpParameterATI(int pname, FloatBuffer pfParam) { + nglGetTexBumpParameterfvATI(pname, pfParam, pfParam.position()); + } + private static native void nglGetTexBumpParameterfvATI(int pname, FloatBuffer pfParam, int pfParam_offset); + + public static void glGetTexBumpParameterATI(int pname, IntBuffer piParam) { + nglGetTexBumpParameterivATI(pname, piParam, piParam.position()); + } + private static native void nglGetTexBumpParameterivATI(int pname, IntBuffer piParam, int piParam_offset); } diff --git a/src/java/org/lwjgl/opengl/ati/ATIFragmentShader.java b/src/java/org/lwjgl/opengl/ati/ATIFragmentShader.java index ef3148c1..5a4afbb6 100644 --- a/src/java/org/lwjgl/opengl/ati/ATIFragmentShader.java +++ b/src/java/org/lwjgl/opengl/ati/ATIFragmentShader.java @@ -43,8 +43,9 @@ */ package org.lwjgl.opengl.ati; -public interface ATIFragmentShader -{ +import java.nio.FloatBuffer; + +public class ATIFragmentShader { public static final int GL_FRAGMENT_SHADER_ATI = 0x8920; public static final int GL_REG_0_ATI = 0x8921; public static final int GL_REG_1_ATI = 0x8922; @@ -149,4 +150,92 @@ public interface ATIFragmentShader public static final int GL_COMP_BIT_ATI = 0x00000002; public static final int GL_NEGATE_BIT_ATI = 0x00000004; public static final int GL_BIAS_BIT_ATI = 0x00000008; + + public static native int glGenFragmentShadersATI(int range); + + public static native void glBindFragmentShaderATI(int id); + + public static native void glDeleteFragmentShaderATI(int id); + + public static native void glBeginFragmentShaderATI(); + + public static native void glEndFragmentShaderATI(); + + public static native void glPassTexCoordATI(int dst, int coord, int swizzle); + + public static native void glSampleMapATI(int dst, int interp, int swizzle); + + public static native void glColorFragmentOp1ATI( + int op, + int dst, + int dstMask, + int dstMod, + int arg1, + int arg1Rep, + int arg1Mod); + + public static native void glColorFragmentOp2ATI( + int op, + int dst, + int dstMask, + int dstMod, + int arg1, + int arg1Rep, + int arg1Mod, + int arg2, + int arg2Rep, + int arg2Mod); + + public static native void glColorFragmentOp3ATI( + int op, + int dst, + int dstMask, + int dstMod, + int arg1, + int arg1Rep, + int arg1Mod, + int arg2, + int arg2Rep, + int arg2Mod, + int arg3, + int arg3Rep, + int arg3Mod); + + public static native void glAlphaFragmentOp1ATI( + int op, + int dst, + int dstMod, + int arg1, + int arg1Rep, + int arg1Mod); + + public static native void glAlphaFragmentOp2ATI( + int op, + int dst, + int dstMod, + int arg1, + int arg1Rep, + int arg1Mod, + int arg2, + int arg2Rep, + int arg2Mod); + + public static native void glAlphaFragmentOp3ATI( + int op, + int dst, + int dstMod, + int arg1, + int arg1Rep, + int arg1Mod, + int arg2, + int arg2Rep, + int arg2Mod, + int arg3, + int arg3Rep, + int arg3Mod); + + public static void glSetFragmentShaderConstantATI(int dst, FloatBuffer pfValue) { + nglSetFragmentShaderConstantATI(dst, pfValue, pfValue.position()); + } + private static native void nglSetFragmentShaderConstantATI(int dst, FloatBuffer pfValue, int pfValue_offset); } diff --git a/src/java/org/lwjgl/opengl/ati/ATIPnTriangles.java b/src/java/org/lwjgl/opengl/ati/ATIPnTriangles.java index 04771b32..3b3f8d6d 100644 --- a/src/java/org/lwjgl/opengl/ati/ATIPnTriangles.java +++ b/src/java/org/lwjgl/opengl/ati/ATIPnTriangles.java @@ -39,8 +39,7 @@ */ package org.lwjgl.opengl.ati; -public interface ATIPnTriangles -{ +public class ATIPnTriangles { public static final int GL_PN_TRIANGLES_ATI = 0x87F0; public static final int GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1; public static final int GL_PN_TRIANGLES_POINT_MODE_ATI = 0x87F2; @@ -50,4 +49,8 @@ public interface ATIPnTriangles public static final int GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6; public static final int GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7; public static final int GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8; + + public static native void glPNTrianglesfATI(int pname, float param); + + public static native void glPNTrianglesiATI(int pname, int param); } diff --git a/src/java/org/lwjgl/opengl/ati/ATISeparateStencil.java b/src/java/org/lwjgl/opengl/ati/ATISeparateStencil.java index 92af39e1..31b9de16 100644 --- a/src/java/org/lwjgl/opengl/ati/ATISeparateStencil.java +++ b/src/java/org/lwjgl/opengl/ati/ATISeparateStencil.java @@ -39,9 +39,12 @@ */ package org.lwjgl.opengl.ati; -public interface ATISeparateStencil { +public class ATISeparateStencil { public static final int GL_STENCIL_BACK_FUNC_ATI = 0x8800; public static final int GL_STENCIL_BACK_FAIL_ATI = 0x8801; public static final int GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802; public static final int GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803; + + public static native void glStencilOpSeparateATI(int face, int sfail, int dpfail, int dppass); + public static native void glStencilFuncSeparateATI(int frontfunc, int backfunc, int ref, int mask); } diff --git a/src/java/org/lwjgl/opengl/ati/ATITextureMirrorOnce.java b/src/java/org/lwjgl/opengl/ati/ATITextureMirrorOnce.java index e2ba28de..3b6f2955 100644 --- a/src/java/org/lwjgl/opengl/ati/ATITextureMirrorOnce.java +++ b/src/java/org/lwjgl/opengl/ati/ATITextureMirrorOnce.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.ati; -public interface ATITextureMirrorOnce +public class ATITextureMirrorOnce { public static final int GL_MIRROR_CLAMP_ATI = 0x8742; public static final int GL_MIRROR_CLAMP_TO_EDGE_ATI = 0x8743; diff --git a/src/java/org/lwjgl/opengl/ati/ATIVertexArrayObject.java b/src/java/org/lwjgl/opengl/ati/ATIVertexArrayObject.java index 79c88da7..1391fbad 100644 --- a/src/java/org/lwjgl/opengl/ati/ATIVertexArrayObject.java +++ b/src/java/org/lwjgl/opengl/ati/ATIVertexArrayObject.java @@ -39,8 +39,13 @@ */ package org.lwjgl.opengl.ati; -public interface ATIVertexArrayObject -{ +import java.nio.Buffer; +import java.nio.ByteBuffer; +import java.nio.ShortBuffer; +import java.nio.FloatBuffer; +import java.nio.IntBuffer; + +public class ATIVertexArrayObject { public static final int GL_STATIC_ATI = 0x8760; public static final int GL_DYNAMIC_ATI = 0x8761; public static final int GL_PRESERVE_ATI = 0x8762; @@ -49,4 +54,78 @@ public interface ATIVertexArrayObject public static final int GL_OBJECT_BUFFER_USAGE_ATI = 0x8765; public static final int GL_ARRAY_OBJECT_BUFFER_ATI = 0x8766; public static final int GL_ARRAY_OBJECT_OFFSET_ATI = 0x8767; + + public static int glNewObjectBufferATI(int size, ByteBuffer pPointer, int usage) { + return nglNewObjectBufferATI(size, pPointer, pPointer != null ? pPointer.position() : 0, usage); + } + public static int glNewObjectBufferATI(int size, ShortBuffer pPointer, int usage) { + return nglNewObjectBufferATI(size, pPointer, pPointer != null ? pPointer.position()<<1 : 0, usage); + } + public static int glNewObjectBufferATI(int size, FloatBuffer pPointer, int usage) { + return nglNewObjectBufferATI(size, pPointer, pPointer != null ? pPointer.position()<<2 : 0, usage); + } + public static int glNewObjectBufferATI(int size, IntBuffer pPointer, int usage) { + return nglNewObjectBufferATI(size, pPointer, pPointer != null ? pPointer.position()<<2 : 0, usage); + } + private static native int nglNewObjectBufferATI(int size, Buffer pPointer, int pPointer_offset, int usage); + public static native boolean glIsObjectBufferATI(int buffer); + + public static void glUpdateObjectBufferATI(int buffer, int offset, ByteBuffer pPointer, int preserve) { + nglUpdateObjectBufferATI(buffer, offset, pPointer.remaining(), pPointer, pPointer.position(), preserve); + } + public static void glUpdateObjectBufferATI(int buffer, int offset, ShortBuffer pPointer, int preserve) { + nglUpdateObjectBufferATI(buffer, offset, pPointer.remaining()<<1, pPointer, pPointer.position()<<1, preserve); + } + public static void glUpdateObjectBufferATI(int buffer, int offset, FloatBuffer pPointer, int preserve) { + nglUpdateObjectBufferATI(buffer, offset, pPointer.remaining()<<2, pPointer, pPointer.position()<<2, preserve); + } + public static void glUpdateObjectBufferATI(int buffer, int offset, IntBuffer pPointer, int preserve) { + nglUpdateObjectBufferATI(buffer, offset, pPointer.remaining()<<2, pPointer, pPointer.position()<<2, preserve); + } + private static native void nglUpdateObjectBufferATI(int buffer, int offset, int size, Buffer pPointer, int pPointer_offset, int preserve); + + public static void glGetObjectBufferATI(int buffer, int pname, FloatBuffer pfParams) { + nglGetObjectBufferfvATI(buffer, pname, pfParams, pfParams.position()); + } + private static native void nglGetObjectBufferfvATI(int buffer, int pname, FloatBuffer pfParams, int pfParams_offset); + + public static void glGetObjectBufferATI(int buffer, int pname, IntBuffer piParams) { + nglGetObjectBufferivATI(buffer, pname, piParams, piParams.position()); + } + private static native void nglGetObjectBufferivATI(int buffer, int pname, IntBuffer piParams, int piParams_offset); + public static native void glFreeObjectBufferATI(int buffer); + public static native void glArrayObjectATI( + int array, + int size, + int type, + int stride, + int buffer, + int offset); + + public static void glGetArrayObjectATI(int array, int pname, FloatBuffer pfParams) { + nglGetArrayObjectfvATI(array, pname, pfParams, pfParams.position()); + } + private static native void nglGetArrayObjectfvATI(int array, int pname, FloatBuffer pfParams, int pfParams_offset); + + public static void glGetArrayObjectATI(int array, int pname, IntBuffer piParams) { + nglGetArrayObjectivATI(array, pname, piParams, piParams.position()); + } + private static native void nglGetArrayObjectivATI(int array, int pname, IntBuffer piParams, int piParams_offset); + + public static native void glVariantArrayObjectATI( + int id, + int type, + int stride, + int buffer, + int offset); + + public static void glGetVariantArrayObjectATI(int id, int pname, FloatBuffer pfParams) { + nglGetVariantArrayObjectfvATI(id, pname, pfParams, pfParams.position()); + } + private static native void nglGetVariantArrayObjectfvATI(int id, int pname, FloatBuffer pfParams, int pfParams_offset_offset); + + public static void glGetVariantArrayObjectATI(int id, int pname, IntBuffer piParams) { + nglGetVariantArrayObjectivATI(id, pname, piParams, piParams.position()); + } + private static native void nglGetVariantArrayObjectivATI(int id, int pname, IntBuffer piParams, int piParams_offset); } diff --git a/src/java/org/lwjgl/opengl/ati/ATIVertexStreams.java b/src/java/org/lwjgl/opengl/ati/ATIVertexStreams.java index bae0d50d..d3fc2f89 100644 --- a/src/java/org/lwjgl/opengl/ati/ATIVertexStreams.java +++ b/src/java/org/lwjgl/opengl/ati/ATIVertexStreams.java @@ -39,8 +39,7 @@ */ package org.lwjgl.opengl.ati; -public interface ATIVertexStreams -{ +public class ATIVertexStreams { public static final int GL_MAX_VERTEX_STREAMS_ATI = 0x876B; public static final int GL_VERTEX_SOURCE_ATI = 0x876C; public static final int GL_VERTEX_STREAM0_ATI = 0x876D; @@ -51,4 +50,39 @@ public interface ATIVertexStreams public static final int GL_VERTEX_STREAM5_ATI = 0x8772; public static final int GL_VERTEX_STREAM6_ATI = 0x8773; public static final int GL_VERTEX_STREAM7_ATI = 0x8774; + + public static native void glVertexStream1fATI(int stream, float x); + public static native void glVertexStream1iATI(int stream, int x); + public static native void glVertexStream1sATI(int stream, short x); + public static native void glVertexStream2fATI(int stream, float x, float y); + public static native void glVertexStream2iATI(int stream, int x, int y); + public static native void glVertexStream2sATI(int stream, short x, short y); + public static native void glVertexStream3fATI(int stream, float x, float y, float z); + public static native void glVertexStream3iATI(int stream, int x, int y, int z); + public static native void glVertexStream3sATI(int stream, short x, short y, short z); + public static native void glVertexStream4fATI( + int stream, + float x, + float y, + float z, + float w); + public static native void glVertexStream4iATI( + int stream, + int x, + int y, + int z, + int w); + public static native void glVertexStream4sATI( + int stream, + short x, + short y, + short z, + short w); + public static native void glNormalStream3bATI(int stream, byte x, byte y, byte z); + public static native void glNormalStream3fATI(int stream, float x, float y, float z); + public static native void glNormalStream3iATI(int stream, int x, int y, int z); + public static native void glNormalStream3sATI(int stream, short x, short y, short z); + public static native void glClientActiveVertexStreamATI(int stream); + public static native void glVertexBlendEnvfATI(int pname, float param); + public static native void glVertexBlendEnviATI(int pname, int param); } diff --git a/src/java/org/lwjgl/opengl/atix/ATIXPointSprites.java b/src/java/org/lwjgl/opengl/atix/ATIXPointSprites.java index ffc10584..d7f3104d 100644 --- a/src/java/org/lwjgl/opengl/atix/ATIXPointSprites.java +++ b/src/java/org/lwjgl/opengl/atix/ATIXPointSprites.java @@ -39,8 +39,7 @@ */ package org.lwjgl.opengl.atix; -public interface ATIXPointSprites -{ +public class ATIXPointSprites { public static final int GL_TEXTURE_POINT_MODE_ATIX = 0x60b0; public static final int GL_TEXTURE_POINT_ONE_COORD_ATIX = 0x60b1; public static final int GL_TEXTURE_POINT_SPRITE_ATIX = 0x60b2; diff --git a/src/java/org/lwjgl/opengl/atix/ATIXTextureEnvRoute.java b/src/java/org/lwjgl/opengl/atix/ATIXTextureEnvRoute.java index c9679853..2c218c80 100644 --- a/src/java/org/lwjgl/opengl/atix/ATIXTextureEnvRoute.java +++ b/src/java/org/lwjgl/opengl/atix/ATIXTextureEnvRoute.java @@ -39,8 +39,7 @@ */ package org.lwjgl.opengl.atix; -public interface ATIXTextureEnvRoute -{ +public class ATIXTextureEnvRoute { public static final int GL_SECONDARY_COLOR_ATIX = 0x8747; public static final int GL_TEXTURE_OUTPUT_RGB_ATIX = 0x8748; public static final int GL_TEXTURE_OUTPUT_ALPHA_ATIX = 0x8749; diff --git a/src/java/org/lwjgl/opengl/ext/EXTAbgr.java b/src/java/org/lwjgl/opengl/ext/EXTAbgr.java index cf3e0cef..7eb11a8a 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTAbgr.java +++ b/src/java/org/lwjgl/opengl/ext/EXTAbgr.java @@ -39,8 +39,6 @@ */ package org.lwjgl.opengl.ext; -public interface EXTAbgr -{ - +public class EXTAbgr { public static final int GL_ABGR_EXT = 0x8000; } diff --git a/src/java/org/lwjgl/opengl/ext/EXTBgra.java b/src/java/org/lwjgl/opengl/ext/EXTBgra.java index 0ed5b966..c8744bf1 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTBgra.java +++ b/src/java/org/lwjgl/opengl/ext/EXTBgra.java @@ -37,7 +37,7 @@ * * @author cas */ -public interface EXTBgra { +public class EXTBgra { public static final int GL_BGR_EXT = 0x80E0; public static final int GL_BGRA_EXT = 0x80E1; } diff --git a/src/java/org/lwjgl/opengl/ext/EXTBlendFuncSeparate.java b/src/java/org/lwjgl/opengl/ext/EXTBlendFuncSeparate.java new file mode 100644 index 00000000..38177c2a --- /dev/null +++ b/src/java/org/lwjgl/opengl/ext/EXTBlendFuncSeparate.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2002 Lightweight Java Game Library Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'Light Weight Java Game Library' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.lwjgl.opengl.ext; + +/** + * Insert the type's description here. + * Creation date: (29/06/2000 00:45:10) + */ +public class EXTBlendFuncSeparate { + public static final int GL_BLEND_DST_RGB_EXT = 0x80C8; + public static final int GL_BLEND_SRC_RGB_EXT = 0x80C9; + public static final int GL_BLEND_DST_ALPHA_EXT = 0x80CA; + public static final int GL_BLEND_SRC_ALPHA_EXT = 0x80CB; + + public static native void glBlendFuncSeparateEXT(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha); +} diff --git a/src/java/org/lwjgl/opengl/ext/EXTBlendSubtract.java b/src/java/org/lwjgl/opengl/ext/EXTBlendSubtract.java index f54cca2f..42f16a34 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTBlendSubtract.java +++ b/src/java/org/lwjgl/opengl/ext/EXTBlendSubtract.java @@ -36,7 +36,7 @@ package org.lwjgl.opengl.ext; * EXT_blend_subtract constants * @author cas */ -public interface EXTBlendSubtract { +public class EXTBlendSubtract { public static final int GL_FUNC_SUBTRACT_EXT = 0x800A; public static final int GL_FUNC_REVERSE_SUBTRACT_EXT = 0x800B; } diff --git a/src/java/org/lwjgl/opengl/ext/EXTCompiledVertexArray.java b/src/java/org/lwjgl/opengl/ext/EXTCompiledVertexArray.java index 869afd51..80b274c6 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTCompiledVertexArray.java +++ b/src/java/org/lwjgl/opengl/ext/EXTCompiledVertexArray.java @@ -39,8 +39,10 @@ */ package org.lwjgl.opengl.ext; -public interface EXTCompiledVertexArray -{ +public class EXTCompiledVertexArray { public static final int GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8; public static final int GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9; + + public static native void glLockArraysEXT(int first, int count); + public static native void glUnlockArraysEXT(); } diff --git a/src/java/org/lwjgl/opengl/ext/EXTDrawRangeElements.java b/src/java/org/lwjgl/opengl/ext/EXTDrawRangeElements.java index d864487c..9a317270 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTDrawRangeElements.java +++ b/src/java/org/lwjgl/opengl/ext/EXTDrawRangeElements.java @@ -39,8 +39,35 @@ */ package org.lwjgl.opengl.ext; -public interface EXTDrawRangeElements -{ +import java.nio.Buffer; +import java.nio.ByteBuffer; +import java.nio.ShortBuffer; +import java.nio.IntBuffer; + +import org.lwjgl.opengl.VBOTracker; +import org.lwjgl.opengl.CoreGL11Constants; + +public class EXTDrawRangeElements { public static final int GL_MAX_ELEMENTS_VERTICES_EXT = 0x80E8; public static final int GL_MAX_ELEMENTS_INDICES_EXT = 0x80E9; + + public static void glDrawRangeElementsEXT(int mode, int start, int end, ByteBuffer pIndices) { + assert VBOTracker.getVBOElementStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglDrawRangeElementsEXT(mode, start, end, pIndices.remaining(), CoreGL11Constants.GL_UNSIGNED_BYTE, pIndices, pIndices.position()); + } + public static void glDrawRangeElementsEXT(int mode, int start, int end, ShortBuffer pIndices) { + assert VBOTracker.getVBOElementStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglDrawRangeElementsEXT(mode, start, end, pIndices.remaining(), CoreGL11Constants.GL_UNSIGNED_SHORT, pIndices, pIndices.position()<<1); + } + public static void glDrawRangeElementsEXT(int mode, int start, int end, IntBuffer pIndices) { + assert VBOTracker.getVBOElementStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglDrawRangeElementsEXT(mode, start, end, pIndices.remaining(), CoreGL11Constants.GL_UNSIGNED_INT, pIndices, pIndices.position()<<2); + } + private static native void nglDrawRangeElementsEXT(int mode, int start, int end, int count, int type, Buffer pIndices, int pIndices_offset); + + public static void glDrawRangeElementsEXT(int mode, int start, int end, int count, int type, int buffer_offset) { + assert VBOTracker.getVBOElementStack().getState() != 0: "Cannot use int offsets when VBO is disabled"; + nglDrawRangeElementsEXTVBO(mode, start, end, count, type, buffer_offset); + } + private static native void nglDrawRangeElementsEXTVBO(int mode, int start, int end, int count, int type, int buffer_offset); } diff --git a/src/java/org/lwjgl/opengl/ext/EXTFogCoord.java b/src/java/org/lwjgl/opengl/ext/EXTFogCoord.java index 2bab818e..092d25b3 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTFogCoord.java +++ b/src/java/org/lwjgl/opengl/ext/EXTFogCoord.java @@ -39,8 +39,13 @@ */ package org.lwjgl.opengl.ext; -public interface EXTFogCoord -{ +import java.nio.Buffer; +import java.nio.FloatBuffer; + +import org.lwjgl.opengl.VBOTracker; +import org.lwjgl.opengl.CoreGL11Constants; + +public class EXTFogCoord { public static final int GL_FOG_COORDINATE_SOURCE_EXT = 0x8450; public static final int GL_FOG_COORDINATE_EXT = 0x8451; public static final int GL_FRAGMENT_DEPTH_EXT = 0x8452; @@ -50,4 +55,15 @@ public interface EXTFogCoord public static final int GL_FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456; public static final int GL_FOG_COORDINATE_ARRAY_EXT = 0x8457; + public static native void glFogCoordfEXT(float coord); + public static void glFogCoordPointerEXT(int stride, FloatBuffer data) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglFogCoordPointerEXT(CoreGL11Constants.GL_FLOAT, stride, data, data.position() << 2); + } + private static native void nglFogCoordPointerEXT(int type, int stride, Buffer data, int data_offset); + public static void glFogCoordPointerEXT(int type, int stride, int buffer_offset) { + assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled"; + nglFogCoordPointerEXTVBO(type, stride, buffer_offset); + } + private static native void nglFogCoordPointerEXTVBO(int type, int stride, int buffer_offset); } diff --git a/src/java/org/lwjgl/opengl/ext/EXTMultiDrawArrays.java b/src/java/org/lwjgl/opengl/ext/EXTMultiDrawArrays.java new file mode 100644 index 00000000..0cdde474 --- /dev/null +++ b/src/java/org/lwjgl/opengl/ext/EXTMultiDrawArrays.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2002 Lightweight Java Game Library Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'Light Weight Java Game Library' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +/* + * Created by IntelliJ IDEA. + * User: nj + * Date: 12-08-2002 + * Time: 16:00:36 + * To change template for new interface use + * Code Style | Class Templates options (Tools | IDE Options). + */ +package org.lwjgl.opengl.ext; + +import java.nio.IntBuffer; + +public class EXTMultiDrawArrays { + public static void glMultiDrawArraysEXT(int mode, IntBuffer piFirst, IntBuffer piCount) { + assert piFirst.remaining() == piCount.remaining(): "piFirst.remaining() != piCount.remaining()"; + nglMultiDrawArraysEXT(mode, piFirst, piFirst.position(), piCount, piCount.position(), piFirst.remaining()); + } + private static native void nglMultiDrawArraysEXT(int mode, IntBuffer piFirst, int piFirst_offset, IntBuffer piCount, int piCount_offset, int primcount); +} diff --git a/src/java/org/lwjgl/opengl/ext/EXTPackedPixels.java b/src/java/org/lwjgl/opengl/ext/EXTPackedPixels.java index 210bf20c..ef411ecf 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTPackedPixels.java +++ b/src/java/org/lwjgl/opengl/ext/EXTPackedPixels.java @@ -36,7 +36,7 @@ package org.lwjgl.opengl.ext; * Insert the type's description here. * Creation date: (07/11/99 19:16:17) */ -public interface EXTPackedPixels { +public class EXTPackedPixels { public static final int GL_UNSIGNED_BYTE_3_3_2_EXT = 0x8032; public static final int GL_UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033; public static final int GL_UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034; diff --git a/src/java/org/lwjgl/opengl/ext/EXTPointParameters.java b/src/java/org/lwjgl/opengl/ext/EXTPointParameters.java index 519ba2a8..974b32df 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTPointParameters.java +++ b/src/java/org/lwjgl/opengl/ext/EXTPointParameters.java @@ -39,10 +39,18 @@ */ package org.lwjgl.opengl.ext; -public interface EXTPointParameters -{ +import java.nio.FloatBuffer; + +public class EXTPointParameters { public static final int GL_POINT_SIZE_MIN_EXT = 0x8126; public static final int GL_POINT_SIZE_MAX_EXT = 0x8127; public static final int GL_POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128; public static final int GL_DISTANCE_ATTENUATION_EXT = 0x8129; + + public static native void glPointParameterfEXT(int pname, float param); + + public static void glPointParameterEXT(int pname, FloatBuffer pfParams) { + nglPointParameterfvEXT(pname, pfParams, pfParams.position()); + } + private static native void nglPointParameterfvEXT(int pname, FloatBuffer pfParams, int pfParams_offset); } diff --git a/src/java/org/lwjgl/opengl/ext/EXTRescaleNormal.java b/src/java/org/lwjgl/opengl/ext/EXTRescaleNormal.java index 7d1c1a27..f9e5022d 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTRescaleNormal.java +++ b/src/java/org/lwjgl/opengl/ext/EXTRescaleNormal.java @@ -37,6 +37,6 @@ package org.lwjgl.opengl.ext; * EXT_rescale_normal * @author cas */ -public interface EXTRescaleNormal { +public class EXTRescaleNormal { public static final int GL_RESCALE_NORMAL_EXT = 0x803A; } diff --git a/src/java/org/lwjgl/opengl/ext/EXTSecondaryColor.java b/src/java/org/lwjgl/opengl/ext/EXTSecondaryColor.java index 33916f47..87705e4f 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTSecondaryColor.java +++ b/src/java/org/lwjgl/opengl/ext/EXTSecondaryColor.java @@ -39,8 +39,14 @@ */ package org.lwjgl.opengl.ext; -public interface EXTSecondaryColor -{ +import java.nio.Buffer; +import java.nio.ByteBuffer; +import java.nio.FloatBuffer; + +import org.lwjgl.opengl.VBOTracker; +import org.lwjgl.opengl.CoreGL11Constants; + +public class EXTSecondaryColor { public static final int GL_COLOR_SUM_EXT = 0x8458; public static final int GL_CURRENT_SECONDARY_COLOR_EXT = 0x8459; public static final int GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A; @@ -48,4 +54,26 @@ public interface EXTSecondaryColor public static final int GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C; public static final int GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D; public static final int GL_SECONDARY_COLOR_ARRAY_EXT = 0x845E; + + public static native void glSecondaryColor3bEXT(byte red, byte green, byte blue); + + public static native void glSecondaryColor3fEXT(float red, float green, float blue); + + public static native void glSecondaryColor3ubEXT(byte red, byte green, byte blue); + + public static void glSecondaryColorPointerEXT(int size, boolean unsigned, int stride, ByteBuffer pPointer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglSecondaryColorPointerEXT(size, unsigned ? CoreGL11Constants.GL_UNSIGNED_BYTE: CoreGL11Constants.GL_BYTE, stride, pPointer, pPointer.position()); + } + public static void glSecondaryColorPointerEXT(int size, int stride, FloatBuffer pPointer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglSecondaryColorPointerEXT(size, CoreGL11Constants.GL_FLOAT, stride, pPointer, pPointer.position()<<2); + } + private static native void nglSecondaryColorPointerEXT(int size, int type, int stride, Buffer pPointer, int pPointer_offset); + + public static void glSecondaryColorPointerEXT(int size, int type, int stride, int buffer_offset) { + assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled"; + nglSecondaryColorPointerEXTVBO(size, type, stride, buffer_offset); + } + private static native void nglSecondaryColorPointerEXTVBO(int size, int type, int stride, int buffer_offset); } diff --git a/src/java/org/lwjgl/opengl/ext/EXTSeparateSpecularColor.java b/src/java/org/lwjgl/opengl/ext/EXTSeparateSpecularColor.java index 9e9c4114..ae3ae571 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTSeparateSpecularColor.java +++ b/src/java/org/lwjgl/opengl/ext/EXTSeparateSpecularColor.java @@ -37,7 +37,7 @@ package org.lwjgl.opengl.ext; * EXT_separate_specular_color constants. * @author cas */ -public interface EXTSeparateSpecularColor { +public class EXTSeparateSpecularColor { public static final int GL_SINGLE_COLOR_EXT = 0x81F9; public static final int GL_SEPARATE_SPECULAR_COLOR_EXT = 0x81FA; public static final int GL_LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8; diff --git a/src/java/org/lwjgl/opengl/ext/EXTSharedTexturePalette.java b/src/java/org/lwjgl/opengl/ext/EXTSharedTexturePalette.java index 05dd7f1a..b332a673 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTSharedTexturePalette.java +++ b/src/java/org/lwjgl/opengl/ext/EXTSharedTexturePalette.java @@ -36,6 +36,6 @@ package org.lwjgl.opengl.ext; * Insert the type's description here. * Creation date: (07/11/99 19:15:54) */ -public interface EXTSharedTexturePalette { +public class EXTSharedTexturePalette { public static final int GL_SHARED_TEXTURE_PALETTE_EXT = 0x81FB; } diff --git a/src/java/org/lwjgl/opengl/ext/EXTStencilTwoSide.java b/src/java/org/lwjgl/opengl/ext/EXTStencilTwoSide.java index 54752751..912d2aca 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTStencilTwoSide.java +++ b/src/java/org/lwjgl/opengl/ext/EXTStencilTwoSide.java @@ -39,8 +39,9 @@ */ package org.lwjgl.opengl.ext; -public interface EXTStencilTwoSide -{ +public class EXTStencilTwoSide { public static final int GL_STENCIL_TEST_TWO_SIDE_EXT = 0x8910; public static final int GL_ACTIVE_STENCIL_FACE_EXT = 0x8911; + + public static native void glActiveStencilFaceEXT(int face); } diff --git a/src/java/org/lwjgl/opengl/ext/EXTStencilWrap.java b/src/java/org/lwjgl/opengl/ext/EXTStencilWrap.java index 6698d370..0cf0901e 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTStencilWrap.java +++ b/src/java/org/lwjgl/opengl/ext/EXTStencilWrap.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.ext; -public interface EXTStencilWrap +public class EXTStencilWrap { public static final int GL_INCR_WRAP_EXT = 0x8507; public static final int GL_DECR_WRAP_EXT = 0x8508; diff --git a/src/java/org/lwjgl/opengl/ext/EXTTextureCompressionS3TC.java b/src/java/org/lwjgl/opengl/ext/EXTTextureCompressionS3TC.java index c4695085..da4061da 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTTextureCompressionS3TC.java +++ b/src/java/org/lwjgl/opengl/ext/EXTTextureCompressionS3TC.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.ext; -public interface EXTTextureCompressionS3TC +public class EXTTextureCompressionS3TC { public static final int GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0; public static final int GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1; diff --git a/src/java/org/lwjgl/opengl/ext/EXTTextureEnvCombine.java b/src/java/org/lwjgl/opengl/ext/EXTTextureEnvCombine.java index ad85e99e..6b6cd446 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTTextureEnvCombine.java +++ b/src/java/org/lwjgl/opengl/ext/EXTTextureEnvCombine.java @@ -36,7 +36,7 @@ package org.lwjgl.opengl.ext; * Insert the type's description here. * Creation date: (22/02/00 01:26:05) */ -public interface EXTTextureEnvCombine { +public class EXTTextureEnvCombine { public static final int GL_COMBINE_EXT = 0x8570; public static final int GL_COMBINE_RGB_EXT = 0x8571; public static final int GL_COMBINE_ALPHA_EXT = 0x8572; diff --git a/src/java/org/lwjgl/opengl/ext/EXTTextureEnvDot3.java b/src/java/org/lwjgl/opengl/ext/EXTTextureEnvDot3.java index 9b49d883..b61cb1b1 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTTextureEnvDot3.java +++ b/src/java/org/lwjgl/opengl/ext/EXTTextureEnvDot3.java @@ -37,7 +37,7 @@ package org.lwjgl.opengl.ext; * EXT_texture_env_dot3 constants. * @author cas */ -public interface EXTTextureEnvDot3 { +public class EXTTextureEnvDot3 { public static final int GL_DOT3_RGB_EXT = 0x8740; public static final int GL_DOT3_RGBA_EXT = 0x8741; } diff --git a/src/java/org/lwjgl/opengl/ext/EXTTextureFilterAnisotropic.java b/src/java/org/lwjgl/opengl/ext/EXTTextureFilterAnisotropic.java index 66118db0..6b150b86 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTTextureFilterAnisotropic.java +++ b/src/java/org/lwjgl/opengl/ext/EXTTextureFilterAnisotropic.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.ext; -public interface EXTTextureFilterAnisotropic +public class EXTTextureFilterAnisotropic { public static final int GL_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; public static final int GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; diff --git a/src/java/org/lwjgl/opengl/ext/EXTTextureLODBias.java b/src/java/org/lwjgl/opengl/ext/EXTTextureLODBias.java index 8e68fe95..294a449c 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTTextureLODBias.java +++ b/src/java/org/lwjgl/opengl/ext/EXTTextureLODBias.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.ext; -public interface EXTTextureLODBias +public class EXTTextureLODBias { public static final int GL_TEXTURE_FILTER_CONTROL_EXT = 0x8500; public static final int GL_TEXTURE_LOD_BIAS_EXT = 0x8501; diff --git a/src/java/org/lwjgl/opengl/ext/EXTVertexShader.java b/src/java/org/lwjgl/opengl/ext/EXTVertexShader.java index cfd9a833..19324103 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTVertexShader.java +++ b/src/java/org/lwjgl/opengl/ext/EXTVertexShader.java @@ -39,8 +39,16 @@ */ package org.lwjgl.opengl.ext; -public interface EXTVertexShader -{ +import java.nio.Buffer; +import java.nio.ByteBuffer; +import java.nio.ShortBuffer; +import java.nio.FloatBuffer; +import java.nio.IntBuffer; + +import org.lwjgl.opengl.CoreGL11Constants; +import org.lwjgl.opengl.VBOTracker; + +public class EXTVertexShader { public static final int GL_VERTEX_SHADER_EXT = 0x8780; public static final int GL_VERTEX_SHADER_BINDING_EXT = 0x8781; public static final int GL_OP_INDEX_EXT = 0x8782; @@ -151,4 +159,192 @@ public interface EXTVertexShader public static final int GL_INVARIANT_DATATYPE_EXT = 0x87EB; public static final int GL_LOCAL_CONSTANT_VALUE_EXT = 0x87EC; public static final int GL_LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED; + + public static native void glBeginVertexShaderEXT(); + public static native void glEndVertexShaderEXT(); + + public static native void glBindVertexShaderEXT(int id); + + public static native int glGenVertexShadersEXT(int range); + + public static native void glDeleteVertexShaderEXT(int id); + + public static native void glShaderOp1EXT(int op, int res, int arg1); + + public static native void glShaderOp2EXT(int op, int res, int arg1, int arg2); + + public static native void glShaderOp3EXT( + int op, + int res, + int arg1, + int arg2, + int arg3); + + public static native void glSwizzleEXT( + int res, + int in, + int outX, + int outY, + int outZ, + int outW); + + public static native void glWriteMaskEXT( + int res, + int in, + int outX, + int outY, + int outZ, + int outW); + public static native void glInsertComponentEXT(int res, int src, int num); + + public static native void glExtractComponentEXT(int res, int src, int num); + + public static native int glGenSymbolsEXT( + int dataType, + int storageType, + int range, + int components); + public static void glSetInvariantEXT(int id, boolean unsigned, ByteBuffer pAddr) { + nglSetInvariantEXT(id, unsigned ? CoreGL11Constants.GL_UNSIGNED_BYTE : CoreGL11Constants.GL_BYTE, pAddr, pAddr.position()); + } + public static void glSetInvariantEXT(int id, boolean unsigned, ShortBuffer pAddr) { + nglSetInvariantEXT(id, unsigned ? CoreGL11Constants.GL_UNSIGNED_SHORT : CoreGL11Constants.GL_SHORT, pAddr, pAddr.position()<<1); + } + public static void glSetInvariantEXT(int id, FloatBuffer pAddr) { + nglSetInvariantEXT(id, CoreGL11Constants.GL_FLOAT, pAddr, pAddr.position()<<2); + } + public static void glSetInvariantEXT(int id, boolean unsigned, IntBuffer pAddr) { + nglSetInvariantEXT(id, unsigned ? CoreGL11Constants.GL_UNSIGNED_INT : CoreGL11Constants.GL_INT, pAddr, pAddr.position()<<2); + } + private static native void nglSetInvariantEXT(int id, int type, Buffer pAddr, int pAddr_offset); + + public static void glSetLocalConstantEXT(int id, boolean unsigned, ByteBuffer pAddr) { + nglSetLocalConstantEXT(id, unsigned ? CoreGL11Constants.GL_UNSIGNED_BYTE : CoreGL11Constants.GL_BYTE, pAddr, pAddr.position()); + } + public static void glSetLocalConstantEXT(int id, boolean unsigned, ShortBuffer pAddr) { + nglSetLocalConstantEXT(id, unsigned ? CoreGL11Constants.GL_UNSIGNED_SHORT : CoreGL11Constants.GL_SHORT, pAddr, pAddr.position()<<1); + } + public static void glSetLocalConstantEXT(int id, FloatBuffer pAddr) { + nglSetLocalConstantEXT(id, CoreGL11Constants.GL_FLOAT, pAddr, pAddr.position()<<2); + } + public static void glSetLocalConstantEXT(int id, boolean unsigned, IntBuffer pAddr) { + nglSetLocalConstantEXT(id, unsigned ? CoreGL11Constants.GL_UNSIGNED_INT : CoreGL11Constants.GL_INT, pAddr, pAddr.position()<<2); + } + private static native void nglSetLocalConstantEXT(int id, int type, Buffer pAddr, int pAddr_offset); + + public static void glVariantEXT(int id, ByteBuffer pAddr) { + nglVariantbvEXT(id, pAddr, pAddr.position()); + } + private static native void nglVariantbvEXT(int id, ByteBuffer pAddr, int pAddr_offset); + + public static void glVariantEXT(int id, ShortBuffer psAddr) { + nglVariantsvEXT(id, psAddr, psAddr.position()); + } + private static native void nglVariantsvEXT(int id, ShortBuffer psAddr, int psAddr_offset); + + public static void glVariantEXT(int id, FloatBuffer pfAddr) { + nglVariantfvEXT(id, pfAddr, pfAddr.position()); + } + private static native void nglVariantfvEXT(int id, FloatBuffer pfAddr, int pfAddr_offset); + + public static void glVariantEXT(int id, IntBuffer piAddr) { + nglVariantivEXT(id, piAddr, piAddr.position()); + } + private static native void nglVariantivEXT(int id, IntBuffer piAddr, int piAddr_offset); + + public static void glVariantuEXT(int id, ByteBuffer pAddr) { + nglVariantubvEXT(id, pAddr, pAddr.position()); + } + private static native void nglVariantubvEXT(int id, ByteBuffer pAddr, int pAddr_offset); + + public static void glVariantuEXT(int id, ShortBuffer psAddr) { + nglVariantusvEXT(id, psAddr, psAddr.position()); + } + private static native void nglVariantusvEXT(int id, ShortBuffer psAddr, int psAddr_offset); + + public static void glVariantuEXT(int id, IntBuffer piAddr) { + nglVariantuivEXT(id, piAddr, piAddr.position()); + } + private static native void nglVariantuivEXT(int id, IntBuffer piAddr, int piAddr_offset); + public static void glVariantPointerEXT(int id, boolean unsigned, int stride, ByteBuffer pAddr) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglVariantPointerEXT(id, unsigned ? CoreGL11Constants.GL_UNSIGNED_BYTE : CoreGL11Constants.GL_BYTE, stride, pAddr, pAddr.position()); + } + public static void glVariantPointerEXT(int id, boolean unsigned, int stride, ShortBuffer pAddr) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglVariantPointerEXT(id, unsigned ? CoreGL11Constants.GL_UNSIGNED_SHORT : CoreGL11Constants.GL_SHORT, stride, pAddr, pAddr.position()<<1); + } + public static void glVariantPointerEXT(int id, int stride, FloatBuffer pAddr) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglVariantPointerEXT(id, CoreGL11Constants.GL_FLOAT, stride, pAddr, pAddr.position()<<2); + } + public static void glVariantPointerEXT(int id, boolean unsigned, int stride, IntBuffer pAddr) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglVariantPointerEXT(id, unsigned ? CoreGL11Constants.GL_UNSIGNED_INT : CoreGL11Constants.GL_INT, stride, pAddr, pAddr.position()<<2); + } + private static native void nglVariantPointerEXT(int id, int type, int stride, Buffer pAddr, int pAddr_offset); + public static void glVariantPointerEXT(int id, int type, int stride, int buffer_offset) { + assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled"; + nglVariantPointerEXTVBO(id, type, stride, buffer_offset); + } + private static native void nglVariantPointerEXTVBO(int id, int type, int stride, int buffer_offset); + public static native void glEnableVariantClientStateEXT(int id); + + public static native void glDisableVariantClientStateEXT(int id); + + public static native int glBindLightParameterEXT(int light, int value); + + public static native int glBindMaterialParameterEXT(int face, int value); + + public static native int glBindTexGenParameterEXT(int unit, int coord, int value); + + public static native int glBindTextureUnitParameterEXT(int unit, int value); + + public static native int glBindParameterEXT(int value); + public static native boolean glIsVariantEnabledEXT(int id, int cap); + + public static void glGetVariantBooleanEXT(int id, int value, ByteBuffer pbData) { + nglGetVariantBooleanvEXT(id, value, pbData, pbData.position()); + } + private static native void nglGetVariantBooleanvEXT(int id, int value, ByteBuffer pbData, int pbData_offset); + public static void glGetVariantIntegerEXT(int id, int value, IntBuffer piData) { + nglGetVariantIntegervEXT(id, value, piData, piData.position()); + } + private static native void nglGetVariantIntegervEXT(int id, int value, IntBuffer piData, int piData_offset); + + public static void glGetVariantFloatEXT(int id, int value, FloatBuffer pfData) { + nglGetVariantFloatvEXT(id, value, pfData, pfData.position()); + } + private static native void nglGetVariantFloatvEXT(int id, int value, FloatBuffer pfData, int pfData_offset); + + public static native ByteBuffer glGetVariantPointerEXT(int id, int value, int size); + public static void glGetInvariantBooleanEXT(int id, int value, ByteBuffer pbData) { + nglGetInvariantBooleanvEXT(id, value, pbData, pbData.position()); + } + private static native void nglGetInvariantBooleanvEXT(int id, int value, ByteBuffer pbData, int pbData_offset); + + public static void glGetInvariantIntegerEXT(int id, int value, IntBuffer piData) { + nglGetInvariantIntegervEXT(id, value, piData, piData.position()); + } + private static native void nglGetInvariantIntegervEXT(int id, int value, IntBuffer piData, int piData_offset); + + public static void glGetInvariantFloatEXT(int id, int value, FloatBuffer pfData) { + nglGetInvariantFloatvEXT(id, value, pfData, pfData.position()); + } + private static native void nglGetInvariantFloatvEXT(int id, int value, FloatBuffer pfData, int pfData_offset); + + public static void glGetLocalConstantBooleanEXT(int id, int value, ByteBuffer pbData) { + nglGetLocalConstantBooleanvEXT(id, value, pbData, pbData.position()); + } + private static native void nglGetLocalConstantBooleanvEXT(int id, int value, ByteBuffer pbData, int pbData_offset); + + public static void glGetLocalConstantIntegerEXT(int id, int value, IntBuffer piData) { + nglGetLocalConstantIntegervEXT(id, value, piData, piData.position()); + } + private static native void nglGetLocalConstantIntegervEXT(int id, int value, IntBuffer piData, int piData_offset); + + public static void glGetLocalConstantFloatEXT(int id, int value, FloatBuffer pfData) { + nglGetLocalConstantFloatvEXT(id, value, pfData, pfData.position()); + } + private static native void nglGetLocalConstantFloatvEXT(int id, int value, FloatBuffer pfData, int pfData_offset); } diff --git a/src/java/org/lwjgl/opengl/ext/EXTVertexWeighting.java b/src/java/org/lwjgl/opengl/ext/EXTVertexWeighting.java index 11312e09..57a74602 100644 --- a/src/java/org/lwjgl/opengl/ext/EXTVertexWeighting.java +++ b/src/java/org/lwjgl/opengl/ext/EXTVertexWeighting.java @@ -39,8 +39,13 @@ */ package org.lwjgl.opengl.ext; -public interface EXTVertexWeighting -{ +import java.nio.Buffer; +import java.nio.FloatBuffer; + +import org.lwjgl.opengl.VBOTracker; +import org.lwjgl.opengl.CoreGL11Constants; + +public class EXTVertexWeighting { public static final int GL_MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3; /* alias to MODELVIEW_STACK_DEPTH */ public static final int GL_MODELVIEW1_STACK_DEPTH_EXT = 0x8502; public static final int GL_MODELVIEW0_MATRIX_EXT = 0x0BA6; /* alias to MODELVIEW_MATRIX */ @@ -54,4 +59,17 @@ public interface EXTVertexWeighting public static final int GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E; public static final int GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F; public static final int GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510; + + public static native void glVertexWeightfEXT(float weight); + + public static void glVertexWeightPointerEXT(int size, int stride, FloatBuffer pPointer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglVertexWeightPointerEXT(size, CoreGL11Constants.GL_FLOAT, stride, pPointer, pPointer.position()<<2); + } + private static native void nglVertexWeightPointerEXT(int size, int type, int stride, Buffer pPointer, int pPointer_offset); + public static void glVertexWeightPointerEXT(int size, int type, int stride, int buffer_offset) { + assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled"; + nglVertexWeightPointerEXTVBO(size, type, stride, buffer_offset); + } + private static native void nglVertexWeightPointerEXTVBO(int size, int type, int stride, int buffer_offset); } diff --git a/src/java/org/lwjgl/opengl/nv/NVCopyDepthToColor.java b/src/java/org/lwjgl/opengl/nv/NVCopyDepthToColor.java index 93e8fdeb..73482055 100644 --- a/src/java/org/lwjgl/opengl/nv/NVCopyDepthToColor.java +++ b/src/java/org/lwjgl/opengl/nv/NVCopyDepthToColor.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.nv; -public interface NVCopyDepthToColor +public class NVCopyDepthToColor { public static final int GL_DEPTH_STENCIL_TO_RGBA_NV = 0x886E; public static final int GL_DEPTH_STENCIL_TO_BGRA_NV = 0x886F; diff --git a/src/java/org/lwjgl/opengl/nv/NVDepthClamp.java b/src/java/org/lwjgl/opengl/nv/NVDepthClamp.java index 768672c2..52e31fb8 100644 --- a/src/java/org/lwjgl/opengl/nv/NVDepthClamp.java +++ b/src/java/org/lwjgl/opengl/nv/NVDepthClamp.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.nv; -public interface NVDepthClamp +public class NVDepthClamp { public static final int GL_DEPTH_CLAMP_NV = 0x864F; } diff --git a/src/java/org/lwjgl/opengl/nv/NVEvaluators.java b/src/java/org/lwjgl/opengl/nv/NVEvaluators.java index 207d0b20..22df261d 100644 --- a/src/java/org/lwjgl/opengl/nv/NVEvaluators.java +++ b/src/java/org/lwjgl/opengl/nv/NVEvaluators.java @@ -39,8 +39,11 @@ */ package org.lwjgl.opengl.nv; -public interface NVEvaluators -{ +import java.nio.Buffer; +import java.nio.IntBuffer; +import java.nio.FloatBuffer; + +public class NVEvaluators { public static final int GL_EVAL_2D_NV = 0x86C0; public static final int GL_EVAL_TRIANGULAR_2D_NV = 0x86C1; public static final int GL_MAP_TESSELLATION_NV = 0x86C2; @@ -65,4 +68,41 @@ public interface NVEvaluators public static final int GL_EVAL_VERTEX_ATTRIB15_NV = 0x86D5; public static final int GL_MAX_MAP_TESSELLATION_NV = 0x86D6; public static final int GL_MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7; + + public static void glGetMapControlPointsNV(int target, int index, int type, int ustride, int vstride, boolean packed, FloatBuffer pPoints) { + nglGetMapControlPointsNV(target, index, type, ustride, vstride, packed, pPoints, pPoints.position()<<2); + } + private static native void nglGetMapControlPointsNV(int target, int index, int type, int ustride, int vstride, boolean packed, Buffer pPoints, int pPoints_offset); + public static void glMapControlPointsNV(int target, int index, int type, int ustride, int vstride, int uorder, int vorder, boolean packed, FloatBuffer pPoints) { + nglMapControlPointsNV(target, index, type, ustride, vstride, uorder, vorder, packed, pPoints, pPoints.position()<<2); + } + private static native void nglMapControlPointsNV(int target, int index, int type, int ustride, int vstride, int uorder, int vorder, boolean packed, Buffer pPoints, int pPoints_offset); + public static void glMapParameterNV(int target, int pname, FloatBuffer pfParams) { + nglMapParameterfvNV(target, pname, pfParams, pfParams.position()); + } + private static native void nglMapParameterfvNV(int target, int pname, FloatBuffer pfParams, int pfParams_offset); + public static void glMapParameterNV(int target, int pname, IntBuffer piParams) { + nglMapParameterivNV(target, pname, piParams, piParams.position()); + } + private static native void nglMapParameterivNV(int target, int pname, IntBuffer piParams, int piParams_offset); + + public static void glGetMapParameterNV(int target, int pname, FloatBuffer pfParams) { + nglGetMapParameterfvNV(target, pname, pfParams, pfParams.position()); + } + private static native void nglGetMapParameterfvNV(int target, int pname, FloatBuffer pfParams, int pfParams_offset); + + public static void glGetMapParameterNV(int target, int pname, IntBuffer piParams) { + nglGetMapParameterivNV(target, pname, piParams, piParams.position()); + } + private static native void nglGetMapParameterivNV(int target, int pname, IntBuffer piParams, int piParams_offset); + public static void glGetMapAttribParameterNV(int target, int index, int pname, FloatBuffer pfParams) { + nglGetMapAttribParameterfvNV(target, index, pname, pfParams, pfParams.position()); + } + private static native void nglGetMapAttribParameterfvNV(int target, int index, int pname, FloatBuffer pfParams, int pfParams_offset); + + public static void glGetMapAttribParameterNV(int target, int index, int pname, IntBuffer piParams) { + nglGetMapAttribParameterivNV(target, index, pname, piParams, piParams.position()); + } + private static native void nglGetMapAttribParameterivNV(int target, int index, int pname, IntBuffer piParams, int piParams_offset); + public static native void glEvalMapsNV(int target, int mode); } diff --git a/src/java/org/lwjgl/opengl/nv/NVFence.java b/src/java/org/lwjgl/opengl/nv/NVFence.java index a152bf89..644acaba 100644 --- a/src/java/org/lwjgl/opengl/nv/NVFence.java +++ b/src/java/org/lwjgl/opengl/nv/NVFence.java @@ -39,9 +39,32 @@ */ package org.lwjgl.opengl.nv; -public interface NVFence -{ +import java.nio.IntBuffer; + +public class NVFence { public static final int GL_ALL_COMPLETED_NV = 0x84F2; public static final int GL_FENCE_STATUS_NV = 0x84F3; public static final int GL_FENCE_CONDITION_NV = 0x84F4; + + public static void glGenFencesNV(IntBuffer piFences) { + nglGenFencesNV(piFences.remaining(), piFences, piFences.position()); + } + private static native void nglGenFencesNV(int n, IntBuffer piFences, int piFences_offset); + public static void glDeleteFencesNV(IntBuffer piFences) { + nglDeleteFencesNV(piFences.remaining(), piFences, piFences.position()); + } + private static native void nglDeleteFencesNV(int n, IntBuffer piFences, int piFences_offset); + + public static native void glSetFenceNV(int fence, int condition); + + public static native boolean glTestFenceNV(int fence); + + public static native void glFinishFenceNV(int fence); + + public static native boolean glIsFenceNV(int fence); + + public static void glGetFenceNV(int fence, int pname, IntBuffer piParams) { + nglGetFenceivNV(fence, pname, piParams, piParams.position()); + } + private static native void nglGetFenceivNV(int fence, int pname, IntBuffer piParams, int piParams_offset); } diff --git a/src/java/org/lwjgl/opengl/nv/NVFogDistance.java b/src/java/org/lwjgl/opengl/nv/NVFogDistance.java index 0a3f41d9..f26bcc63 100644 --- a/src/java/org/lwjgl/opengl/nv/NVFogDistance.java +++ b/src/java/org/lwjgl/opengl/nv/NVFogDistance.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.nv; -public interface NVFogDistance +public class NVFogDistance { public static final int GL_FOG_DISTANCE_MODE_NV = 0x855A; public static final int GL_EYE_RADIAL_NV = 0x855B; diff --git a/src/java/org/lwjgl/opengl/nv/NVLightMaxExponent.java b/src/java/org/lwjgl/opengl/nv/NVLightMaxExponent.java index aced39ca..56701028 100644 --- a/src/java/org/lwjgl/opengl/nv/NVLightMaxExponent.java +++ b/src/java/org/lwjgl/opengl/nv/NVLightMaxExponent.java @@ -39,8 +39,7 @@ */ package org.lwjgl.opengl.nv; -public interface NVLightMaxExponent -{ +public class NVLightMaxExponent { public static final int GL_MAX_SHININESS_NV = 0x8504; public static final int GL_MAX_SPOT_EXPONENT_NV = 0x8505; } diff --git a/src/java/org/lwjgl/opengl/nv/NVOcclusionQuery.java b/src/java/org/lwjgl/opengl/nv/NVOcclusionQuery.java index 797af394..b7c1f8cd 100644 --- a/src/java/org/lwjgl/opengl/nv/NVOcclusionQuery.java +++ b/src/java/org/lwjgl/opengl/nv/NVOcclusionQuery.java @@ -39,8 +39,9 @@ */ package org.lwjgl.opengl.nv; -public interface NVOcclusionQuery -{ +import java.nio.IntBuffer; + +public class NVOcclusionQuery { public static final int GL_OCCLUSION_TEST_HP = 0x8165; public static final int GL_OCCLUSION_TEST_RESULT_HP = 0x8166; /* HP_occlusion_test */ @@ -48,4 +49,28 @@ public interface NVOcclusionQuery public static final int GL_CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865; public static final int GL_PIXEL_COUNT_NV = 0x8866; public static final int GL_PIXEL_COUNT_AVAILABLE_NV = 0x8867; + + public static void glGenOcclusionQueriesNV(IntBuffer piIDs) { + nglGenOcclusionQueriesNV(piIDs.remaining(), piIDs, piIDs.position()); + } + private static native void nglGenOcclusionQueriesNV(int n, IntBuffer piIDs, int piIDs_offset); + public static void glDeleteOcclusionQueriesNV(IntBuffer piIDs) { + nglDeleteOcclusionQueriesNV(piIDs.remaining(), piIDs, piIDs.position()); + } + private static native void nglDeleteOcclusionQueriesNV(int n, IntBuffer piIDs, int piIDs_offset); + + public static native boolean glIsOcclusionQueryNV(int id); + public static native void glBeginOcclusionQueryNV(int id); + + public static native void glEndOcclusionQueryNV(); + + public static void glGetOcclusionQueryNV(int id, int pname, IntBuffer piParams) { + nglGetOcclusionQueryivNV(id, pname, piParams, piParams.position()); + } + private static native void nglGetOcclusionQueryivNV(int id, int pname, IntBuffer piParams, int piParams_offset); + + public static void glGetOcclusionQueryuNV(int id, int pname, IntBuffer piParams) { + nglGetOcclusionQueryuivNV(id, pname, piParams, piParams.position()); + } + private static native void nglGetOcclusionQueryuivNV(int id, int pname, IntBuffer piParams, int piParams_offset); } diff --git a/src/java/org/lwjgl/opengl/nv/NVPackedDepthStencil.java b/src/java/org/lwjgl/opengl/nv/NVPackedDepthStencil.java index 6d4066cf..9a648b2f 100644 --- a/src/java/org/lwjgl/opengl/nv/NVPackedDepthStencil.java +++ b/src/java/org/lwjgl/opengl/nv/NVPackedDepthStencil.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.nv; -public interface NVPackedDepthStencil +public class NVPackedDepthStencil { public static final int GL_DEPTH_STENCIL_NV = 0x84F9; public static final int GL_UNSIGNED_INT_24_8_NV = 0x84FA; diff --git a/src/java/org/lwjgl/opengl/nv/NVPointSprite.java b/src/java/org/lwjgl/opengl/nv/NVPointSprite.java index b3d71d1a..508186cd 100644 --- a/src/java/org/lwjgl/opengl/nv/NVPointSprite.java +++ b/src/java/org/lwjgl/opengl/nv/NVPointSprite.java @@ -39,9 +39,17 @@ */ package org.lwjgl.opengl.nv; -public interface NVPointSprite -{ +import java.nio.IntBuffer; + +public class NVPointSprite { public static final int GL_POINT_SPRITE_NV = 0x8861; public static final int GL_COORD_REPLACE_NV = 0x8862; public static final int GL_POINT_SPRITE_R_MODE_NV = 0x8863; + + public static native void glPointParameteriNV(int pname, int param); + + public static void glPointParameterNV(int pname, IntBuffer piParams) { + nglPointParameterivNV(pname, piParams, piParams.position()); + } + private static native void nglPointParameterivNV(int pname, IntBuffer piParams, int piParams_offset); } diff --git a/src/java/org/lwjgl/opengl/nv/NVProgram.java b/src/java/org/lwjgl/opengl/nv/NVProgram.java new file mode 100644 index 00000000..8921f4c5 --- /dev/null +++ b/src/java/org/lwjgl/opengl/nv/NVProgram.java @@ -0,0 +1,130 @@ +/* + * Copyright (c) 2002 Lightweight Java Game Library Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'Light Weight Java Game Library' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +/* + * Created by LWJGL. + * User: spasi + * Date: 2003-11-28 + * Time: 18:39:30 + */ + +package org.lwjgl.opengl.nv; + +import java.nio.ByteBuffer; +import java.nio.Buffer; +import java.nio.IntBuffer; + +class NVProgram { + + /* + Accepted by the parameter of GetProgramivNV: + */ + public static final int GL_PROGRAM_TARGET_NV = 0x8646; + public static final int GL_PROGRAM_LENGTH_NV = 0x8627; + public static final int GL_PROGRAM_RESIDENT_NV = 0x8647; + + /* + Accepted by the parameter of GetProgramStringNV: + */ + public static final int GL_PROGRAM_STRING_NV = 0x8628; + + /* + Accepted by the parameter of GetBooleanv, GetIntegerv, + GetFloatv, and GetDoublev: + */ + public static final int GL_PROGRAM_ERROR_POSITION_NV = 0x864B; + + /* + Accepted by the parameter of GetString: + */ + public static final int GL_PROGRAM_ERROR_STRING_NV = 0x8874; + + // --------------------------- + public static void glLoadProgramNV(int target, int programID, ByteBuffer string) { + nglLoadProgramNV(target, programID, string.remaining(), string, string.position()); + } + + private static native void nglLoadProgramNV(int target, int programID, int length, Buffer string, int stringOffset); + // --------------------------- + + public static native void glBindProgramNV(int target, int programID); + + // --------------------------- + public static void glDeleteProgramsNV(IntBuffer programs) { + nglDeleteProgramsNV(programs.remaining(), programs, programs.position()); + } + + private static native void nglDeleteProgramsNV(int n, IntBuffer programs, int programsOffset); + // --------------------------- + + // --------------------------- + public static void glGenProgramsNV(IntBuffer programs) { + nglGenProgramsNV(programs.remaining(), programs, programs.position()); + } + + private static native void nglGenProgramsNV(int n, IntBuffer programs, int programsOffset); + // --------------------------- + + // --------------------------- + public static void glGetProgramNV(int programID, int parameterName, IntBuffer params) { + nglGetProgramivNV(programID, parameterName, params, params.position()); + } + + private static native void nglGetProgramivNV(int programID, int parameterName, IntBuffer params, int paramsOffset); + // --------------------------- + + // --------------------------- + public static void glGetProgramStringNV(int programID, int parameterName, ByteBuffer paramString) { + nglGetProgramStringNV(programID, parameterName, paramString, paramString.position()); + } + + private static native void nglGetProgramStringNV(int programID, int parameterName, Buffer paramString, int paramStringOffset); + // --------------------------- + + public static native boolean glIsProgramNV(int programID); + + // --------------------------- + public static boolean glAreProgramsResidentNV(IntBuffer programIDs, ByteBuffer programResidences) { + assert programIDs.remaining() == programResidences.remaining(): "programIDs.remaining() != programResidences.remaining()"; + return nglAreProgramsResidentNV(programIDs.remaining(), programIDs, programIDs.position(), programResidences, programResidences.position()); + } + + private static native boolean nglAreProgramsResidentNV(int n, IntBuffer programIDs, int programIDsOffset, ByteBuffer programResidences, int programResidencesOffset); + // --------------------------- + + // --------------------------- + public static void glRequestResidentProgramsNV(IntBuffer programIDs) { + nglRequestResidentProgramsNV(programIDs.remaining(), programIDs, programIDs.position()); + } + + private static native void nglRequestResidentProgramsNV(int n, IntBuffer programIDs, int programIDsOffset); + // --------------------------- +} diff --git a/src/java/org/lwjgl/opengl/nv/NVRegisterCombiners.java b/src/java/org/lwjgl/opengl/nv/NVRegisterCombiners.java index eb71c0ac..0d163241 100644 --- a/src/java/org/lwjgl/opengl/nv/NVRegisterCombiners.java +++ b/src/java/org/lwjgl/opengl/nv/NVRegisterCombiners.java @@ -39,8 +39,10 @@ */ package org.lwjgl.opengl.nv; -public interface NVRegisterCombiners -{ +import java.nio.FloatBuffer; +import java.nio.IntBuffer; + +public class NVRegisterCombiners { public static final int GL_REGISTER_COMBINERS_NV = 0x8522; public static final int GL_COMBINER0_NV = 0x8550; public static final int GL_COMBINER1_NV = 0x8551; @@ -92,4 +94,76 @@ public interface NVRegisterCombiners public static final int GL_NUM_GENERAL_COMBINERS_NV = 0x854E; public static final int GL_COLOR_SUM_CLAMP_NV = 0x854F; public static final int GL_MAX_GENERAL_COMBINERS_NV = 0x854D; + + public static native void glCombinerParameterfNV(int pname, float param); + + public static void glCombinerParameterNV(int pname, FloatBuffer pfParams) { + nglCombinerParameterfvNV(pname, pfParams, pfParams.position()); + } + private static native void nglCombinerParameterfvNV(int pname, FloatBuffer pfParams, int pfParams_offset); + + public static native void glCombinerParameteriNV(int pname, int param); + + public static void glCombinerParameterNV(int pname, IntBuffer piParams) { + nglCombinerParameterivNV(pname, piParams, piParams.position()); + } + private static native void nglCombinerParameterivNV(int pname, IntBuffer piParams, int piParams_offset); + public static native void glCombinerInputNV( + int stage, + int portion, + int variable, + int input, + int mapping, + int componentUsage); + public static native void glCombinerOutputNV( + int stage, + int portion, + int abOutput, + int cdOutput, + int sumOutput, + int scale, + int bias, + boolean abDotProduct, + boolean cdDotProduct, + boolean muxSum); + public static native void glFinalCombinerInputNV( + int variable, + int input, + int mapping, + int componentUsage); + public static void glGetCombinerInputParameterNV(int stage, int portion, int variable, int pname, FloatBuffer pfParams) { + nglGetCombinerInputParameterfvNV(stage, portion, variable, pname, pfParams, pfParams.position()); + } + private static native void nglGetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, FloatBuffer pfParams, int pfParams_offset); + + public static void glGetCombinerInputParameterNV(int stage, int portion, int variable, int pname, IntBuffer piParams) { + nglGetCombinerInputParameterivNV(stage, portion, variable, pname, piParams, piParams.position()); + } + private static native void nglGetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, IntBuffer piParams, int piParams_offset); + public static void glGetCombinerOutputParameterNV(int stage, int portion, int pname, FloatBuffer pfParams) { + nglGetCombinerOutputParameterfvNV(stage, portion, pname, pfParams, pfParams.position()); + } + private static native void nglGetCombinerOutputParameterfvNV(int stage, int portion, int pname, FloatBuffer pfParams, int pfParams_offset); + + public static void glGetCombinerOutputParameterNV(int stage, int portion, int pname, IntBuffer piParams) { + nglGetCombinerOutputParameterivNV(stage, portion, pname, piParams, piParams.position()); + } + private static native void nglGetCombinerOutputParameterivNV(int stage, int portion, int pname, IntBuffer piParams, int pfParams_offset); + public static void glGetFinalCombinerInputParameterNV(int variable, int pname, FloatBuffer pfParams) { + nglGetFinalCombinerInputParameterfvNV(variable, pname, pfParams, pfParams.position()); + } + private static native void nglGetFinalCombinerInputParameterfvNV(int variable, int pname, FloatBuffer pfParams, int pfParams_offset); + + public static void glGetFinalCombinerInputParameterNV(int variable, int pname, IntBuffer piParams) { + nglGetFinalCombinerInputParameterivNV(variable, pname, piParams, piParams.position()); + } + private static native void nglGetFinalCombinerInputParameterivNV(int variable, int pname, IntBuffer piParams, int piParams_offset); + public static void glCombinerStageParameterNV(int stage, int pname, FloatBuffer pfParams) { + nglCombinerStageParameterfvNV(stage, pname, pfParams, pfParams.position()); + } + private static native void nglCombinerStageParameterfvNV(int stage, int pname, FloatBuffer pfParams, int pfParams_offset); + public static void glGetCombinerStageParameterNV(int stage, int pname, FloatBuffer pfParams) { + nglGetCombinerStageParameterfvNV(stage, pname, pfParams, pfParams.position()); + } + private static native void nglGetCombinerStageParameterfvNV(int stage, int pname, FloatBuffer pfParams, int pfParams_offset); } diff --git a/src/java/org/lwjgl/opengl/nv/NVRegisterCombiners2.java b/src/java/org/lwjgl/opengl/nv/NVRegisterCombiners2.java index c2d25cfc..c344518b 100644 --- a/src/java/org/lwjgl/opengl/nv/NVRegisterCombiners2.java +++ b/src/java/org/lwjgl/opengl/nv/NVRegisterCombiners2.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.nv; -public interface NVRegisterCombiners2 +public class NVRegisterCombiners2 { public static final int GL_PER_STAGE_CONSTANTS_NV = 0x8535; } diff --git a/src/java/org/lwjgl/opengl/nv/NVTexgenReflection.java b/src/java/org/lwjgl/opengl/nv/NVTexgenReflection.java index 4d947050..44662e69 100644 --- a/src/java/org/lwjgl/opengl/nv/NVTexgenReflection.java +++ b/src/java/org/lwjgl/opengl/nv/NVTexgenReflection.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.nv; -public interface NVTexgenReflection +public class NVTexgenReflection { public static final int GL_NORMAL_MAP_NV = 0x8511; public static final int GL_REFLECTION_MAP_NV = 0x8512; diff --git a/src/java/org/lwjgl/opengl/nv/NVTextureEnvCombine4.java b/src/java/org/lwjgl/opengl/nv/NVTextureEnvCombine4.java index 43e7ad1a..2aa91eff 100644 --- a/src/java/org/lwjgl/opengl/nv/NVTextureEnvCombine4.java +++ b/src/java/org/lwjgl/opengl/nv/NVTextureEnvCombine4.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.nv; -public interface NVTextureEnvCombine4 +public class NVTextureEnvCombine4 { public static final int GL_COMBINE4_NV = 0x8503; public static final int GL_SOURCE3_RGB_NV = 0x8583; diff --git a/src/java/org/lwjgl/opengl/nv/NVTextureRectangle.java b/src/java/org/lwjgl/opengl/nv/NVTextureRectangle.java index d7b07d20..c2cd7888 100644 --- a/src/java/org/lwjgl/opengl/nv/NVTextureRectangle.java +++ b/src/java/org/lwjgl/opengl/nv/NVTextureRectangle.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.nv; -public interface NVTextureRectangle +public class NVTextureRectangle { public static final int GL_TEXTURE_RECTANGLE_NV = 0x84F5; public static final int GL_TEXTURE_BINDING_RECTANGLE_NV = 0x84F6; diff --git a/src/java/org/lwjgl/opengl/nv/NVTextureShader.java b/src/java/org/lwjgl/opengl/nv/NVTextureShader.java index 696ed043..58c39fee 100644 --- a/src/java/org/lwjgl/opengl/nv/NVTextureShader.java +++ b/src/java/org/lwjgl/opengl/nv/NVTextureShader.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.nv; -public interface NVTextureShader +public class NVTextureShader { public static final int GL_TEXTURE_SHADER_NV = 0x86DE; public static final int GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9; diff --git a/src/java/org/lwjgl/opengl/nv/NVTextureShader2.java b/src/java/org/lwjgl/opengl/nv/NVTextureShader2.java index 03fc750e..0daf9031 100644 --- a/src/java/org/lwjgl/opengl/nv/NVTextureShader2.java +++ b/src/java/org/lwjgl/opengl/nv/NVTextureShader2.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.nv; -public interface NVTextureShader2 +public class NVTextureShader2 { public static final int GL_DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF; public static final int GL_HILO_NV = 0x86F4; diff --git a/src/java/org/lwjgl/opengl/nv/NVTextureShader3.java b/src/java/org/lwjgl/opengl/nv/NVTextureShader3.java index ac2f4a81..ca898e0e 100644 --- a/src/java/org/lwjgl/opengl/nv/NVTextureShader3.java +++ b/src/java/org/lwjgl/opengl/nv/NVTextureShader3.java @@ -39,7 +39,7 @@ */ package org.lwjgl.opengl.nv; -public interface NVTextureShader3 +public class NVTextureShader3 { public static final int GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850; public static final int GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851; diff --git a/src/java/org/lwjgl/opengl/nv/NVVertexArrayRange.java b/src/java/org/lwjgl/opengl/nv/NVVertexArrayRange.java index c2331422..3aab7df8 100644 --- a/src/java/org/lwjgl/opengl/nv/NVVertexArrayRange.java +++ b/src/java/org/lwjgl/opengl/nv/NVVertexArrayRange.java @@ -39,11 +39,36 @@ */ package org.lwjgl.opengl.nv; -public interface NVVertexArrayRange -{ +import java.nio.Buffer; +import java.nio.ByteBuffer; + +public class NVVertexArrayRange { public static final int GL_VERTEX_ARRAY_RANGE_NV = 0x851D; public static final int GL_VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E; public static final int GL_VERTEX_ARRAY_RANGE_VALID_NV = 0x851F; public static final int GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520; public static final int GL_VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521; + + public static void glVertexArrayRangeNV(ByteBuffer pPointer) { + nglVertexArrayRangeNV(pPointer.remaining(), pPointer, pPointer.position()); + } + private static native void nglVertexArrayRangeNV(int size, Buffer pPointer, int pPointer_offset); + public static native void glFlushVertexArrayRangeNV(); + + public static native ByteBuffer glXAllocateMemoryNV( + int size, + float readFrequency, + float writeFrequency, + float priority); + + private static native void glXFreeMemoryNV(ByteBuffer pointer); + + // #ifdef _WIN32 + + public static native ByteBuffer wglAllocateMemoryNV( + int size, + float readFrequency, + float writeFrequency, + float priority); + public static native void wglFreeMemoryNV(ByteBuffer pointer); } diff --git a/src/java/org/lwjgl/opengl/nv/NVVertexArrayRange2.java b/src/java/org/lwjgl/opengl/nv/NVVertexArrayRange2.java index 3fee5ac2..31acfd9b 100644 --- a/src/java/org/lwjgl/opengl/nv/NVVertexArrayRange2.java +++ b/src/java/org/lwjgl/opengl/nv/NVVertexArrayRange2.java @@ -39,7 +39,6 @@ */ package org.lwjgl.opengl.nv; -public interface NVVertexArrayRange2 -{ +public class NVVertexArrayRange2 { public static final int GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533; } diff --git a/src/java/org/lwjgl/opengl/nv/NVVertexProgram.java b/src/java/org/lwjgl/opengl/nv/NVVertexProgram.java index afe46773..89b51552 100644 --- a/src/java/org/lwjgl/opengl/nv/NVVertexProgram.java +++ b/src/java/org/lwjgl/opengl/nv/NVVertexProgram.java @@ -1,127 +1,309 @@ -/* +/* * Copyright (c) 2002 Lightweight Java Game Library Project * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are + * modification, are permitted provided that the following conditions are * met: - * - * * Redistributions of source code must retain the above copyright + * + * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * * Neither the name of 'Light Weight Java Game Library' nor the names of - * its contributors may be used to endorse or promote products derived + * * Neither the name of 'Light Weight Java Game Library' nor the names of + * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* - * Created by IntelliJ IDEA. - * User: nj - * Date: 12-08-2002 - * Time: 15:26:24 - * To change template for new interface use - * Code Style | Class Templates options (Tools | IDE Options). + * Created by LWJGL. + * User: spasi + * Date: 2003-11-28 + * Time: 18:54:32 */ + package org.lwjgl.opengl.nv; -public interface NVVertexProgram -{ - public static final int GL_VERTEX_PROGRAM_NV = 0x8620; - public static final int GL_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642; - public static final int GL_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643; - public static final int GL_VERTEX_STATE_PROGRAM_NV = 0x8621; - public static final int GL_ATTRIB_ARRAY_SIZE_NV = 0x8623; - public static final int GL_ATTRIB_ARRAY_STRIDE_NV = 0x8624; - public static final int GL_ATTRIB_ARRAY_TYPE_NV = 0x8625; - public static final int GL_CURRENT_ATTRIB_NV = 0x8626; - public static final int GL_PROGRAM_PARAMETER_NV = 0x8644; - public static final int GL_ATTRIB_ARRAY_POINTER_NV = 0x8645; - public static final int GL_PROGRAM_TARGET_NV = 0x8646; - public static final int GL_PROGRAM_LENGTH_NV = 0x8627; - public static final int GL_PROGRAM_RESIDENT_NV = 0x8647; - public static final int GL_PROGRAM_STRING_NV = 0x8628; - public static final int GL_TRACK_MATRIX_NV = 0x8648; - public static final int GL_TRACK_MATRIX_TRANSFORM_NV = 0x8649; - public static final int GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E; - public static final int GL_MAX_TRACK_MATRICES_NV = 0x862F; - public static final int GL_CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640; - public static final int GL_CURRENT_MATRIX_NV = 0x8641; - public static final int GL_VERTEX_PROGRAM_BINDING_NV = 0x864A; - public static final int GL_PROGRAM_ERROR_POSITION_NV = 0x864B; - public static final int GL_MODELVIEW_PROJECTION_NV = 0x8629; - public static final int GL_MATRIX0_NV = 0x8630; - public static final int GL_MATRIX1_NV = 0x8631; - public static final int GL_MATRIX2_NV = 0x8632; - public static final int GL_MATRIX3_NV = 0x8633; - public static final int GL_MATRIX4_NV = 0x8634; - public static final int GL_MATRIX5_NV = 0x8635; - public static final int GL_MATRIX6_NV = 0x8636; - public static final int GL_MATRIX7_NV = 0x8637; - public static final int GL_IDENTITY_NV = 0x862A; - public static final int GL_INVERSE_NV = 0x862B; - public static final int GL_TRANSPOSE_NV = 0x862C; - public static final int GL_INVERSE_TRANSPOSE_NV = 0x862D; - public static final int GL_VERTEX_ATTRIB_ARRAY0_NV = 0x8650; - public static final int GL_VERTEX_ATTRIB_ARRAY1_NV = 0x8651; - public static final int GL_VERTEX_ATTRIB_ARRAY2_NV = 0x8652; - public static final int GL_VERTEX_ATTRIB_ARRAY3_NV = 0x8653; - public static final int GL_VERTEX_ATTRIB_ARRAY4_NV = 0x8654; - public static final int GL_VERTEX_ATTRIB_ARRAY5_NV = 0x8655; - public static final int GL_VERTEX_ATTRIB_ARRAY6_NV = 0x8656; - public static final int GL_VERTEX_ATTRIB_ARRAY7_NV = 0x8657; - public static final int GL_VERTEX_ATTRIB_ARRAY8_NV = 0x8658; - public static final int GL_VERTEX_ATTRIB_ARRAY9_NV = 0x8659; - public static final int GL_VERTEX_ATTRIB_ARRAY10_NV = 0x865A; - public static final int GL_VERTEX_ATTRIB_ARRAY11_NV = 0x865B; - public static final int GL_VERTEX_ATTRIB_ARRAY12_NV = 0x865C; - public static final int GL_VERTEX_ATTRIB_ARRAY13_NV = 0x865D; - public static final int GL_VERTEX_ATTRIB_ARRAY14_NV = 0x865E; - public static final int GL_VERTEX_ATTRIB_ARRAY15_NV = 0x865F; - public static final int GL_MAP1_VERTEX_ATTRIB0_4_NV = 0x8660; - public static final int GL_MAP1_VERTEX_ATTRIB1_4_NV = 0x8661; - public static final int GL_MAP1_VERTEX_ATTRIB2_4_NV = 0x8662; - public static final int GL_MAP1_VERTEX_ATTRIB3_4_NV = 0x8663; - public static final int GL_MAP1_VERTEX_ATTRIB4_4_NV = 0x8664; - public static final int GL_MAP1_VERTEX_ATTRIB5_4_NV = 0x8665; - public static final int GL_MAP1_VERTEX_ATTRIB6_4_NV = 0x8666; - public static final int GL_MAP1_VERTEX_ATTRIB7_4_NV = 0x8667; - public static final int GL_MAP1_VERTEX_ATTRIB8_4_NV = 0x8668; - public static final int GL_MAP1_VERTEX_ATTRIB9_4_NV = 0x8669; - public static final int GL_MAP1_VERTEX_ATTRIB10_4_NV = 0x866A; - public static final int GL_MAP1_VERTEX_ATTRIB11_4_NV = 0x866B; - public static final int GL_MAP1_VERTEX_ATTRIB12_4_NV = 0x866C; - public static final int GL_MAP1_VERTEX_ATTRIB13_4_NV = 0x866D; - public static final int GL_MAP1_VERTEX_ATTRIB14_4_NV = 0x866E; - public static final int GL_MAP1_VERTEX_ATTRIB15_4_NV = 0x866F; - public static final int GL_MAP2_VERTEX_ATTRIB0_4_NV = 0x8670; - public static final int GL_MAP2_VERTEX_ATTRIB1_4_NV = 0x8671; - public static final int GL_MAP2_VERTEX_ATTRIB2_4_NV = 0x8672; - public static final int GL_MAP2_VERTEX_ATTRIB3_4_NV = 0x8673; - public static final int GL_MAP2_VERTEX_ATTRIB4_4_NV = 0x8674; - public static final int GL_MAP2_VERTEX_ATTRIB5_4_NV = 0x8675; - public static final int GL_MAP2_VERTEX_ATTRIB6_4_NV = 0x8676; - public static final int GL_MAP2_VERTEX_ATTRIB7_4_NV = 0x8677; - public static final int GL_MAP2_VERTEX_ATTRIB8_4_NV = 0x8678; - public static final int GL_MAP2_VERTEX_ATTRIB9_4_NV = 0x8679; - public static final int GL_MAP2_VERTEX_ATTRIB10_4_NV = 0x867A; - public static final int GL_MAP2_VERTEX_ATTRIB11_4_NV = 0x867B; - public static final int GL_MAP2_VERTEX_ATTRIB12_4_NV = 0x867C; - public static final int GL_MAP2_VERTEX_ATTRIB13_4_NV = 0x867D; - public static final int GL_MAP2_VERTEX_ATTRIB14_4_NV = 0x867E; - public static final int GL_MAP2_VERTEX_ATTRIB15_4_NV = 0x867F; +import java.nio.*; + +import org.lwjgl.opengl.VBOTracker; +import org.lwjgl.opengl.CoreGL11Constants; + +public class NVVertexProgram extends NVProgram { + + /* + Accepted by the parameter of Disable, Enable, and IsEnabled, + and by the parameter of GetBooleanv, GetIntegerv, GetFloatv, + and GetDoublev, and by the parameter of BindProgramNV, + ExecuteProgramNV, GetProgramParameter[df]vNV, GetTrackMatrixivNV, + LoadProgramNV, ProgramParameter[s]4[df][v]NV, and TrackMatrixNV: + */ + + public static final int GL_VERTEX_PROGRAM_NV = 0x8620; + + /* + Accepted by the parameter of Disable, Enable, and IsEnabled, + and by the parameter of GetBooleanv, GetIntegerv, GetFloatv, + and GetDoublev: + */ + public static final int GL_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642; + public static final int GL_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643; + + /* + Accepted by the parameter of ExecuteProgramNV and + LoadProgramNV: + */ + public static final int GL_VERTEX_STATE_PROGRAM_NV = 0x8621; + + /* + Accepted by the parameter of GetVertexAttrib[dfi]vNV: + */ + public static final int GL_ATTRIB_ARRAY_SIZE_NV = 0x8623; + public static final int GL_ATTRIB_ARRAY_STRIDE_NV = 0x8624; + public static final int GL_ATTRIB_ARRAY_TYPE_NV = 0x8625; + public static final int GL_CURRENT_ATTRIB_NV = 0x8626; + + /* + Accepted by the parameter of GetProgramParameterfvNV + and GetProgramParameterdvNV: + */ + public static final int GL_PROGRAM_PARAMETER_NV = 0x8644; + + /* + Accepted by the parameter of GetVertexAttribPointervNV: + */ + public static final int GL_ATTRIB_ARRAY_POINTER_NV = 0x8645; + + + /* + Accepted by the parameter of GetTrackMatrixivNV: + */ + public static final int GL_TRACK_MATRIX_NV = 0x8648; + public static final int GL_TRACK_MATRIX_TRANSFORM_NV = 0x8649; + + /* + Accepted by the parameter of GetBooleanv, GetIntegerv, + GetFloatv, and GetDoublev: + */ + public static final int GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E; + public static final int GL_MAX_TRACK_MATRICES_NV = 0x862F; + public static final int GL_CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640; + public static final int GL_CURRENT_MATRIX_NV = 0x8641; + public static final int GL_VERTEX_PROGRAM_BINDING_NV = 0x864A; + + /* + Accepted by the parameter of TrackMatrixNV: + */ + public static final int GL_MODELVIEW_PROJECTION_NV = 0x8629; + + /* + Accepted by the parameter of TrackMatrixNV and by the + parameter of MatrixMode: + */ + public static final int GL_MATRIX0_NV = 0x8630; + public static final int GL_MATRIX1_NV = 0x8631; + public static final int GL_MATRIX2_NV = 0x8632; + public static final int GL_MATRIX3_NV = 0x8633; + public static final int GL_MATRIX4_NV = 0x8634; + public static final int GL_MATRIX5_NV = 0x8635; + public static final int GL_MATRIX6_NV = 0x8636; + public static final int GL_MATRIX7_NV = 0x8637; + + /* + Accepted by the parameter of TrackMatrixNV: + */ + public static final int GL_IDENTITY_NV = 0x862A; + public static final int GL_INVERSE_NV = 0x862B; + public static final int GL_TRANSPOSE_NV = 0x862C; + public static final int GL_INVERSE_TRANSPOSE_NV = 0x862D; + + /* + Accepted by the parameter of EnableClientState and + DisableClientState, by the parameter of IsEnabled, and by + the parameter of GetBooleanv, GetIntegerv, GetFloatv, and + GetDoublev: + */ + public static final int GL_VERTEX_ATTRIB_ARRAY0_NV = 0x8650; + public static final int GL_VERTEX_ATTRIB_ARRAY1_NV = 0x8651; + public static final int GL_VERTEX_ATTRIB_ARRAY2_NV = 0x8652; + public static final int GL_VERTEX_ATTRIB_ARRAY3_NV = 0x8653; + public static final int GL_VERTEX_ATTRIB_ARRAY4_NV = 0x8654; + public static final int GL_VERTEX_ATTRIB_ARRAY5_NV = 0x8655; + public static final int GL_VERTEX_ATTRIB_ARRAY6_NV = 0x8656; + public static final int GL_VERTEX_ATTRIB_ARRAY7_NV = 0x8657; + public static final int GL_VERTEX_ATTRIB_ARRAY8_NV = 0x8658; + public static final int GL_VERTEX_ATTRIB_ARRAY9_NV = 0x8659; + public static final int GL_VERTEX_ATTRIB_ARRAY10_NV = 0x865A; + public static final int GL_VERTEX_ATTRIB_ARRAY11_NV = 0x865B; + public static final int GL_VERTEX_ATTRIB_ARRAY12_NV = 0x865C; + public static final int GL_VERTEX_ATTRIB_ARRAY13_NV = 0x865D; + public static final int GL_VERTEX_ATTRIB_ARRAY14_NV = 0x865E; + public static final int GL_VERTEX_ATTRIB_ARRAY15_NV = 0x865F; + + /* + Accepted by the parameter of GetMapdv, GetMapfv, GetMapiv, + Map1d and Map1f and by the parameter of Enable, Disable, and + IsEnabled, and by the parameter of GetBooleanv, GetIntegerv, + GetFloatv, and GetDoublev: + */ + public static final int GL_MAP1_VERTEX_ATTRIB0_4_NV = 0x8660; + public static final int GL_MAP1_VERTEX_ATTRIB1_4_NV = 0x8661; + public static final int GL_MAP1_VERTEX_ATTRIB2_4_NV = 0x8662; + public static final int GL_MAP1_VERTEX_ATTRIB3_4_NV = 0x8663; + public static final int GL_MAP1_VERTEX_ATTRIB4_4_NV = 0x8664; + public static final int GL_MAP1_VERTEX_ATTRIB5_4_NV = 0x8665; + public static final int GL_MAP1_VERTEX_ATTRIB6_4_NV = 0x8666; + public static final int GL_MAP1_VERTEX_ATTRIB7_4_NV = 0x8667; + public static final int GL_MAP1_VERTEX_ATTRIB8_4_NV = 0x8668; + public static final int GL_MAP1_VERTEX_ATTRIB9_4_NV = 0x8669; + public static final int GL_MAP1_VERTEX_ATTRIB10_4_NV = 0x866A; + public static final int GL_MAP1_VERTEX_ATTRIB11_4_NV = 0x866B; + public static final int GL_MAP1_VERTEX_ATTRIB12_4_NV = 0x866C; + public static final int GL_MAP1_VERTEX_ATTRIB13_4_NV = 0x866D; + public static final int GL_MAP1_VERTEX_ATTRIB14_4_NV = 0x866E; + public static final int GL_MAP1_VERTEX_ATTRIB15_4_NV = 0x866F; + + /* + Accepted by the parameter of GetMapdv, GetMapfv, GetMapiv, + Map2d and Map2f and by the parameter of Enable, Disable, and + IsEnabled, and by the parameter of GetBooleanv, GetIntegerv, + GetFloatv, and GetDoublev: + */ + public static final int GL_MAP2_VERTEX_ATTRIB0_4_NV = 0x8670; + public static final int GL_MAP2_VERTEX_ATTRIB1_4_NV = 0x8671; + public static final int GL_MAP2_VERTEX_ATTRIB2_4_NV = 0x8672; + public static final int GL_MAP2_VERTEX_ATTRIB3_4_NV = 0x8673; + public static final int GL_MAP2_VERTEX_ATTRIB4_4_NV = 0x8674; + public static final int GL_MAP2_VERTEX_ATTRIB5_4_NV = 0x8675; + public static final int GL_MAP2_VERTEX_ATTRIB6_4_NV = 0x8676; + public static final int GL_MAP2_VERTEX_ATTRIB7_4_NV = 0x8677; + public static final int GL_MAP2_VERTEX_ATTRIB8_4_NV = 0x8678; + public static final int GL_MAP2_VERTEX_ATTRIB9_4_NV = 0x8679; + public static final int GL_MAP2_VERTEX_ATTRIB10_4_NV = 0x867A; + public static final int GL_MAP2_VERTEX_ATTRIB11_4_NV = 0x867B; + public static final int GL_MAP2_VERTEX_ATTRIB12_4_NV = 0x867C; + public static final int GL_MAP2_VERTEX_ATTRIB13_4_NV = 0x867D; + public static final int GL_MAP2_VERTEX_ATTRIB14_4_NV = 0x867E; + public static final int GL_MAP2_VERTEX_ATTRIB15_4_NV = 0x867F; + + // --------------------------- + public static void glExecuteProgramNV(int target, int id, FloatBuffer params) { + assert params.remaining() >= 4: " must have 4 floats available."; + nglExecuteProgramNV(target, id, params, params.position()); + } + + private static native void nglExecuteProgramNV(int target, int id, FloatBuffer params, int paramsOffset); + // --------------------------- + + // --------------------------- + public static void glGetProgramParameterNV(int target, int index, int parameterName, FloatBuffer params) { + assert params.remaining() >= 4: " must have 4 floats available."; + nglGetProgramParameterfvNV(target, index, parameterName, params, params.position()); + } + + private static native void nglGetProgramParameterfvNV(int target, int index, int parameterName, FloatBuffer params, int paramsOffset); + // --------------------------- + + // --------------------------- + public static void glGetTrackMatrixNV(int target, int address, int parameterName, IntBuffer params) { + nglGetTrackMatrixivNV(target, address, parameterName, params, params.position()); + } + + private static native void nglGetTrackMatrixivNV(int target, int address, int parameterName, IntBuffer params, int paramsOffset); + // --------------------------- + + // --------------------------- + public static void glGetVertexAttribNV(int index, int parameterName, FloatBuffer params) { + nglGetVertexAttribfvNV(index, parameterName, params, params.position()); + } + + private static native void nglGetVertexAttribfvNV(int index, int parameterName, FloatBuffer params, int paramsOffset); + // --------------------------- + + // --------------------------- + public static void glGetVertexAttribNV(int index, int parameterName, IntBuffer params) { + nglGetVertexAttribivNV(index, parameterName, params, params.position()); + } + + private static native void nglGetVertexAttribivNV(int index, int parameterName, IntBuffer params, int paramsOffset); + // --------------------------- + + public static native ByteBuffer glGetVertexAttribPointerNV(int index, int parameterName, int size); + + public static native void glProgramParameter4fNV(int target, int index, float x, float y, float z, float w); + + + // --------------------------- + public static void glProgramParameters4NV(int target, int index, int count, FloatBuffer params) { + assert params.remaining() >= 4 * count: " must have " + 4 * count + " floats available."; + nglProgramParameters4fvNV(target, index, count, params, params.position()); + } + + private static native void nglProgramParameters4fvNV(int target, int index, int count, FloatBuffer params, int paramsOffset); + // --------------------------- + + public static native void glTrackMatrixNV(int target, int address, int matrix, int transform); + + public static void glVertexAttribPointerNV(int index, int size, boolean unsigned, int stride, ByteBuffer buffer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglVertexAttribPointerNV(index, size, unsigned ? CoreGL11Constants.GL_UNSIGNED_BYTE : CoreGL11Constants.GL_BYTE, stride, buffer, buffer.position()); + } + + public static void glVertexAttribPointerNV(int index, int size, boolean unsigned, int stride, ShortBuffer buffer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglVertexAttribPointerNV(index, size, unsigned ? CoreGL11Constants.GL_UNSIGNED_SHORT : CoreGL11Constants.GL_SHORT, stride, buffer, buffer.position() << 1); + } + + public static void glVertexAttribPointerNV(int index, int size, int stride, FloatBuffer buffer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglVertexAttribPointerNV(index, size, CoreGL11Constants.GL_FLOAT, stride, buffer, buffer.position() << 2); + } + + public static void glVertexAttribPointerNV(int index, int size, boolean unsigned, int stride, IntBuffer buffer) { + assert VBOTracker.getVBOArrayStack().getState() == 0: "Cannot use Buffers when VBO is enabled"; + nglVertexAttribPointerNV(index, size, unsigned ? CoreGL11Constants.GL_UNSIGNED_INT : CoreGL11Constants.GL_INT, stride, buffer, buffer.position() << 2); + } + + private static native void nglVertexAttribPointerNV(int index, int size, int type, int stride, Buffer buffer, int bufferOffset); + + // --------------------------- + public static void glVertexAttribPointerNV(int index, int size, int type, int stride, int bufferOffset) { + assert VBOTracker.getVBOArrayStack().getState() != 0: "Cannot use int offsets when VBO is disabled"; + nglVertexAttribPointerNVVBO(index, size, type, stride, bufferOffset); + } + + private static native void nglVertexAttribPointerNVVBO(int index, int size, int type, int stride, int bufferOffset); + // --------------------------- + + public static native void glVertexAttrib1sNV(int index, short x); + + public static native void glVertexAttrib1fNV(int index, float x); + + public static native void glVertexAttrib2sNV(int index, short x, short y); + + public static native void glVertexAttrib2fNV(int index, float x, float y); + + public static native void glVertexAttrib3sNV(int index, short x, short y, short z); + + public static native void glVertexAttrib3fNV(int index, float x, float y, float z); + + public static native void glVertexAttrib4sNV(int index, short x, short y, short z, short w); + + public static native void glVertexAttrib4fNV(int index, float x, float y, float z, float w); + + public static native void glVertexAttrib4ubNV(int index, byte x, byte y, byte z, byte w); } diff --git a/src/java/org/lwjgl/test/input/ControllerCreationTest.java b/src/java/org/lwjgl/test/input/ControllerCreationTest.java index 5b34201d..c0c1c60d 100644 --- a/src/java/org/lwjgl/test/input/ControllerCreationTest.java +++ b/src/java/org/lwjgl/test/input/ControllerCreationTest.java @@ -35,7 +35,7 @@ import org.lwjgl.Sys; import org.lwjgl.Display; import org.lwjgl.DisplayMode; import org.lwjgl.input.Controller; -import org.lwjgl.opengl.GL; +import org.lwjgl.opengl.CoreGL11; import org.lwjgl.opengl.Window; import org.lwjgl.opengl.GLU; import org.lwjgl.vector.Vector2f; @@ -88,7 +88,7 @@ public class ControllerCreationTest { } private void initializeOpenGL() { - GL.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + CoreGL11.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); GLU.gluOrtho2D(0.0, 640, 0, 480); } @@ -195,24 +195,24 @@ public class ControllerCreationTest { } private void render() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT); + CoreGL11.glClear(CoreGL11.GL_COLOR_BUFFER_BIT); - GL.glPushMatrix(); - GL.glBegin(GL.GL_POLYGON); + CoreGL11.glPushMatrix(); + CoreGL11.glBegin(CoreGL11.GL_POLYGON); { - GL.glColor3f(0.0f, 1.0f, 1.0f); - GL.glVertex2f(position.x + 0.0f, position.y + 0.0f); + CoreGL11.glColor3f(0.0f, 1.0f, 1.0f); + CoreGL11.glVertex2f(position.x + 0.0f, position.y + 0.0f); - GL.glColor3f(1.0f, 0.0f, 1.0f); - GL.glVertex2f(position.x + 0.0f, position.y + 30.0f); - GL.glVertex2f(position.x + 40.0f, position.y + 30.0f); + CoreGL11.glColor3f(1.0f, 0.0f, 1.0f); + CoreGL11.glVertex2f(position.x + 0.0f, position.y + 30.0f); + CoreGL11.glVertex2f(position.x + 40.0f, position.y + 30.0f); - GL.glColor3f(1.0f, 1.0f, 0.0f); - GL.glVertex2f(position.x + 60.0f, position.y + 15.f); - GL.glVertex2f(position.x + 40.0f, position.y + 0.0f); + CoreGL11.glColor3f(1.0f, 1.0f, 0.0f); + CoreGL11.glVertex2f(position.x + 60.0f, position.y + 15.f); + CoreGL11.glVertex2f(position.x + 40.0f, position.y + 0.0f); } - GL.glEnd(); - GL.glPopMatrix(); + CoreGL11.glEnd(); + CoreGL11.glPopMatrix(); } /** diff --git a/src/java/org/lwjgl/test/input/ControllerTest.java b/src/java/org/lwjgl/test/input/ControllerTest.java index 42758274..3bb57675 100644 --- a/src/java/org/lwjgl/test/input/ControllerTest.java +++ b/src/java/org/lwjgl/test/input/ControllerTest.java @@ -34,7 +34,7 @@ package org.lwjgl.test.input; import org.lwjgl.DisplayMode; import org.lwjgl.input.Controller; import org.lwjgl.input.Keyboard; -import org.lwjgl.opengl.GL; +import org.lwjgl.opengl.CoreGL11; import org.lwjgl.opengl.Window; import org.lwjgl.opengl.GLU; import org.lwjgl.vector.Vector2f; @@ -86,7 +86,7 @@ public class ControllerTest { } private void initializeOpenGL() { - GL.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + CoreGL11.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); GLU.gluOrtho2D(0.0, 640, 0, 480); } @@ -167,9 +167,9 @@ public class ControllerTest { } private void render() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT); + CoreGL11.glClear(CoreGL11.GL_COLOR_BUFFER_BIT); - GL.glBegin(GL.GL_POLYGON); + CoreGL11.glBegin(CoreGL11.GL_POLYGON); { float color = 1.0f; int buttonDown = 0; @@ -180,15 +180,15 @@ public class ControllerTest { System.out.println("Button " + i + " down"); } } - GL.glColor3f(color, color, color); + CoreGL11.glColor3f(color, color, color); - GL.glVertex2f(position.x + 0.0f, position.y + 0.0f); - GL.glVertex2f(position.x + 0.0f, position.y + 30.0f); - GL.glVertex2f(position.x + 40.0f, position.y + 30.0f); - GL.glVertex2f(position.x + 60.0f, position.y + 15.f); - GL.glVertex2f(position.x + 40.0f, position.y + 0.0f); + CoreGL11.glVertex2f(position.x + 0.0f, position.y + 0.0f); + CoreGL11.glVertex2f(position.x + 0.0f, position.y + 30.0f); + CoreGL11.glVertex2f(position.x + 40.0f, position.y + 30.0f); + CoreGL11.glVertex2f(position.x + 60.0f, position.y + 15.f); + CoreGL11.glVertex2f(position.x + 40.0f, position.y + 0.0f); } - GL.glEnd(); + CoreGL11.glEnd(); } /** diff --git a/src/java/org/lwjgl/test/input/HWCursorTest.java b/src/java/org/lwjgl/test/input/HWCursorTest.java index 3085b9c5..a1a55acb 100644 --- a/src/java/org/lwjgl/test/input/HWCursorTest.java +++ b/src/java/org/lwjgl/test/input/HWCursorTest.java @@ -182,23 +182,23 @@ public class HWCursorTest { */ private void render() { //clear background - GL.glClear(GL.GL_COLOR_BUFFER_BIT); + CoreGL11.glClear(CoreGL11.GL_COLOR_BUFFER_BIT); // draw white quad - GL.glPushMatrix(); + CoreGL11.glPushMatrix(); { - GL.glTranslatef(mouse_x, 600 - mouse_y, 0); - GL.glColor3f(1.0f, 1.0f, 1.0f); - GL.glBegin(GL.GL_QUADS); + CoreGL11.glTranslatef(mouse_x, 600 - mouse_y, 0); + CoreGL11.glColor3f(1.0f, 1.0f, 1.0f); + CoreGL11.glBegin(CoreGL11.GL_QUADS); { - GL.glVertex2i(-50, -50); - GL.glVertex2i(50, -50); - GL.glVertex2i(50, 50); - GL.glVertex2i(-50, 50); + CoreGL11.glVertex2i(-50, -50); + CoreGL11.glVertex2i(50, -50); + CoreGL11.glVertex2i(50, 50); + CoreGL11.glVertex2i(-50, 50); } - GL.glEnd(); + CoreGL11.glEnd(); } - GL.glPopMatrix(); + CoreGL11.glPopMatrix(); } /** @@ -327,15 +327,15 @@ public class HWCursorTest { */ private void glInit() { // Go into orthographic projection mode. - GL.glMatrixMode(GL.GL_PROJECTION); - GL.glLoadIdentity(); + CoreGL11.glMatrixMode(CoreGL11.GL_PROJECTION); + CoreGL11.glLoadIdentity(); GLU.gluOrtho2D(0, mode.width, 0, mode.height); - GL.glMatrixMode(GL.GL_MODELVIEW); - GL.glLoadIdentity(); - GL.glViewport(0, 0, mode.width, mode.height); + CoreGL11.glMatrixMode(CoreGL11.GL_MODELVIEW); + CoreGL11.glLoadIdentity(); + CoreGL11.glViewport(0, 0, mode.width, mode.height); //set clear color to black - GL.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + CoreGL11.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); //sync frame (only works on windows) Window.setVSyncEnabled(true); diff --git a/src/java/org/lwjgl/test/input/KeyboardTest.java b/src/java/org/lwjgl/test/input/KeyboardTest.java index 6e7a4de7..d7066584 100644 --- a/src/java/org/lwjgl/test/input/KeyboardTest.java +++ b/src/java/org/lwjgl/test/input/KeyboardTest.java @@ -33,7 +33,7 @@ package org.lwjgl.test.input; import org.lwjgl.DisplayMode; import org.lwjgl.input.Keyboard; -import org.lwjgl.opengl.GL; +import org.lwjgl.opengl.CoreGL11; import org.lwjgl.opengl.Window; import org.lwjgl.opengl.GLU; import org.lwjgl.vector.Vector2f; @@ -89,7 +89,7 @@ public class KeyboardTest { } private void initializeOpenGL() { - GL.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + CoreGL11.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); GLU.gluOrtho2D(0.0, 640, 0, 480); } @@ -198,21 +198,21 @@ public class KeyboardTest { } private void render() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT); + CoreGL11.glClear(CoreGL11.GL_COLOR_BUFFER_BIT); - GL.glBegin(GL.GL_POLYGON); + CoreGL11.glBegin(CoreGL11.GL_POLYGON); { float color = 1.0f; int buttonDown = 0; - GL.glColor3f(color, color, color); + CoreGL11.glColor3f(color, color, color); - GL.glVertex2f(position.x + 0.0f, position.y + 0.0f); - GL.glVertex2f(position.x + 0.0f, position.y + 30.0f); - GL.glVertex2f(position.x + 40.0f, position.y + 30.0f); - GL.glVertex2f(position.x + 60.0f, position.y + 15.f); - GL.glVertex2f(position.x + 40.0f, position.y + 0.0f); + CoreGL11.glVertex2f(position.x + 0.0f, position.y + 0.0f); + CoreGL11.glVertex2f(position.x + 0.0f, position.y + 30.0f); + CoreGL11.glVertex2f(position.x + 40.0f, position.y + 30.0f); + CoreGL11.glVertex2f(position.x + 60.0f, position.y + 15.f); + CoreGL11.glVertex2f(position.x + 40.0f, position.y + 0.0f); } - GL.glEnd(); + CoreGL11.glEnd(); } /** diff --git a/src/java/org/lwjgl/test/input/MouseCreationTest.java b/src/java/org/lwjgl/test/input/MouseCreationTest.java index 0fe5142f..0bfa8f08 100644 --- a/src/java/org/lwjgl/test/input/MouseCreationTest.java +++ b/src/java/org/lwjgl/test/input/MouseCreationTest.java @@ -35,7 +35,7 @@ import org.lwjgl.Sys; import org.lwjgl.Display; import org.lwjgl.DisplayMode; import org.lwjgl.input.Mouse; -import org.lwjgl.opengl.GL; +import org.lwjgl.opengl.CoreGL11; import org.lwjgl.opengl.Window; import org.lwjgl.opengl.GLU; import org.lwjgl.vector.Vector2f; @@ -91,7 +91,7 @@ public class MouseCreationTest { } private void initializeOpenGL() { - GL.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + CoreGL11.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); GLU.gluOrtho2D(0.0, 640, 0, 480); } @@ -200,9 +200,9 @@ public class MouseCreationTest { } private void render() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT); + CoreGL11.glClear(CoreGL11.GL_COLOR_BUFFER_BIT); - GL.glBegin(GL.GL_POLYGON); + CoreGL11.glBegin(CoreGL11.GL_POLYGON); { float color = 1.0f; int buttonDown = 0; @@ -213,15 +213,15 @@ public class MouseCreationTest { break; } } - GL.glColor3f(color, color, color); + CoreGL11.glColor3f(color, color, color); - GL.glVertex2f(position.x + 0.0f, position.y + 0.0f); - GL.glVertex2f(position.x + 0.0f, position.y + 30.0f); - GL.glVertex2f(position.x + 40.0f, position.y + 30.0f); - GL.glVertex2f(position.x + 60.0f, position.y + 15.f); - GL.glVertex2f(position.x + 40.0f, position.y + 0.0f); + CoreGL11.glVertex2f(position.x + 0.0f, position.y + 0.0f); + CoreGL11.glVertex2f(position.x + 0.0f, position.y + 30.0f); + CoreGL11.glVertex2f(position.x + 40.0f, position.y + 30.0f); + CoreGL11.glVertex2f(position.x + 60.0f, position.y + 15.f); + CoreGL11.glVertex2f(position.x + 40.0f, position.y + 0.0f); } - GL.glEnd(); + CoreGL11.glEnd(); } /** diff --git a/src/java/org/lwjgl/test/input/MouseTest.java b/src/java/org/lwjgl/test/input/MouseTest.java index cff4f3d9..93498d97 100644 --- a/src/java/org/lwjgl/test/input/MouseTest.java +++ b/src/java/org/lwjgl/test/input/MouseTest.java @@ -34,7 +34,7 @@ package org.lwjgl.test.input; import org.lwjgl.DisplayMode; import org.lwjgl.input.Mouse; import org.lwjgl.input.Keyboard; -import org.lwjgl.opengl.GL; +import org.lwjgl.opengl.CoreGL11; import org.lwjgl.opengl.Window; import org.lwjgl.opengl.GLU; import org.lwjgl.vector.Vector2f; @@ -86,7 +86,7 @@ public class MouseTest { } private void initializeOpenGL() { - GL.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + CoreGL11.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); GLU.gluOrtho2D(0.0, 640, 0, 480); } @@ -154,9 +154,9 @@ public class MouseTest { } private void render() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT); + CoreGL11.glClear(CoreGL11.GL_COLOR_BUFFER_BIT); - GL.glBegin(GL.GL_POLYGON); + CoreGL11.glBegin(CoreGL11.GL_POLYGON); { float color = 1.0f; int buttonDown = 0; @@ -167,15 +167,15 @@ public class MouseTest { break; } } - GL.glColor3f(color, color, color); + CoreGL11.glColor3f(color, color, color); - GL.glVertex2f(position.x + 0.0f, position.y + 0.0f); - GL.glVertex2f(position.x + 0.0f, position.y + 30.0f); - GL.glVertex2f(position.x + 40.0f, position.y + 30.0f); - GL.glVertex2f(position.x + 60.0f, position.y + 15.f); - GL.glVertex2f(position.x + 40.0f, position.y + 0.0f); + CoreGL11.glVertex2f(position.x + 0.0f, position.y + 0.0f); + CoreGL11.glVertex2f(position.x + 0.0f, position.y + 30.0f); + CoreGL11.glVertex2f(position.x + 40.0f, position.y + 30.0f); + CoreGL11.glVertex2f(position.x + 60.0f, position.y + 15.f); + CoreGL11.glVertex2f(position.x + 40.0f, position.y + 0.0f); } - GL.glEnd(); + CoreGL11.glEnd(); } /** diff --git a/src/java/org/lwjgl/test/openal/PlayTestMemory.java b/src/java/org/lwjgl/test/openal/PlayTestMemory.java index 116dc436..7a744e6e 100644 --- a/src/java/org/lwjgl/test/openal/PlayTestMemory.java +++ b/src/java/org/lwjgl/test/openal/PlayTestMemory.java @@ -228,4 +228,4 @@ public class PlayTestMemory extends BasicTest { PlayTestMemory playTestMemory = new PlayTestMemory(); playTestMemory.execute(args); } -} \ No newline at end of file +} diff --git a/src/java/org/lwjgl/test/openal/PositionTest.java b/src/java/org/lwjgl/test/openal/PositionTest.java index e43627e8..edfd0636 100644 --- a/src/java/org/lwjgl/test/openal/PositionTest.java +++ b/src/java/org/lwjgl/test/openal/PositionTest.java @@ -122,14 +122,14 @@ public class PositionTest extends BasicTest { // ===================================================== Sys.log("Setting up OpenGL"); - GL.glViewport(0, 0, WINDOW_WIDTH, WINDOW_HEIGHT); - GL.glMatrixMode(GL.GL_PROJECTION); - GL.glLoadIdentity(); + CoreGL11.glViewport(0, 0, WINDOW_WIDTH, WINDOW_HEIGHT); + CoreGL11.glMatrixMode(CoreGL11.GL_PROJECTION); + CoreGL11.glLoadIdentity(); GLU.gluPerspective(50.0, WINDOW_WIDTH / WINDOW_HEIGHT, 0.0, 50.0); - GL.glMatrixMode(GL.GL_MODELVIEW); - GL.glLoadIdentity(); - GL.glTranslatef(0.0f, 0.0f, -6.6f); - GL.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); + CoreGL11.glMatrixMode(CoreGL11.GL_MODELVIEW); + CoreGL11.glLoadIdentity(); + CoreGL11.glTranslatef(0.0f, 0.0f, -6.6f); + CoreGL11.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glut = this.new GLUT(); Window.setVSyncEnabled(true); @@ -404,48 +404,48 @@ public class PositionTest extends BasicTest { * Render the scene */ private void render() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); - GL.glPushMatrix(); + CoreGL11.glClear(CoreGL11.GL_COLOR_BUFFER_BIT | CoreGL11.GL_DEPTH_BUFFER_BIT); + CoreGL11.glPushMatrix(); { - GL.glRotatef(20.0f, 1.0f, 1.0f, 0.0f); + CoreGL11.glRotatef(20.0f, 1.0f, 1.0f, 0.0f); // left - GL.glPushMatrix(); + CoreGL11.glPushMatrix(); { - GL.glTranslatef(leftPosition.get(0), leftPosition.get(1), leftPosition.get(2)); - GL.glColor3f(1.0f, 0.0f, 0.0f); + CoreGL11.glTranslatef(leftPosition.get(0), leftPosition.get(1), leftPosition.get(2)); + CoreGL11.glColor3f(1.0f, 0.0f, 0.0f); glut.glutWireCube(0.5f); } - GL.glPopMatrix(); + CoreGL11.glPopMatrix(); // center - GL.glPushMatrix(); + CoreGL11.glPushMatrix(); { - GL.glTranslatef(centerPosition.get(0), centerPosition.get(1), centerPosition.get(2)); - GL.glColor3f(0.0f, 0.0f, 1.0f); + CoreGL11.glTranslatef(centerPosition.get(0), centerPosition.get(1), centerPosition.get(2)); + CoreGL11.glColor3f(0.0f, 0.0f, 1.0f); glut.glutWireCube(0.5f); } - GL.glPopMatrix(); + CoreGL11.glPopMatrix(); // right - GL.glPushMatrix(); + CoreGL11.glPushMatrix(); { - GL.glTranslatef(rightPosition.get(0), rightPosition.get(1), rightPosition.get(2)); - GL.glColor3f(0.0f, 1.0f, 0.0f); + CoreGL11.glTranslatef(rightPosition.get(0), rightPosition.get(1), rightPosition.get(2)); + CoreGL11.glColor3f(0.0f, 1.0f, 0.0f); glut.glutWireCube(0.5f); } - GL.glPopMatrix(); + CoreGL11.glPopMatrix(); // listener - GL.glPushMatrix(); + CoreGL11.glPushMatrix(); { - GL.glTranslatef(listenerPosition.get(0), listenerPosition.get(1), listenerPosition.get(2)); - GL.glColor3f(1.0f, 1.0f, 1.0f); + CoreGL11.glTranslatef(listenerPosition.get(0), listenerPosition.get(1), listenerPosition.get(2)); + CoreGL11.glColor3f(1.0f, 1.0f, 1.0f); glut.glutSolidCube(0.5f); } - GL.glPopMatrix(); + CoreGL11.glPopMatrix(); } - GL.glPopMatrix(); + CoreGL11.glPopMatrix(); } /** @@ -515,11 +515,11 @@ public class PositionTest extends BasicTest { float v[][] = new float[8][3]; public void glutWireCube(float size) { - drawBox(size, GL.GL_LINE_LOOP); + drawBox(size, CoreGL11.GL_LINE_LOOP); } public void glutSolidCube(float size) { - drawBox(size, GL.GL_QUADS); + drawBox(size, CoreGL11.GL_QUADS); } private void drawBox(float size, int type) { @@ -532,13 +532,13 @@ public class PositionTest extends BasicTest { v[1][2] = v[2][2] = v[5][2] = v[6][2] = size / 2; for (int i = 5; i >= 0; i--) { - GL.glBegin(type); - GL.glNormal3f(n[i][0], n[i][1], n[i][2]); - GL.glVertex3f(v[faces[i][0]][0], v[faces[i][0]][1], v[faces[i][0]][2]); - GL.glVertex3f(v[faces[i][1]][0], v[faces[i][1]][1], v[faces[i][1]][2]); - GL.glVertex3f(v[faces[i][2]][0], v[faces[i][2]][1], v[faces[i][2]][2]); - GL.glVertex3f(v[faces[i][3]][0], v[faces[i][3]][1], v[faces[i][3]][2]); - GL.glEnd(); + CoreGL11.glBegin(type); + CoreGL11.glNormal3f(n[i][0], n[i][1], n[i][2]); + CoreGL11.glVertex3f(v[faces[i][0]][0], v[faces[i][0]][1], v[faces[i][0]][2]); + CoreGL11.glVertex3f(v[faces[i][1]][0], v[faces[i][1]][1], v[faces[i][1]][2]); + CoreGL11.glVertex3f(v[faces[i][2]][0], v[faces[i][2]][1], v[faces[i][2]][2]); + CoreGL11.glVertex3f(v[faces[i][3]][0], v[faces[i][3]][1], v[faces[i][3]][2]); + CoreGL11.glEnd(); } } diff --git a/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java b/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java index 84289039..b3d35499 100644 --- a/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java +++ b/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java @@ -168,24 +168,24 @@ public class FullScreenWindowedTest { private void render() { //clear background - GL.glClear(GL.GL_COLOR_BUFFER_BIT); + CoreGL11.glClear(CoreGL11.GL_COLOR_BUFFER_BIT); // draw white quad - GL.glPushMatrix(); + CoreGL11.glPushMatrix(); { - GL.glTranslatef(quadPosition.x, quadPosition.y, 0); - GL.glRotatef(angle, 0.0f, 0.0f, 1.0f); - GL.glColor3f(1.0f, 1.0f, 1.0f); - GL.glBegin(GL.GL_QUADS); + CoreGL11.glTranslatef(quadPosition.x, quadPosition.y, 0); + CoreGL11.glRotatef(angle, 0.0f, 0.0f, 1.0f); + CoreGL11.glColor3f(1.0f, 1.0f, 1.0f); + CoreGL11.glBegin(CoreGL11.GL_QUADS); { - GL.glVertex2i(-50, -50); - GL.glVertex2i(50, -50); - GL.glVertex2i(50, 50); - GL.glVertex2i(-50, 50); + CoreGL11.glVertex2i(-50, -50); + CoreGL11.glVertex2i(50, -50); + CoreGL11.glVertex2i(50, 50); + CoreGL11.glVertex2i(-50, 50); } - GL.glEnd(); + CoreGL11.glEnd(); } - GL.glPopMatrix(); + CoreGL11.glPopMatrix(); } /** @@ -305,15 +305,15 @@ public class FullScreenWindowedTest { */ private void glInit() { // Go into orthographic projection mode. - GL.glMatrixMode(GL.GL_PROJECTION); - GL.glLoadIdentity(); + CoreGL11.glMatrixMode(CoreGL11.GL_PROJECTION); + CoreGL11.glLoadIdentity(); GLU.gluOrtho2D(0, mode.width, 0, mode.height); - GL.glMatrixMode(GL.GL_MODELVIEW); - GL.glLoadIdentity(); - GL.glViewport(0, 0, mode.width, mode.height); + CoreGL11.glMatrixMode(CoreGL11.GL_MODELVIEW); + CoreGL11.glLoadIdentity(); + CoreGL11.glViewport(0, 0, mode.width, mode.height); //set clear color to black - GL.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + CoreGL11.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); //sync frame (only works on windows) Window.setVSyncEnabled(true); diff --git a/src/java/org/lwjgl/test/opengl/Game.java b/src/java/org/lwjgl/test/opengl/Game.java index 20598f63..ffd53163 100644 --- a/src/java/org/lwjgl/test/opengl/Game.java +++ b/src/java/org/lwjgl/test/opengl/Game.java @@ -148,17 +148,17 @@ public final class Game { * All rendering is done in here */ private static void render() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT); - GL.glPushMatrix(); - GL.glTranslatef(Display.getWidth() / 2, Display.getHeight() / 2, 0.0f); - GL.glRotatef(angle, 0, 0, 1.0f); - GL.glBegin(GL.GL_QUADS); - GL.glVertex2i(-50, -50); - GL.glVertex2i(50, -50); - GL.glVertex2i(50, 50); - GL.glVertex2i(-50, 50); - GL.glEnd(); - GL.glPopMatrix(); + CoreGL11.glClear(CoreGL11.GL_COLOR_BUFFER_BIT); + CoreGL11.glPushMatrix(); + CoreGL11.glTranslatef(Display.getWidth() / 2, Display.getHeight() / 2, 0.0f); + CoreGL11.glRotatef(angle, 0, 0, 1.0f); + CoreGL11.glBegin(CoreGL11.GL_QUADS); + CoreGL11.glVertex2i(-50, -50); + CoreGL11.glVertex2i(50, -50); + CoreGL11.glVertex2i(50, 50); + CoreGL11.glVertex2i(-50, 50); + CoreGL11.glEnd(); + CoreGL11.glPopMatrix(); } /** @@ -172,18 +172,18 @@ public final class Game { Sys.setProcessPriority(Sys.HIGH_PRIORITY); System.out.println("Timer resolution: " + Sys.getTimerResolution()); // Go into orthographic projection mode. - GL.glMatrixMode(GL.GL_PROJECTION); - GL.glLoadIdentity(); + CoreGL11.glMatrixMode(CoreGL11.GL_PROJECTION); + CoreGL11.glLoadIdentity(); GLU.gluOrtho2D(0, Display.getWidth(), 0, Display.getHeight()); - GL.glMatrixMode(GL.GL_MODELVIEW); - GL.glLoadIdentity(); - GL.glViewport(0, 0, Display.getWidth(), Display.getHeight()); + CoreGL11.glMatrixMode(CoreGL11.GL_MODELVIEW); + CoreGL11.glLoadIdentity(); + CoreGL11.glViewport(0, 0, Display.getWidth(), Display.getHeight()); ByteBuffer num_tex_units_buf = ByteBuffer.allocateDirect(4); num_tex_units_buf.order(ByteOrder.nativeOrder()); - GL.glGetInteger(GL.GL_MAX_TEXTURE_UNITS_ARB, num_tex_units_buf.asIntBuffer()); + CoreGL11.glGetInteger(CoreGL13.GL_MAX_TEXTURE_UNITS, num_tex_units_buf.asIntBuffer()); System.out.println("Number of texture units: " + num_tex_units_buf.getInt()); // Fix the refresh rate to the display frequency. -// GL.wglSwapIntervalEXT(1); +// CoreGL11.wglSwapIntervalEXT(1); } /** diff --git a/src/java/org/lwjgl/test/opengl/Grass.java b/src/java/org/lwjgl/test/opengl/Grass.java index 525e45d6..155bd2e9 100644 --- a/src/java/org/lwjgl/test/opengl/Grass.java +++ b/src/java/org/lwjgl/test/opengl/Grass.java @@ -43,6 +43,7 @@ package org.lwjgl.test.opengl; import org.lwjgl.input.*; import org.lwjgl.opengl.*; +import org.lwjgl.opengl.nv.*; import org.lwjgl.*; import java.io.*; @@ -130,7 +131,7 @@ public class Grass { ByteBuffer byte_buf = ByteBuffer.allocateDirect(4); byte_buf.order(ByteOrder.nativeOrder()); System.out.println("Vertex program supported: " + GLCaps.GL_NV_vertex_program); - GL.glGenProgramsNV(byte_buf.asIntBuffer()); + NVVertexProgram.glGenProgramsNV(byte_buf.asIntBuffer()); IntBuffer int_buf = byte_buf.asIntBuffer(); if (int_buf.get(0) == 0) throw new RuntimeException("Could not allocate new vertex program id!"); @@ -142,11 +143,11 @@ public class Grass { program_buf.rewind(); program_buf.put(program); program_buf.rewind(); - GL.glLoadProgramNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glLoadProgramNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, program_handle, program_buf); - /*GL.glGetInteger(GL.PROGRAM_ERROR_POSITION_NV, int_buf); + /*CoreGL11.glGetInteger(CoreGL11.PROGRAM_ERROR_POSITION_NV, int_buf); System.out.println("error position: " + int_buf.get(0));*/ genMesh(); @@ -159,24 +160,24 @@ public class Grass { light_buf_f.rewind(); light_buf_f.put(LightDiffuse); - GL.glLightfv( - GL.GL_LIGHT0, - GL.GL_DIFFUSE, + CoreGL11.glLightfv( + CoreGL11.GL_LIGHT0, + CoreGL11.GL_DIFFUSE, light_buf_f); light_buf_f.rewind(); light_buf_f.put(LightPosition); - GL.glLightfv( - GL.GL_LIGHT0, - GL.GL_POSITION, + CoreGL11.glLightfv( + CoreGL11.GL_LIGHT0, + CoreGL11.GL_POSITION, light_buf_f); - GL.glEnable(GL.GL_LIGHT0); - GL.glEnable(GL.GL_LIGHTING); - GL.glEnable(GL.GL_DEPTH_TEST); - GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); - GL.glEnable(GL.GL_BLEND); - GL.glMatrixMode(GL.GL_PROJECTION); + CoreGL11.glEnable(CoreGL11.GL_LIGHT0); + CoreGL11.glEnable(CoreGL11.GL_LIGHTING); + CoreGL11.glEnable(CoreGL11.GL_DEPTH_TEST); + CoreGL11.glBlendFunc(CoreGL11.GL_SRC_ALPHA, CoreGL11.GL_ONE_MINUS_SRC_ALPHA); + CoreGL11.glEnable(CoreGL11.GL_BLEND); + CoreGL11.glMatrixMode(CoreGL11.GL_PROJECTION); GLU.gluPerspective(40.0, 1.0, 1.0, 50.0); - GL.glMatrixMode(GL.GL_MODELVIEW); + CoreGL11.glMatrixMode(CoreGL11.GL_MODELVIEW); GLU.gluLookAt(14.0, 10.0, -16.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); @@ -192,7 +193,7 @@ public class Grass { degree *= (0.5 + myrand()); ptrAnimate(degree); - GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); + CoreGL11.glClear(CoreGL11.GL_COLOR_BUFFER_BIT | CoreGL11.GL_DEPTH_BUFFER_BIT); //ptrDraw(); @@ -238,16 +239,16 @@ public class Grass { fRigid = ((fRigid = myrand()) < 0.2f) ? 0.2f : fRigid; if (myrand() < 0.3) - GL.glBegin(GL.GL_LINE_STRIP); + CoreGL11.glBegin(CoreGL11.GL_LINE_STRIP); else - GL.glBegin(GL.GL_QUAD_STRIP); + CoreGL11.glBegin(CoreGL11.GL_QUAD_STRIP); for (cFaces = 0; cFaces < numFaces; cFaces++) { for (cWidth = frndWidth; cWidth >= -frndWidth; cWidth -= (frndWidth * 2.0f)) { - GL.glColor4f(fX, fRigid, fZ, (float) cFaces / (float) numFaces); - GL.glVertex3f( + CoreGL11.glColor4f(fX, fRigid, fZ, (float) cFaces / (float) numFaces); + CoreGL11.glVertex3f( (float) (((cFaces - 2) * 0.1f) * java.lang.Math.cos(fRotate) + (cWidth) * java.lang.Math.sin(fRotate)), @@ -258,7 +259,7 @@ public class Grass { } frndWidth -= fDecWidth; } - GL.glEnd(); + CoreGL11.glEnd(); } @@ -266,111 +267,111 @@ public class Grass { float cI, cJ, fArea; fArea = 20.0f; - mesh = GL.glGenLists(1); - GL.glNewList(mesh, GL.GL_COMPILE); + mesh = CoreGL11.glGenLists(1); + CoreGL11.glNewList(mesh, CoreGL11.GL_COMPILE); for (cI = -fArea / 2; cI < fArea / 2; cI += 0.25f) { for (cJ = -fArea / 2; cJ < fArea / 2; cJ += 0.25f) { genGrass(0.5f, 0.1f, cI, cJ); } } - GL.glEndList(); + CoreGL11.glEndList(); } private static void grsDraw() { - GL.glEnable(GL.GL_VERTEX_PROGRAM_NV); - GL.glBindProgramNV(GL.GL_VERTEX_PROGRAM_NV, program_handle); - GL.glTrackMatrixNV( - GL.GL_VERTEX_PROGRAM_NV, + CoreGL11.glEnable(NVVertexProgram.GL_VERTEX_PROGRAM_NV); + NVVertexProgram.glBindProgramNV(NVVertexProgram.GL_VERTEX_PROGRAM_NV, program_handle); + NVVertexProgram.glTrackMatrixNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 0, - GL.GL_MODELVIEW_PROJECTION_NV, - GL.GL_IDENTITY_NV); + NVVertexProgram.GL_MODELVIEW_PROJECTION_NV, + NVVertexProgram.GL_IDENTITY_NV); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 4, 0.0f, 0.0f, 0.0f, 0.0f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 5, 0.0f, 0.0f, 0.0f, 0.0f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 6, 1.763609f, 0.496495f, 0.0f, 0.0f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 7, -0.943599f, 3.203737f, 0.0f, 0.0f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 8, 4.101107f, 0.943413f, 0.0f, 0.0f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 9, -1.218603f, 6.259399f, 0.0f, 0.0f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 10, 7.214299f, 1.352961f, 0.0f, 0.0f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 11, -1.540748f, 10.080958f, 0.0f, 0.0f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 12, 10.880035f, 1.759046f, 0.0f, 0.0f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 13, -1.852705f, 14.468674f, 0.0f, 0.0f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 14, 14.292879f, 1.973329f, 0.0f, 0.0f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 15, -1.973387f, 18.506531f, 0.0f, 0.0f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 16, (float) (java.lang.Math.sin(aslod.angle) * (aslod.value + aslod.ripple)), @@ -379,54 +380,54 @@ public class Grass { * (aslod.value + aslod.ripple)), 0.0f); - GL.glProgramParameter4fNV(GL.GL_VERTEX_PROGRAM_NV, 17, 1.7f, 5f, 2f, 0f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV(NVVertexProgram.GL_VERTEX_PROGRAM_NV, 17, 1.7f, 5f, 2f, 0f); + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 18, -0.0187293f, 0.074261f, 0.2121144f, 1.570729f); - GL.glProgramParameter4fNV(GL.GL_VERTEX_PROGRAM_NV, 20, 0f, 0.5f, 1f, 0f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV(NVVertexProgram.GL_VERTEX_PROGRAM_NV, 20, 0f, 0.5f, 1f, 0f); + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 21, 0.25f, -9f, 0.75f, 0.1591549f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 22, 24.9808f, -24.9808f, -60.14581f, 60.14581f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 23, 85.45379f, -85.45379f, -64.93935f, 64.93935f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 24, 19.73921f, -19.73921f, -1f, 1f); - GL.glProgramParameter4fNV(GL.GL_VERTEX_PROGRAM_NV, 25, 0f, 4f, 0f, 0f); - GL.glProgramParameter4fNV( - GL.GL_VERTEX_PROGRAM_NV, + NVVertexProgram.glProgramParameter4fNV(NVVertexProgram.GL_VERTEX_PROGRAM_NV, 25, 0f, 4f, 0f, 0f); + NVVertexProgram.glProgramParameter4fNV( + NVVertexProgram.GL_VERTEX_PROGRAM_NV, 19, 1f, 3.141593f, 0.5f, 1f); - GL.glProgramParameter4fNV(GL.GL_VERTEX_PROGRAM_NV, 26, 0.7f, 0.4f, 0f, 0f); - GL.glCallList(mesh); - GL.glDisable(GL.GL_VERTEX_PROGRAM_NV); + NVVertexProgram.glProgramParameter4fNV(NVVertexProgram.GL_VERTEX_PROGRAM_NV, 26, 0.7f, 0.4f, 0f, 0f); + CoreGL11.glCallList(mesh); + CoreGL11.glDisable(NVVertexProgram.GL_VERTEX_PROGRAM_NV); } diff --git a/src/java/org/lwjgl/test/opengl/PbufferTest.java b/src/java/org/lwjgl/test/opengl/PbufferTest.java index 72d2ac31..93c6f1ce 100644 --- a/src/java/org/lwjgl/test/opengl/PbufferTest.java +++ b/src/java/org/lwjgl/test/opengl/PbufferTest.java @@ -184,49 +184,49 @@ public class PbufferTest { pbuffer.makeCurrent(); // Pbuffer rendering //clear background - GL.glClear(GL.GL_COLOR_BUFFER_BIT); + CoreGL11.glClear(CoreGL11.GL_COLOR_BUFFER_BIT); // draw white quad - GL.glPushMatrix(); + CoreGL11.glPushMatrix(); { - GL.glTranslatef(quadPosition.x, quadPosition.y, 0); - GL.glRotatef(angle, 0.0f, 0.0f, 1.0f); - GL.glColor3f(1.0f, 1.0f, 1.0f); - GL.glBegin(GL.GL_QUADS); + CoreGL11.glTranslatef(quadPosition.x, quadPosition.y, 0); + CoreGL11.glRotatef(angle, 0.0f, 0.0f, 1.0f); + CoreGL11.glColor3f(1.0f, 1.0f, 1.0f); + CoreGL11.glBegin(CoreGL11.GL_QUADS); { - GL.glVertex2i(-50, -50); - GL.glVertex2i(50, -50); - GL.glVertex2i(50, 50); - GL.glVertex2i(-50, 50); + CoreGL11.glVertex2i(-50, -50); + CoreGL11.glVertex2i(50, -50); + CoreGL11.glVertex2i(50, 50); + CoreGL11.glVertex2i(-50, 50); } - GL.glEnd(); + CoreGL11.glEnd(); } - GL.glPopMatrix(); - GL.glCopyTexImage2D(GL.GL_TEXTURE_2D, 0, GL.GL_COMPRESSED_RGB, 0, 0, 512, 512, 0); + CoreGL11.glPopMatrix(); + CoreGL11.glCopyTexImage2D(CoreGL11.GL_TEXTURE_2D, 0, CoreGL11.GL_RGB, 0, 0, 512, 512, 0); Pbuffer.releaseContext(); // OpenGL window rendering - GL.glClear(GL.GL_COLOR_BUFFER_BIT); + CoreGL11.glClear(CoreGL11.GL_COLOR_BUFFER_BIT); // draw white quad - GL.glPushMatrix(); + CoreGL11.glPushMatrix(); { - GL.glTranslatef(quadPosition.x, quadPosition.y, 0); - GL.glRotatef(angle, 0.0f, 0.0f, 1.0f); - GL.glColor3f(1.0f, 1.0f, 0.0f); - GL.glBegin(GL.GL_QUADS); + CoreGL11.glTranslatef(quadPosition.x, quadPosition.y, 0); + CoreGL11.glRotatef(angle, 0.0f, 0.0f, 1.0f); + CoreGL11.glColor3f(1.0f, 1.0f, 0.0f); + CoreGL11.glBegin(CoreGL11.GL_QUADS); { - GL.glTexCoord2f(0f, 0f); - GL.glVertex2i(-50, -50); - GL.glTexCoord2f(1f, 0f); - GL.glVertex2i(50, -50); - GL.glTexCoord2f(1f, 1f); - GL.glVertex2i(50, 50); - GL.glTexCoord2f(0f, 1f); - GL.glVertex2i(-50, 50); + CoreGL11.glTexCoord2f(0f, 0f); + CoreGL11.glVertex2i(-50, -50); + CoreGL11.glTexCoord2f(1f, 0f); + CoreGL11.glVertex2i(50, -50); + CoreGL11.glTexCoord2f(1f, 1f); + CoreGL11.glVertex2i(50, 50); + CoreGL11.glTexCoord2f(0f, 1f); + CoreGL11.glVertex2i(-50, 50); } - GL.glEnd(); + CoreGL11.glEnd(); } - GL.glPopMatrix(); + CoreGL11.glPopMatrix(); } private void initPbuffer() { @@ -234,7 +234,7 @@ public class PbufferTest { pbuffer = new Pbuffer(512, 512, mode.bpp, 0, 0, 0); pbuffer.makeCurrent(); initGLState(256, 256, 0.5f); - GL.glBindTexture(GL.GL_TEXTURE_2D, tex_handle); + CoreGL11.glBindTexture(CoreGL11.GL_TEXTURE_2D, tex_handle); Pbuffer.releaseContext(); } catch (Exception e) { e.printStackTrace(); @@ -335,7 +335,7 @@ public class PbufferTest { private void destroyTexture() { IntBuffer buffer = ByteBuffer.allocateDirect(4).order(ByteOrder.nativeOrder()).asIntBuffer(); buffer.put(0, tex_handle); - GL.glDeleteTextures(buffer); + CoreGL11.glDeleteTextures(buffer); } /** @@ -370,15 +370,15 @@ public class PbufferTest { } private void initGLState(int width, int height, float color) { - GL.glMatrixMode(GL.GL_PROJECTION); - GL.glLoadIdentity(); + CoreGL11.glMatrixMode(CoreGL11.GL_PROJECTION); + CoreGL11.glLoadIdentity(); GLU.gluOrtho2D(0, mode.width, 0, mode.height); - GL.glMatrixMode(GL.GL_MODELVIEW); - GL.glLoadIdentity(); - GL.glViewport(0, 0, width, height); + CoreGL11.glMatrixMode(CoreGL11.GL_MODELVIEW); + CoreGL11.glLoadIdentity(); + CoreGL11.glViewport(0, 0, width, height); //set clear color to black - GL.glClearColor(color, color, color, 0.0f); + CoreGL11.glClearColor(color, color, color, 0.0f); } /** @@ -388,17 +388,17 @@ public class PbufferTest { //sync frame (only works on windows) Window.setVSyncEnabled(true); - GL.glTexEnvf(GL.GL_TEXTURE_ENV, GL.GL_TEXTURE_ENV_MODE, GL.GL_REPLACE); - GL.glEnable(GL.GL_TEXTURE_2D); + CoreGL11.glTexEnvf(CoreGL11.GL_TEXTURE_ENV, CoreGL11.GL_TEXTURE_ENV_MODE, CoreGL11.GL_REPLACE); + CoreGL11.glEnable(CoreGL11.GL_TEXTURE_2D); // Create shared texture IntBuffer buffer = ByteBuffer.allocateDirect(4).order(ByteOrder.nativeOrder()).asIntBuffer(); - GL.glGenTextures(buffer); + CoreGL11.glGenTextures(buffer); tex_handle = buffer.get(0); - GL.glBindTexture(GL.GL_TEXTURE_2D, tex_handle); - GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_S, GL.GL_CLAMP); - GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_T, GL.GL_CLAMP); - GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR); - GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR); + CoreGL11.glBindTexture(CoreGL11.GL_TEXTURE_2D, tex_handle); + CoreGL11.glTexParameteri(CoreGL11.GL_TEXTURE_2D, CoreGL11.GL_TEXTURE_WRAP_S, CoreGL11.GL_CLAMP); + CoreGL11.glTexParameteri(CoreGL11.GL_TEXTURE_2D, CoreGL11.GL_TEXTURE_WRAP_T, CoreGL11.GL_CLAMP); + CoreGL11.glTexParameteri(CoreGL11.GL_TEXTURE_2D, CoreGL11.GL_TEXTURE_MIN_FILTER, CoreGL11.GL_LINEAR); + CoreGL11.glTexParameteri(CoreGL11.GL_TEXTURE_2D, CoreGL11.GL_TEXTURE_MAG_FILTER, CoreGL11.GL_LINEAR); initGLState(mode.width, mode.height, 0f); } diff --git a/src/java/org/lwjgl/test/opengl/VBOIndexTest.java b/src/java/org/lwjgl/test/opengl/VBOIndexTest.java index 3b5cebca..37ad5990 100644 --- a/src/java/org/lwjgl/test/opengl/VBOIndexTest.java +++ b/src/java/org/lwjgl/test/opengl/VBOIndexTest.java @@ -43,6 +43,7 @@ package org.lwjgl.test.opengl; import org.lwjgl.*; import org.lwjgl.opengl.*; +import org.lwjgl.opengl.arb.*; import org.lwjgl.input.*; import java.nio.*; @@ -150,18 +151,18 @@ public final class VBOIndexTest { * All rendering is done in here */ private static void render() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT); - GL.glPushMatrix(); - GL.glTranslatef(Display.getWidth() / 2, Display.getHeight() / 2, 0.0f); - GL.glRotatef(angle, 0, 0, 1.0f); + CoreGL11.glClear(CoreGL11.GL_COLOR_BUFFER_BIT); + CoreGL11.glPushMatrix(); + CoreGL11.glTranslatef(Display.getWidth() / 2, Display.getHeight() / 2, 0.0f); + CoreGL11.glRotatef(angle, 0, 0, 1.0f); - ByteBuffer new_mapped_buffer = GL.glMapBufferARB(GL.GL_ARRAY_BUFFER_ARB, GL.GL_WRITE_ONLY_ARB, 2*4*4, mapped_buffer); + ByteBuffer new_mapped_buffer = ARBVertexBufferObject.glMapBufferARB(ARBVertexBufferObject.GL_ARRAY_BUFFER_ARB, ARBVertexBufferObject.GL_WRITE_ONLY_ARB, 2*4*4, mapped_buffer); if (new_mapped_buffer != mapped_buffer) mapped_float_buffer = new_mapped_buffer.order(ByteOrder.nativeOrder()).asFloatBuffer(); mapped_buffer = new_mapped_buffer; - new_mapped_buffer = GL.glMapBufferARB(GL.GL_ELEMENT_ARRAY_BUFFER_ARB, GL.GL_WRITE_ONLY_ARB, 4*4, mapped_indices_buffer); + new_mapped_buffer = ARBVertexBufferObject.glMapBufferARB(ARBVertexBufferObject.GL_ELEMENT_ARRAY_BUFFER_ARB, ARBVertexBufferObject.GL_WRITE_ONLY_ARB, 4*4, mapped_indices_buffer); if (new_mapped_buffer != mapped_indices_buffer) mapped_indices_int_buffer = new_mapped_buffer.order(ByteOrder.nativeOrder()).asIntBuffer(); @@ -172,10 +173,11 @@ public final class VBOIndexTest { mapped_indices_int_buffer.rewind(); indices.rewind(); mapped_indices_int_buffer.put(indices); - if (GL.glUnmapBufferARB(GL.GL_ARRAY_BUFFER_ARB) && GL.glUnmapBufferARB(GL.GL_ELEMENT_ARRAY_BUFFER_ARB)) { - GL.glDrawElements(GL.GL_QUADS, 4, GL.GL_UNSIGNED_INT, 0); + if (ARBVertexBufferObject.glUnmapBufferARB(ARBVertexBufferObject.GL_ARRAY_BUFFER_ARB) && + ARBVertexBufferObject.glUnmapBufferARB(ARBVertexBufferObject.GL_ELEMENT_ARRAY_BUFFER_ARB)) { + CoreGL11.glDrawElements(CoreGL11.GL_QUADS, 4, CoreGL11.GL_UNSIGNED_INT, 0); } - GL.glPopMatrix(); + CoreGL11.glPopMatrix(); } /** @@ -189,36 +191,32 @@ public final class VBOIndexTest { Sys.setProcessPriority(Sys.HIGH_PRIORITY); System.out.println("Timer resolution: " + Sys.getTimerResolution()); // Go into orthographic projection mode. - GL.glMatrixMode(GL.GL_PROJECTION); - GL.glLoadIdentity(); + CoreGL11.glMatrixMode(CoreGL11.GL_PROJECTION); + CoreGL11.glLoadIdentity(); GLU.gluOrtho2D(0, Display.getWidth(), 0, Display.getHeight()); - GL.glMatrixMode(GL.GL_MODELVIEW); - GL.glLoadIdentity(); - GL.glViewport(0, 0, Display.getWidth(), Display.getHeight()); + CoreGL11.glMatrixMode(CoreGL11.GL_MODELVIEW); + CoreGL11.glLoadIdentity(); + CoreGL11.glViewport(0, 0, Display.getWidth(), Display.getHeight()); if (!GLCaps.GL_ARB_vertex_buffer_object) { System.out.println("ARB VBO not supported!"); System.exit(1); } IntBuffer int_buffer = ByteBuffer.allocateDirect(8).order(ByteOrder.nativeOrder()).asIntBuffer(); - GL.glGenBuffersARB(int_buffer); + ARBVertexBufferObject.glGenBuffersARB(int_buffer); buffer_id = int_buffer.get(0); indices_buffer_id = int_buffer.get(1); - GL.glBindBufferARB(GL.GL_ARRAY_BUFFER_ARB, buffer_id); - GL.glBindBufferARB(GL.GL_ELEMENT_ARRAY_BUFFER_ARB, indices_buffer_id); + ARBVertexBufferObject.glBindBufferARB(ARBVertexBufferObject.GL_ARRAY_BUFFER_ARB, buffer_id); + ARBVertexBufferObject.glBindBufferARB(ARBVertexBufferObject.GL_ELEMENT_ARRAY_BUFFER_ARB, indices_buffer_id); vertices = ByteBuffer.allocateDirect(2*4*4).order(ByteOrder.nativeOrder()).asFloatBuffer(); vertices.put(-50).put(-50).put(50).put(-50).put(50).put(50).put(-50).put(50); vertices.rewind(); indices = ByteBuffer.allocateDirect(4*4).order(ByteOrder.nativeOrder()).asIntBuffer(); indices.put(0).put(1).put(2).put(3); indices.rewind(); - GL.glBufferDataARB(GL.GL_ARRAY_BUFFER_ARB, 2*4*4, (ByteBuffer)null, GL.GL_STREAM_DRAW_ARB); - GL.glBufferDataARB(GL.GL_ELEMENT_ARRAY_BUFFER_ARB, 4*4, (ByteBuffer)null, GL.GL_STREAM_DRAW_ARB); - GL.glEnableClientState(GL.GL_VERTEX_ARRAY); - GL.glVertexPointer(2, GL.GL_FLOAT, 0, 0); - GL.glGetInteger(GL.GL_MAX_TEXTURE_UNITS_ARB, int_buffer); - System.out.println("Number of texture units: " + int_buffer.get(0)); - // Fix the refresh rate to the display frequency. -// gl.wglSwapIntervalEXT(1); + ARBVertexBufferObject.glBufferDataARB(ARBVertexBufferObject.GL_ARRAY_BUFFER_ARB, 2*4*4, (ByteBuffer)null, ARBVertexBufferObject.GL_STREAM_DRAW_ARB); + ARBVertexBufferObject.glBufferDataARB(ARBVertexBufferObject.GL_ELEMENT_ARRAY_BUFFER_ARB, 4*4, (ByteBuffer)null, ARBVertexBufferObject.GL_STREAM_DRAW_ARB); + CoreGL11.glEnableClientState(CoreGL11.GL_VERTEX_ARRAY); + CoreGL11.glVertexPointer(2, CoreGL11.GL_FLOAT, 0, 0); } /** @@ -228,7 +226,7 @@ public final class VBOIndexTest { IntBuffer int_buffer = ByteBuffer.allocateDirect(8).order(ByteOrder.nativeOrder()).asIntBuffer(); int_buffer.put(0, buffer_id); int_buffer.put(1, indices_buffer_id); - GL.glDeleteBuffersARB(int_buffer); + ARBVertexBufferObject.glDeleteBuffersARB(int_buffer); Keyboard.destroy(); Mouse.destroy(); Window.destroy(); diff --git a/src/java/org/lwjgl/test/opengl/VBOTest.java b/src/java/org/lwjgl/test/opengl/VBOTest.java index b7010e68..9ee6110a 100644 --- a/src/java/org/lwjgl/test/opengl/VBOTest.java +++ b/src/java/org/lwjgl/test/opengl/VBOTest.java @@ -43,6 +43,7 @@ package org.lwjgl.test.opengl; import org.lwjgl.*; import org.lwjgl.opengl.*; +import org.lwjgl.opengl.arb.*; import org.lwjgl.input.*; import java.nio.*; @@ -146,20 +147,20 @@ public final class VBOTest { * All rendering is done in here */ private static void render() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT); - GL.glPushMatrix(); - GL.glTranslatef(Display.getWidth() / 2, Display.getHeight() / 2, 0.0f); - GL.glRotatef(angle, 0, 0, 1.0f); - ByteBuffer new_mapped_buffer = GL.glMapBufferARB(GL.GL_ARRAY_BUFFER_ARB, GL.GL_WRITE_ONLY_ARB, 2*4*4, mapped_buffer); + CoreGL11.glClear(CoreGL11.GL_COLOR_BUFFER_BIT); + CoreGL11.glPushMatrix(); + CoreGL11.glTranslatef(Display.getWidth() / 2, Display.getHeight() / 2, 0.0f); + CoreGL11.glRotatef(angle, 0, 0, 1.0f); + ByteBuffer new_mapped_buffer = ARBVertexBufferObject.glMapBufferARB(ARBVertexBufferObject.GL_ARRAY_BUFFER_ARB, ARBVertexBufferObject.GL_WRITE_ONLY_ARB, 2*4*4, mapped_buffer); if (new_mapped_buffer != mapped_buffer) mapped_float_buffer = new_mapped_buffer.order(ByteOrder.nativeOrder()).asFloatBuffer(); mapped_buffer = new_mapped_buffer; mapped_float_buffer.rewind(); vertices.rewind(); mapped_float_buffer.put(vertices); - if (GL.glUnmapBufferARB(GL.GL_ARRAY_BUFFER_ARB)) - GL.glDrawArrays(GL.GL_QUADS, 0, 4); - GL.glPopMatrix(); + if (ARBVertexBufferObject.glUnmapBufferARB(ARBVertexBufferObject.GL_ARRAY_BUFFER_ARB)) + CoreGL11.glDrawArrays(CoreGL11.GL_QUADS, 0, 4); + CoreGL11.glPopMatrix(); } /** @@ -173,29 +174,25 @@ public final class VBOTest { Sys.setProcessPriority(Sys.HIGH_PRIORITY); System.out.println("Timer resolution: " + Sys.getTimerResolution()); // Go into orthographic projection mode. - GL.glMatrixMode(GL.GL_PROJECTION); - GL.glLoadIdentity(); + CoreGL11.glMatrixMode(CoreGL11.GL_PROJECTION); + CoreGL11.glLoadIdentity(); GLU.gluOrtho2D(0, Display.getWidth(), 0, Display.getHeight()); - GL.glMatrixMode(GL.GL_MODELVIEW); - GL.glLoadIdentity(); - GL.glViewport(0, 0, Display.getWidth(), Display.getHeight()); + CoreGL11.glMatrixMode(CoreGL11.GL_MODELVIEW); + CoreGL11.glLoadIdentity(); + CoreGL11.glViewport(0, 0, Display.getWidth(), Display.getHeight()); if (!GLCaps.GL_ARB_vertex_buffer_object) { System.out.println("ARB VBO not supported!"); System.exit(1); } IntBuffer int_buffer = ByteBuffer.allocateDirect(4).order(ByteOrder.nativeOrder()).asIntBuffer(); - GL.glGenBuffersARB(int_buffer); + ARBVertexBufferObject.glGenBuffersARB(int_buffer); buffer_id = int_buffer.get(0); - GL.glBindBufferARB(GL.GL_ARRAY_BUFFER_ARB, buffer_id); + ARBVertexBufferObject.glBindBufferARB(ARBVertexBufferObject.GL_ARRAY_BUFFER_ARB, buffer_id); vertices = ByteBuffer.allocateDirect(2*4*4).order(ByteOrder.nativeOrder()).asFloatBuffer(); vertices.put(-50).put(-50).put(50).put(-50).put(50).put(50).put(-50).put(50); - GL.glBufferDataARB(GL.GL_ARRAY_BUFFER_ARB, 2*4*4, (ByteBuffer)null, GL.GL_STREAM_DRAW_ARB); - GL.glEnableClientState(GL.GL_VERTEX_ARRAY); - GL.glVertexPointer(2, GL.GL_FLOAT, 0, 0); - GL.glGetInteger(GL.GL_MAX_TEXTURE_UNITS_ARB, int_buffer); - System.out.println("Number of texture units: " + int_buffer.get(0)); - // Fix the refresh rate to the display frequency. -// gl.wglSwapIntervalEXT(1); + ARBVertexBufferObject.glBufferDataARB(ARBVertexBufferObject.GL_ARRAY_BUFFER_ARB, 2*4*4, (ByteBuffer)null, ARBVertexBufferObject.GL_STREAM_DRAW_ARB); + CoreGL11.glEnableClientState(CoreGL11.GL_VERTEX_ARRAY); + CoreGL11.glVertexPointer(2, CoreGL11.GL_FLOAT, 0, 0); } /** @@ -204,7 +201,7 @@ public final class VBOTest { private static void cleanup() { IntBuffer int_buffer = ByteBuffer.allocateDirect(4).order(ByteOrder.nativeOrder()).asIntBuffer(); int_buffer.put(0, buffer_id); - GL.glDeleteBuffersARB(int_buffer); + ARBVertexBufferObject.glDeleteBuffersARB(int_buffer); Keyboard.destroy(); Mouse.destroy(); Window.destroy(); diff --git a/src/native/Makefile.am b/src/native/Makefile.am index 8f15c9e9..fc7e2b8a 100644 --- a/src/native/Makefile.am +++ b/src/native/Makefile.am @@ -2,5 +2,7 @@ SUBDIRS = common @native_build_dir@ lib_LTLIBRARIES = liblwjgl.la liblwjgl_la_SOURCES = dummy.cpp -liblwjgl_la_LIBADD = common/libcommon.la @native_build_dir@/libnative.la -liblwjgl_la_DEPENDENCIES = common/libcommon.la @native_build_dir@/libnative.la +liblwjgl_la_LIBADD = $(DEP_LIBS) @native_build_dir@/libnative.la +liblwjgl_la_DEPENDENCIES = $(DEP_LIBS) @native_build_dir@/libnative.la + +DEP_LIBS = common/libcommon.la diff --git a/src/native/common/Makefile.am b/src/native/common/Makefile.am index e9d42729..8cc6a5ab 100644 --- a/src/native/common/Makefile.am +++ b/src/native/common/Makefile.am @@ -1,6 +1,11 @@ noinst_LTLIBRARIES = libcommon.la +SUBDIRS = arb ati ext nv + libcommon_la_SOURCES = $(COMMON) +libcommon_la_LIBADD = $(DEP_LIBS) +libcommon_la_DEPENDENCIES = $(DEP_LIBS) +DEP_LIBS=arb/libarb.la ati/libati.la ext/libext.la nv/libnv.la COMMON = \ extal.cpp \ @@ -37,8 +42,6 @@ COMMON = \ org_lwjgl_opengl_CoreGL13.h \ org_lwjgl_opengl_CoreGL14.cpp \ org_lwjgl_opengl_CoreGL15.h \ - org_lwjgl_opengl_GL.cpp \ - org_lwjgl_opengl_GL.h \ org_lwjgl_opengl_GLU.cpp \ org_lwjgl_opengl_GLU.h diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBMatrixPalette.cpp b/src/native/common/arb/org_lwjgl_opengl_arb_ARBMatrixPalette.cpp new file mode 100644 index 00000000..5a6b9a22 --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBMatrixPalette.cpp @@ -0,0 +1,115 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.arb.ARBMatrixPalette +// ---------------------------------- + +#include "org_lwjgl_opengl_arb_ARBMatrixPalette.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.arb.ARBMatrixPalette + * Method: glCurrentPaletteMatrixARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMatrixPalette_glCurrentPaletteMatrixARB + (JNIEnv * env, jclass clazz, jint index) +{ + CHECK_EXISTS(glCurrentPaletteMatrixARB) + glCurrentPaletteMatrixARB(index); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMatrixPalette + * Method: nglMatrixIndexPointerARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMatrixPalette_nglMatrixIndexPointerARB + (JNIEnv * env, jclass clazz, jint size, jint type, jint stride, jobject pPointer, jint pPointer_offset) +{ + CHECK_EXISTS(glMatrixIndexPointerARB) + GLvoid *pPointer_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pPointer) + pPointer_offset); + glMatrixIndexPointerARB(size, type, stride, pPointer_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMatrixPalette + * Method: nglMatrixIndexPointerARBVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMatrixPalette_nglMatrixIndexPointerARBVBO + (JNIEnv * env, jclass clazz, jint size, jint type, jint stride, jint buffer_offset) +{ + CHECK_EXISTS(glMatrixIndexPointerARB) + glMatrixIndexPointerARB(size, type, stride, (GLvoid *)buffer_offset); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMatrixPalette + * Method: nglMatrixIndexubvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMatrixPalette_nglMatrixIndexubvARB + (JNIEnv * env, jclass clazz, jint size, jobject pIndices, jint pIndices_offset) +{ + CHECK_EXISTS(glMatrixIndexubvARB) + GLubyte *pIndices_ptr = (GLubyte *)env->GetDirectBufferAddress(pIndices) + pIndices_offset; + glMatrixIndexubvARB(size, pIndices_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMatrixPalette + * Method: nglMatrixIndexuivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMatrixPalette_nglMatrixIndexuivARB + (JNIEnv * env, jclass clazz, jint size, jobject piIndices, jint piIndices_offset) +{ + CHECK_EXISTS(glMatrixIndexuivARB) + GLuint *piIndices_ptr = (GLuint *)env->GetDirectBufferAddress(piIndices) + piIndices_offset; + glMatrixIndexuivARB(size, piIndices_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMatrixPalette + * Method: nglMatrixIndexusvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMatrixPalette_nglMatrixIndexusvARB + (JNIEnv * env, jclass clazz, jint size, jobject psIndices, jint psIndices_offset) +{ + CHECK_EXISTS(glMatrixIndexusvARB) + GLushort *psIndices_ptr = (GLushort *)env->GetDirectBufferAddress(psIndices) + psIndices_offset; + glMatrixIndexusvARB(size, psIndices_ptr); + CHECK_GL_ERROR +} diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBMatrixPalette.h b/src/native/common/arb/org_lwjgl_opengl_arb_ARBMatrixPalette.h new file mode 100644 index 00000000..a5693b0c --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBMatrixPalette.h @@ -0,0 +1,92 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.arb.ARBMatrixPalette +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_arb_ARBMatrixPalette +#define _Included_org_lwjgl_opengl_arb_ARBMatrixPalette + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.arb.ARBMatrixPalette + * Method: glCurrentPaletteMatrixARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMatrixPalette_glCurrentPaletteMatrixARB + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBMatrixPalette + * Method: nglMatrixIndexPointerARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMatrixPalette_nglMatrixIndexPointerARB + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBMatrixPalette + * Method: nglMatrixIndexPointerARBVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMatrixPalette_nglMatrixIndexPointerARBVBO + (JNIEnv *, jclass, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBMatrixPalette + * Method: nglMatrixIndexubvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMatrixPalette_nglMatrixIndexubvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBMatrixPalette + * Method: nglMatrixIndexuivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMatrixPalette_nglMatrixIndexuivARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBMatrixPalette + * Method: nglMatrixIndexusvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMatrixPalette_nglMatrixIndexusvARB + (JNIEnv *, jclass, jint, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBMultisample.cpp b/src/native/common/arb/org_lwjgl_opengl_arb_ARBMultisample.cpp new file mode 100644 index 00000000..174ab3b8 --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBMultisample.cpp @@ -0,0 +1,51 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.arb.ARBMultisample +// ---------------------------------- + +#include "org_lwjgl_opengl_arb_ARBMultisample.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.arb.ARBMultisample + * Method: glSampleCoverageARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultisample_glSampleCoverageARB + (JNIEnv * env, jclass clazz, jfloat value, jboolean invert) +{ + CHECK_EXISTS(glSampleCoverageARB) + glSampleCoverageARB(value, invert); + CHECK_GL_ERROR +} diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBMultisample.h b/src/native/common/arb/org_lwjgl_opengl_arb_ARBMultisample.h new file mode 100644 index 00000000..d46ad6c8 --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBMultisample.h @@ -0,0 +1,57 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.arb.ARBMultisample +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_arb_ARBMultisample +#define _Included_org_lwjgl_opengl_arb_ARBMultisample + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.arb.ARBMultisample + * Method: glSampleCoverageARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultisample_glSampleCoverageARB + (JNIEnv *, jclass, jfloat, jboolean); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBMultitexture.cpp b/src/native/common/arb/org_lwjgl_opengl_arb_ARBMultitexture.cpp new file mode 100644 index 00000000..9eee80a6 --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBMultitexture.cpp @@ -0,0 +1,207 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.arb.ARBMultitexture +// ---------------------------------- + +#include "org_lwjgl_opengl_arb_ARBMultitexture.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glClientActiveTextureARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glClientActiveTextureARB + (JNIEnv * env, jclass clazz, jint texture) +{ + CHECK_EXISTS(glClientActiveTextureARB) + glClientActiveTextureARB(texture); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glActiveTextureARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glActiveTextureARB + (JNIEnv * env, jclass clazz, jint texture) +{ + CHECK_EXISTS(glActiveTextureARB) + glActiveTextureARB(texture); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord1fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord1fARB + (JNIEnv * env, jclass clazz, jint target, jfloat s) +{ + CHECK_EXISTS(glMultiTexCoord1fARB) + glMultiTexCoord1fARB(target, s); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord1iARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord1iARB + (JNIEnv * env, jclass clazz, jint target, jint s) +{ + CHECK_EXISTS(glMultiTexCoord1iARB) + glMultiTexCoord1iARB(target, s); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord1sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord1sARB + (JNIEnv * env, jclass clazz, jint target, jshort s) +{ + CHECK_EXISTS(glMultiTexCoord1sARB) + glMultiTexCoord1sARB(target, s); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord2fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord2fARB + (JNIEnv * env, jclass clazz, jint target, jfloat s, jfloat t) +{ + CHECK_EXISTS(glMultiTexCoord2fARB) + glMultiTexCoord2fARB(target, s, t); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord2iARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord2iARB + (JNIEnv * env, jclass clazz, jint target, jint s, jint t) +{ + CHECK_EXISTS(glMultiTexCoord2iARB) + glMultiTexCoord2iARB(target, s, t); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord2sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord2sARB + (JNIEnv * env, jclass clazz, jint target, jshort s, jshort t) +{ + CHECK_EXISTS(glMultiTexCoord2sARB) + glMultiTexCoord2sARB(target, s, t); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord3fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord3fARB + (JNIEnv * env, jclass clazz, jint target, jfloat s, jfloat t, jfloat r) +{ + CHECK_EXISTS(glMultiTexCoord3fARB) + glMultiTexCoord3fARB(target, s, t, r); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord3iARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord3iARB + (JNIEnv * env, jclass clazz, jint target, jint s, jint t, jint r) +{ + CHECK_EXISTS(glMultiTexCoord3iARB) + glMultiTexCoord3iARB(target, s, t, r); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord3sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord3sARB + (JNIEnv * env, jclass clazz, jint target, jshort s, jshort t, jshort r) +{ + CHECK_EXISTS(glMultiTexCoord3sARB) + glMultiTexCoord3sARB(target, s, t, r); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord4fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord4fARB + (JNIEnv * env, jclass clazz, jint target, jfloat s, jfloat t, jfloat r, jfloat q) +{ + CHECK_EXISTS(glMultiTexCoord4fARB) + glMultiTexCoord4fARB(target, s, t, r, q); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord4iARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord4iARB + (JNIEnv * env, jclass clazz, jint target, jint s, jint t, jint r, jint q) +{ + CHECK_EXISTS(glMultiTexCoord4iARB) + glMultiTexCoord4iARB(target, s, t, r, q); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord4sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord4sARB + (JNIEnv * env, jclass clazz, jint target, jshort s, jshort t, jshort r, jshort q) +{ + CHECK_EXISTS(glMultiTexCoord4sARB) + glMultiTexCoord4sARB(target, s, t, r, q); + CHECK_GL_ERROR +} diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBMultitexture.h b/src/native/common/arb/org_lwjgl_opengl_arb_ARBMultitexture.h new file mode 100644 index 00000000..024ede20 --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBMultitexture.h @@ -0,0 +1,148 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.arb.ARBMultitexture +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_arb_ARBMultitexture +#define _Included_org_lwjgl_opengl_arb_ARBMultitexture + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glClientActiveTextureARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glClientActiveTextureARB + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glActiveTextureARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glActiveTextureARB + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord1fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord1fARB + (JNIEnv *, jclass, jint, jfloat); + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord1iARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord1iARB + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord1sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord1sARB + (JNIEnv *, jclass, jint, jshort); + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord2fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord2fARB + (JNIEnv *, jclass, jint, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord2iARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord2iARB + (JNIEnv *, jclass, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord2sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord2sARB + (JNIEnv *, jclass, jint, jshort, jshort); + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord3fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord3fARB + (JNIEnv *, jclass, jint, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord3iARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord3iARB + (JNIEnv *, jclass, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord3sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord3sARB + (JNIEnv *, jclass, jint, jshort, jshort, jshort); + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord4fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord4fARB + (JNIEnv *, jclass, jint, jfloat, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord4iARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord4iARB + (JNIEnv *, jclass, jint, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBMultitexture + * Method: glMultiTexCoord4sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBMultitexture_glMultiTexCoord4sARB + (JNIEnv *, jclass, jint, jshort, jshort, jshort, jshort); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBPointParameters.cpp b/src/native/common/arb/org_lwjgl_opengl_arb_ARBPointParameters.cpp new file mode 100644 index 00000000..ea5ef5ee --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBPointParameters.cpp @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.arb.ARBPointParameters +// ---------------------------------- + +#include "org_lwjgl_opengl_arb_ARBPointParameters.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.arb.ARBPointParameters + * Method: glPointParameterfARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBPointParameters_glPointParameterfARB + (JNIEnv * env, jclass clazz, jint pname, jfloat param) +{ + CHECK_EXISTS(glPointParameterfARB) + glPointParameterfARB(pname, param); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBPointParameters + * Method: nglPointParameterfvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBPointParameters_nglPointParameterfvARB + (JNIEnv * env, jclass clazz, jint pname, jobject pfParams, jint pfParams_offset) +{ + CHECK_EXISTS(glPointParameterfvARB) + GLfloat *pfParams_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParams) + pfParams_offset; + glPointParameterfvARB(pname, pfParams_ptr); + CHECK_GL_ERROR +} diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBPointParameters.h b/src/native/common/arb/org_lwjgl_opengl_arb_ARBPointParameters.h new file mode 100644 index 00000000..112fa4fa --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBPointParameters.h @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.arb.ARBPointParameters +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_arb_ARBPointParameters +#define _Included_org_lwjgl_opengl_arb_ARBPointParameters + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.arb.ARBPointParameters + * Method: glPointParameterfARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBPointParameters_glPointParameterfARB + (JNIEnv *, jclass, jint, jfloat); + +/* + * Class: org.lwjgl.opengl.arb.ARBPointParameters + * Method: nglPointParameterfvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBPointParameters_nglPointParameterfvARB + (JNIEnv *, jclass, jint, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBProgram.cpp b/src/native/common/arb/org_lwjgl_opengl_arb_ARBProgram.cpp new file mode 100644 index 00000000..18cbbb95 --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBProgram.cpp @@ -0,0 +1,205 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.arb.ARBProgram +// ---------------------------------- + +#include "org_lwjgl_opengl_arb_ARBProgram.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglProgramStringARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglProgramStringARB + (JNIEnv * env, jclass clazz, jint target, jint format, jint length, jobject string, jint stringOffset) +{ + CHECK_EXISTS(glProgramStringARB) + GLvoid *string_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(string) + stringOffset); + glProgramStringARB(target, format, length, string_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: glBindProgramARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_glBindProgramARB + (JNIEnv * env, jclass clazz, jint target, jint program) +{ + CHECK_EXISTS(glBindProgramARB) + glBindProgramARB(target, program); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglDeleteProgramsARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglDeleteProgramsARB + (JNIEnv * env, jclass clazz, jint n, jobject programs, jint programsOffset) +{ + CHECK_EXISTS(glDeleteProgramsARB) + GLuint *programs_ptr = (GLuint *)env->GetDirectBufferAddress(programs) + programsOffset; + glDeleteProgramsARB(n, programs_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglGenProgramsARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglGenProgramsARB + (JNIEnv * env, jclass clazz, jint n, jobject programs, jint programsOffset) +{ + CHECK_EXISTS(glGenProgramsARB) + GLuint *programs_ptr = (GLuint *)env->GetDirectBufferAddress(programs) + programsOffset; + glGenProgramsARB(n, programs_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: glProgramEnvParameter4fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_glProgramEnvParameter4fARB + (JNIEnv * env, jclass clazz, jint target, jint index, jfloat x, jfloat y, jfloat z, jfloat w) +{ + CHECK_EXISTS(glProgramEnvParameter4fARB) + glProgramEnvParameter4fARB(target, index, x, y, z, w); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglProgramEnvParameter4fvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglProgramEnvParameter4fvARB + (JNIEnv * env, jclass clazz, jint target, jint index, jobject params, jint paramsOffset) +{ + CHECK_EXISTS(glProgramEnvParameter4fvARB) + GLfloat *params_ptr = (GLfloat *)env->GetDirectBufferAddress(params) + paramsOffset; + glProgramEnvParameter4fvARB(target, index, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: glProgramLocalParameter4fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_glProgramLocalParameter4fARB + (JNIEnv * env, jclass clazz, jint target, jint index, jfloat x, jfloat y, jfloat z, jfloat w) +{ + CHECK_EXISTS(glProgramLocalParameter4fARB) + glProgramLocalParameter4fARB(target, index, x, y, z, w); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglProgramLocalParameter4fvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglProgramLocalParameter4fvARB + (JNIEnv * env, jclass clazz, jint target, jint index, jobject params, jint paramsOffset) +{ + CHECK_EXISTS(glProgramLocalParameter4fvARB) + GLfloat *params_ptr = (GLfloat *)env->GetDirectBufferAddress(params) + paramsOffset; + glProgramLocalParameter4fvARB(target, index, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglGetProgramEnvParameterfvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglGetProgramEnvParameterfvARB + (JNIEnv * env, jclass clazz, jint target, jint index, jobject params, jint paramsOffset) +{ + CHECK_EXISTS(glGetProgramEnvParameterfvARB) + GLfloat *params_ptr = (GLfloat *)env->GetDirectBufferAddress(params) + paramsOffset; + glGetProgramEnvParameterfvARB(target, index, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglGetProgramLocalParameterfvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglGetProgramLocalParameterfvARB + (JNIEnv * env, jclass clazz, jint target, jint index, jobject params, jint paramsOffset) +{ + CHECK_EXISTS(glGetProgramLocalParameterfvARB) + GLfloat *params_ptr = (GLfloat *)env->GetDirectBufferAddress(params) + paramsOffset; + glGetProgramLocalParameterfvARB(target, index, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglGetProgramivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglGetProgramivARB + (JNIEnv * env, jclass clazz, jint target, jint parameterName, jobject params, jint paramsOffset) +{ + CHECK_EXISTS(glGetProgramivARB) + GLint *params_ptr = (GLint *)env->GetDirectBufferAddress(params) + paramsOffset; + glGetProgramivARB(target, parameterName, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglGetProgramStringARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglGetProgramStringARB + (JNIEnv * env, jclass clazz, jint target, jint parameterName, jobject paramString, jint paramStringOffset) +{ + CHECK_EXISTS(glGetProgramStringARB) + GLvoid *paramString_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(paramString) + paramStringOffset); + glGetProgramStringARB(target, parameterName, paramString_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: glIsProgramARB + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_glIsProgramARB + (JNIEnv * env, jclass clazz, jint program) +{ + CHECK_EXISTS(glIsProgramARB) + GLboolean result = glIsProgramARB(program); + CHECK_GL_ERROR + return result; +} diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBProgram.h b/src/native/common/arb/org_lwjgl_opengl_arb_ARBProgram.h new file mode 100644 index 00000000..73782be7 --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBProgram.h @@ -0,0 +1,141 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.arb.ARBProgram +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_arb_ARBProgram +#define _Included_org_lwjgl_opengl_arb_ARBProgram + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglProgramStringARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglProgramStringARB + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: glBindProgramARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_glBindProgramARB + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglDeleteProgramsARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglDeleteProgramsARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglGenProgramsARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglGenProgramsARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: glProgramEnvParameter4fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_glProgramEnvParameter4fARB + (JNIEnv *, jclass, jint, jint, jfloat, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglProgramEnvParameter4fvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglProgramEnvParameter4fvARB + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: glProgramLocalParameter4fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_glProgramLocalParameter4fARB + (JNIEnv *, jclass, jint, jint, jfloat, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglProgramLocalParameter4fvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglProgramLocalParameter4fvARB + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglGetProgramEnvParameterfvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglGetProgramEnvParameterfvARB + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglGetProgramLocalParameterfvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglGetProgramLocalParameterfvARB + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglGetProgramivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglGetProgramivARB + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: nglGetProgramStringARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_nglGetProgramStringARB + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBProgram + * Method: glIsProgramARB + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_arb_ARBProgram_glIsProgramARB + (JNIEnv *, jclass, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBTextureCompression.cpp b/src/native/common/arb/org_lwjgl_opengl_arb_ARBTextureCompression.cpp new file mode 100644 index 00000000..c434bcce --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBTextureCompression.cpp @@ -0,0 +1,130 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.arb.ARBTextureCompression +// ---------------------------------- + +#include "org_lwjgl_opengl_arb_ARBTextureCompression.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.arb.ARBTextureCompression + * Method: nglCompressedTexImage1DARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTextureCompression_nglCompressedTexImage1DARB + (JNIEnv * env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint border, jint imageSize, jobject pData, jint pData_offset) +{ + CHECK_EXISTS(glCompressedTexImage1DARB) + GLvoid *pData_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pData) + pData_offset); + glCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, pData_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBTextureCompression + * Method: nglCompressedTexImage2DARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTextureCompression_nglCompressedTexImage2DARB + (JNIEnv * env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jobject pData, jint pData_offset) +{ + CHECK_EXISTS(glCompressedTexImage2DARB) + GLvoid *pData_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pData) + pData_offset); + glCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, pData_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBTextureCompression + * Method: nglCompressedTexImage3DARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTextureCompression_nglCompressedTexImage3DARB + (JNIEnv * env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint depth, jint border, jint imageSize, jobject pData, jint pData_offset) +{ + CHECK_EXISTS(glCompressedTexImage3DARB) + GLvoid *pData_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pData) + pData_offset); + glCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, pData_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBTextureCompression + * Method: nglCompressedTexSubImage1DARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTextureCompression_nglCompressedTexSubImage1DARB + (JNIEnv * env, jclass clazz, jint target, jint level, jint xoffset, jint width, jint border, jint imageSize, jobject pData, jint pData_offset) +{ + CHECK_EXISTS(glCompressedTexSubImage1DARB) + GLvoid *pData_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pData) + pData_offset); + glCompressedTexSubImage1DARB(target, level, xoffset, width, border, imageSize, pData_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBTextureCompression + * Method: nglCompressedTexSubImage2DARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTextureCompression_nglCompressedTexSubImage2DARB + (JNIEnv * env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint border, jint imageSize, jobject pData, jint pData_offset) +{ + CHECK_EXISTS(glCompressedTexSubImage2DARB) + GLvoid *pData_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pData) + pData_offset); + glCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, border, imageSize, pData_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBTextureCompression + * Method: nglCompressedTexSubImage3DARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTextureCompression_nglCompressedTexSubImage3DARB + (JNIEnv * env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint width, jint height, jint depth, jint border, jint imageSize, jobject pData, jint pData_offset) +{ + CHECK_EXISTS(glCompressedTexSubImage3DARB) + GLvoid *pData_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pData) + pData_offset); + glCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, border, imageSize, pData_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBTextureCompression + * Method: nglGetCompressedTexImageARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTextureCompression_nglGetCompressedTexImageARB + (JNIEnv * env, jclass clazz, jint target, jint lod, jobject pImg, jint pImg_offset) +{ + CHECK_EXISTS(glGetCompressedTexImageARB) + GLvoid *pImg_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pImg) + pImg_offset); + glGetCompressedTexImageARB(target, lod, pImg_ptr); + CHECK_GL_ERROR +} diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBTextureCompression.h b/src/native/common/arb/org_lwjgl_opengl_arb_ARBTextureCompression.h new file mode 100644 index 00000000..19630c49 --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBTextureCompression.h @@ -0,0 +1,99 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.arb.ARBTextureCompression +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_arb_ARBTextureCompression +#define _Included_org_lwjgl_opengl_arb_ARBTextureCompression + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.arb.ARBTextureCompression + * Method: nglCompressedTexImage1DARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTextureCompression_nglCompressedTexImage1DARB + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBTextureCompression + * Method: nglCompressedTexImage2DARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTextureCompression_nglCompressedTexImage2DARB + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBTextureCompression + * Method: nglCompressedTexImage3DARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTextureCompression_nglCompressedTexImage3DARB + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBTextureCompression + * Method: nglCompressedTexSubImage1DARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTextureCompression_nglCompressedTexSubImage1DARB + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBTextureCompression + * Method: nglCompressedTexSubImage2DARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTextureCompression_nglCompressedTexSubImage2DARB + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBTextureCompression + * Method: nglCompressedTexSubImage3DARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTextureCompression_nglCompressedTexSubImage3DARB + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBTextureCompression + * Method: nglGetCompressedTexImageARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTextureCompression_nglGetCompressedTexImageARB + (JNIEnv *, jclass, jint, jint, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBTransposeMatrix.cpp b/src/native/common/arb/org_lwjgl_opengl_arb_ARBTransposeMatrix.cpp new file mode 100644 index 00000000..5b4d99ee --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBTransposeMatrix.cpp @@ -0,0 +1,65 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.arb.ARBTransposeMatrix +// ---------------------------------- + +#include "org_lwjgl_opengl_arb_ARBTransposeMatrix.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.arb.ARBTransposeMatrix + * Method: nglLoadTransposeMatrixfARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTransposeMatrix_nglLoadTransposeMatrixfARB + (JNIEnv * env, jclass clazz, jobject pfMtx, jint pfMtx_offset) +{ + CHECK_EXISTS(glLoadTransposeMatrixfARB) + GLfloat *pfMtx_ptr = (GLfloat *)env->GetDirectBufferAddress(pfMtx) + pfMtx_offset; + glLoadTransposeMatrixfARB(pfMtx_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBTransposeMatrix + * Method: nglMultTransposeMatrixfARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTransposeMatrix_nglMultTransposeMatrixfARB + (JNIEnv * env, jclass clazz, jobject pfMtx, jint pfMtx_offset) +{ + CHECK_EXISTS(glMultTransposeMatrixfARB) + GLfloat *pfMtx_ptr = (GLfloat *)env->GetDirectBufferAddress(pfMtx) + pfMtx_offset; + glMultTransposeMatrixfARB(pfMtx_ptr); + CHECK_GL_ERROR +} diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBTransposeMatrix.h b/src/native/common/arb/org_lwjgl_opengl_arb_ARBTransposeMatrix.h new file mode 100644 index 00000000..3add3bd0 --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBTransposeMatrix.h @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.arb.ARBTransposeMatrix +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_arb_ARBTransposeMatrix +#define _Included_org_lwjgl_opengl_arb_ARBTransposeMatrix + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.arb.ARBTransposeMatrix + * Method: nglLoadTransposeMatrixfARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTransposeMatrix_nglLoadTransposeMatrixfARB + (JNIEnv *, jclass, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBTransposeMatrix + * Method: nglMultTransposeMatrixfARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBTransposeMatrix_nglMultTransposeMatrixfARB + (JNIEnv *, jclass, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBlend.cpp b/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBlend.cpp new file mode 100644 index 00000000..3c4aeaf0 --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBlend.cpp @@ -0,0 +1,167 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.arb.ARBVertexBlend +// ---------------------------------- + +#include "org_lwjgl_opengl_arb_ARBVertexBlend.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightbvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightbvARB + (JNIEnv * env, jclass clazz, jint size, jobject pWeights, jint pWeights_offset) +{ + CHECK_EXISTS(glWeightbvARB) + GLbyte *pWeights_ptr = (GLbyte *)env->GetDirectBufferAddress(pWeights) + pWeights_offset; + glWeightbvARB(size, pWeights_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightfvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightfvARB + (JNIEnv * env, jclass clazz, jint size, jobject pfWeights, jint pfWeights_offset) +{ + CHECK_EXISTS(glWeightfvARB) + GLfloat *pfWeights_ptr = (GLfloat *)env->GetDirectBufferAddress(pfWeights) + pfWeights_offset; + glWeightfvARB(size, pfWeights_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightivARB + (JNIEnv * env, jclass clazz, jint size, jobject piWeights, jint piWeights_offset) +{ + CHECK_EXISTS(glWeightivARB) + GLint *piWeights_ptr = (GLint *)env->GetDirectBufferAddress(piWeights) + piWeights_offset; + glWeightivARB(size, piWeights_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightsvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightsvARB + (JNIEnv * env, jclass clazz, jint size, jobject psWeights, jint psWeights_offset) +{ + CHECK_EXISTS(glWeightsvARB) + GLshort *psWeights_ptr = (GLshort *)env->GetDirectBufferAddress(psWeights) + psWeights_offset; + glWeightsvARB(size, psWeights_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightubvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightubvARB + (JNIEnv * env, jclass clazz, jint size, jobject pWeights, jint pWeights_offset) +{ + CHECK_EXISTS(glWeightubvARB) + GLubyte *pWeights_ptr = (GLubyte *)env->GetDirectBufferAddress(pWeights) + pWeights_offset; + glWeightubvARB(size, pWeights_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightuivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightuivARB + (JNIEnv * env, jclass clazz, jint size, jobject piWeights, jint piWeights_offset) +{ + CHECK_EXISTS(glWeightuivARB) + GLuint *piWeights_ptr = (GLuint *)env->GetDirectBufferAddress(piWeights) + piWeights_offset; + glWeightuivARB(size, piWeights_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightusvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightusvARB + (JNIEnv * env, jclass clazz, jint size, jobject psWeights, jint psWeights_offset) +{ + CHECK_EXISTS(glWeightusvARB) + GLushort *psWeights_ptr = (GLushort *)env->GetDirectBufferAddress(psWeights) + psWeights_offset; + glWeightusvARB(size, psWeights_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightPointerARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightPointerARB + (JNIEnv * env, jclass clazz, jint size, jint type, jint stride, jobject pPointer, jint pPointer_offset) +{ + CHECK_EXISTS(glWeightPointerARB) + GLvoid *pPointer_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pPointer) + pPointer_offset); + glWeightPointerARB(size, type, stride, pPointer_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightPointerARBVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightPointerARBVBO + (JNIEnv * env, jclass clazz, jint size, jint type, jint stride, jint buffer_offset) +{ + CHECK_EXISTS(glWeightPointerARB) + glWeightPointerARB(size, type, stride, (GLvoid *)buffer_offset); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: glVertexBlendARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_glVertexBlendARB + (JNIEnv * env, jclass clazz, jint count) +{ + CHECK_EXISTS(glVertexBlendARB) + glVertexBlendARB(count); + CHECK_GL_ERROR +} diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBlend.h b/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBlend.h new file mode 100644 index 00000000..7adaa7fb --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBlend.h @@ -0,0 +1,120 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.arb.ARBVertexBlend +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_arb_ARBVertexBlend +#define _Included_org_lwjgl_opengl_arb_ARBVertexBlend + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightbvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightbvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightfvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightfvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightivARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightsvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightsvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightubvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightubvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightuivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightuivARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightusvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightusvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightPointerARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightPointerARB + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: nglWeightPointerARBVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_nglWeightPointerARBVBO + (JNIEnv *, jclass, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBlend + * Method: glVertexBlendARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBlend_glVertexBlendARB + (JNIEnv *, jclass, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBufferObject.cpp b/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBufferObject.cpp new file mode 100644 index 00000000..141a5332 --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBufferObject.cpp @@ -0,0 +1,187 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.arb.ARBVertexBufferObject +// ---------------------------------- + +#include "org_lwjgl_opengl_arb_ARBVertexBufferObject.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: nglBindBufferARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_nglBindBufferARB + (JNIEnv * env, jclass clazz, jint target, jint buffer) +{ + CHECK_EXISTS(glBindBufferARB) + glBindBufferARB(target, buffer); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: nglDeleteBuffersARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_nglDeleteBuffersARB + (JNIEnv * env, jclass clazz, jint n, jobject buffers, jint buffers_offset) +{ + CHECK_EXISTS(glDeleteBuffersARB) + GLuint *buffers_ptr = (GLuint *)env->GetDirectBufferAddress(buffers) + buffers_offset; + glDeleteBuffersARB(n, buffers_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: nglGenBuffersARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_nglGenBuffersARB + (JNIEnv * env, jclass clazz, jint n, jobject buffers, jint buffers_offset) +{ + CHECK_EXISTS(glGenBuffersARB) + GLuint *buffers_ptr = (GLuint *)env->GetDirectBufferAddress(buffers) + buffers_offset; + glGenBuffersARB(n, buffers_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: glIsBufferARB + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_glIsBufferARB + (JNIEnv * env, jclass clazz, jint buffer) +{ + CHECK_EXISTS(glIsBufferARB) + GLboolean result = glIsBufferARB(buffer); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: nglBufferDataARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_nglBufferDataARB + (JNIEnv * env, jclass clazz, jint target, jint size, jobject data, jint data_offset, jint usage) +{ + CHECK_EXISTS(glBufferDataARB) + GLvoid *data_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(data) + data_offset); + glBufferDataARB(target, size, data_ptr, usage); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: nglBufferSubDataARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_nglBufferSubDataARB + (JNIEnv * env, jclass clazz, jint target, jint offset, jint size, jobject data, jint data_offset) +{ + CHECK_EXISTS(glBufferSubDataARB) + GLvoid *data_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(data) + data_offset); + glBufferSubDataARB(target, offset, size, data_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: nglGetBufferSubDataARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_nglGetBufferSubDataARB + (JNIEnv * env, jclass clazz, jint target, jint offset, jint size, jobject data, jint data_offset) +{ + CHECK_EXISTS(glGetBufferSubDataARB) + GLvoid *data_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(data) + data_offset); + glGetBufferSubDataARB(target, offset, size, data_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: glMapBufferARB + */ +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_glMapBufferARB + (JNIEnv * env, jclass clazz, jint target, jint access, jint size, jobject oldBuffer) +{ + CHECK_EXISTS(glMapBufferARB) + void *buffer_address = glMapBufferARB((GLenum)target, (GLenum)access); + CHECK_GL_ERROR + if (oldBuffer != NULL) { + void *old_buffer_address = env->GetDirectBufferAddress(oldBuffer); + if (old_buffer_address == buffer_address) + return oldBuffer; + } + return safeNewBuffer(env, buffer_address, size); +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: glUnmapBufferARB + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_glUnmapBufferARB + (JNIEnv * env, jclass clazz, jint target) +{ + CHECK_EXISTS(glUnmapBufferARB) + GLboolean result = glUnmapBufferARB(target); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: nglGetBufferParameterivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_nglGetBufferParameterivARB + (JNIEnv * env, jclass clazz, jint target, jint pname, jobject params, jint params_offset) +{ + CHECK_EXISTS(glGetBufferParameterivARB) + GLint *params_ptr = (GLint *)env->GetDirectBufferAddress(params) + params_offset; + glGetBufferParameterivARB(target, pname, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: glGetBufferPointerARB + */ +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_glGetBufferPointerARB + (JNIEnv * env, jclass clazz, jint target, jint pname, jint size) +{ + CHECK_EXISTS(glGetBufferPointervARB) + void *pointer; + glGetBufferPointervARB((GLenum)target, (GLenum)pname, &pointer); + CHECK_GL_ERROR + return safeNewBuffer(env, pointer, size); +} diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBufferObject.h b/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBufferObject.h new file mode 100644 index 00000000..4c2376f8 --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexBufferObject.h @@ -0,0 +1,127 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.arb.ARBVertexBufferObject +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_arb_ARBVertexBufferObject +#define _Included_org_lwjgl_opengl_arb_ARBVertexBufferObject + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: nglBindBufferARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_nglBindBufferARB + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: nglDeleteBuffersARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_nglDeleteBuffersARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: nglGenBuffersARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_nglGenBuffersARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: glIsBufferARB + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_glIsBufferARB + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: nglBufferDataARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_nglBufferDataARB + (JNIEnv *, jclass, jint, jint, jobject, jint, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: nglBufferSubDataARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_nglBufferSubDataARB + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: nglGetBufferSubDataARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_nglGetBufferSubDataARB + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: glMapBufferARB + */ +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_glMapBufferARB + (JNIEnv *, jclass, jint, jint, jint, jobject); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: glUnmapBufferARB + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_glUnmapBufferARB + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: nglGetBufferParameterivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_nglGetBufferParameterivARB + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexBufferObject + * Method: glGetBufferPointerARB + */ +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_arb_ARBVertexBufferObject_glGetBufferPointerARB + (JNIEnv *, jclass, jint, jint, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexProgram.cpp b/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexProgram.cpp new file mode 100644 index 00000000..b435b89f --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexProgram.cpp @@ -0,0 +1,483 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.arb.ARBVertexProgram +// ---------------------------------- + +#include "org_lwjgl_opengl_arb_ARBVertexProgram.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib1sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib1sARB + (JNIEnv * env, jclass clazz, jint index, jshort x) +{ + CHECK_EXISTS(glVertexAttrib1sARB) + glVertexAttrib1sARB(index, x); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib1fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib1fARB + (JNIEnv * env, jclass clazz, jint index, jfloat x) +{ + CHECK_EXISTS(glVertexAttrib1fARB) + glVertexAttrib1fARB(index, x); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib2sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib2sARB + (JNIEnv * env, jclass clazz, jint index, jshort x, jshort y) +{ + CHECK_EXISTS(glVertexAttrib2sARB) + glVertexAttrib2sARB(index, x, y); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib2fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib2fARB + (JNIEnv * env, jclass clazz, jint index, jfloat x, jfloat y) +{ + CHECK_EXISTS(glVertexAttrib2fARB) + glVertexAttrib2fARB(index, x, y); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib3sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib3sARB + (JNIEnv * env, jclass clazz, jint index, jshort x, jshort y, jshort z) +{ + CHECK_EXISTS(glVertexAttrib3sARB) + glVertexAttrib3sARB(index, x, y, z); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib3fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib3fARB + (JNIEnv * env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z) +{ + CHECK_EXISTS(glVertexAttrib3fARB) + glVertexAttrib3fARB(index, x, y, z); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib4sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib4sARB + (JNIEnv * env, jclass clazz, jint index, jshort x, jshort y, jshort z, jshort w) +{ + CHECK_EXISTS(glVertexAttrib4sARB) + glVertexAttrib4sARB(index, x, y, z, w); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib4fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib4fARB + (JNIEnv * env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z, jfloat w) +{ + CHECK_EXISTS(glVertexAttrib4fARB) + glVertexAttrib4fARB(index, x, y, z, w); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib4NubARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib4NubARB + (JNIEnv * env, jclass clazz, jint index, jbyte x, jbyte y, jbyte z, jbyte w) +{ + CHECK_EXISTS(glVertexAttrib4NubARB) + glVertexAttrib4NubARB(index, x, y, z, w); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib1svARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib1svARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib1svARB) + GLshort *values_ptr = (GLshort *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib1svARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib1fvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib1fvARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib1fvARB) + GLfloat *values_ptr = (GLfloat *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib1fvARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib2svARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib2svARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib2svARB) + GLshort *values_ptr = (GLshort *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib2svARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib2fvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib2fvARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib2fvARB) + GLfloat *values_ptr = (GLfloat *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib2fvARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib3svARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib3svARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib3svARB) + GLshort *values_ptr = (GLshort *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib3svARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib3fvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib3fvARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib3fvARB) + GLfloat *values_ptr = (GLfloat *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib3fvARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4bvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4bvARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib4bvARB) + GLbyte *values_ptr = (GLbyte *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib4bvARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4svARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4svARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib4svARB) + GLshort *values_ptr = (GLshort *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib4svARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4ivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4ivARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib4ivARB) + GLint *values_ptr = (GLint *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib4ivARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4ubvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4ubvARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib4ubvARB) + GLubyte *values_ptr = (GLubyte *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib4ubvARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4usvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4usvARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib4usvARB) + GLushort *values_ptr = (GLushort *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib4usvARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4uivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4uivARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib4uivARB) + GLuint *values_ptr = (GLuint *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib4uivARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4fvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4fvARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib4fvARB) + GLfloat *values_ptr = (GLfloat *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib4fvARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4NbvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4NbvARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib4NbvARB) + GLbyte *values_ptr = (GLbyte *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib4NbvARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4NsvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4NsvARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib4NsvARB) + GLshort *values_ptr = (GLshort *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib4NsvARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4NivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4NivARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib4NivARB) + GLint *values_ptr = (GLint *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib4NivARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4NubvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4NubvARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib4NubvARB) + GLubyte *values_ptr = (GLubyte *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib4NubvARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4NusvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4NusvARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib4NusvARB) + GLushort *values_ptr = (GLushort *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib4NusvARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4NuivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4NuivARB + (JNIEnv * env, jclass clazz, jint index, jobject values, jint valuesOffset) +{ + CHECK_EXISTS(glVertexAttrib4NuivARB) + GLuint *values_ptr = (GLuint *)env->GetDirectBufferAddress(values) + valuesOffset; + glVertexAttrib4NuivARB(index, values_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttribPointerARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttribPointerARB + (JNIEnv * env, jclass clazz, jint index, jint size, jint type, jboolean normalized, jint stride, jobject buffer, jint bufferOffset) +{ + CHECK_EXISTS(glVertexAttribPointerARB) + GLvoid *buffer_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(buffer) + bufferOffset); + glVertexAttribPointerARB(index, size, type, normalized, stride, buffer_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttribPointerARBVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttribPointerARBVBO + (JNIEnv * env, jclass clazz, jint index, jint size, jint type, jboolean normalized, jint stride, jint bufferOffset) +{ + CHECK_EXISTS(glVertexAttribPointerARB) + glVertexAttribPointerARB(index, size, type, normalized, stride, (GLvoid *)bufferOffset); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glEnableVertexAttribArrayARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glEnableVertexAttribArrayARB + (JNIEnv * env, jclass clazz, jint index) +{ + CHECK_EXISTS(glEnableVertexAttribArrayARB) + glEnableVertexAttribArrayARB(index); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glDisableVertexAttribArrayARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glDisableVertexAttribArrayARB + (JNIEnv * env, jclass clazz, jint index) +{ + CHECK_EXISTS(glDisableVertexAttribArrayARB) + glDisableVertexAttribArrayARB(index); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglGetVertexAttribfvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglGetVertexAttribfvARB + (JNIEnv * env, jclass clazz, jint index, jint pname, jobject params, jint paramsOffset) +{ + CHECK_EXISTS(glGetVertexAttribfvARB) + GLfloat *params_ptr = (GLfloat *)env->GetDirectBufferAddress(params) + paramsOffset; + glGetVertexAttribfvARB(index, pname, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglGetVertexAttribivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglGetVertexAttribivARB + (JNIEnv * env, jclass clazz, jint index, jint pname, jobject params, jint paramsOffset) +{ + CHECK_EXISTS(glGetVertexAttribivARB) + GLint *params_ptr = (GLint *)env->GetDirectBufferAddress(params) + paramsOffset; + glGetVertexAttribivARB(index, pname, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glGetVertexAttribPointerARB + */ +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glGetVertexAttribPointerARB + (JNIEnv * env, jclass clazz, jint index, jint pname, jint size) +{ + CHECK_EXISTS(glGetVertexAttribPointervARB) + void *address; + glGetVertexAttribPointervARB((GLuint)index, (GLuint)pname, &address); + CHECK_GL_ERROR + return safeNewBuffer(env, address, size); +} diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexProgram.h b/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexProgram.h new file mode 100644 index 00000000..de1d782b --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBVertexProgram.h @@ -0,0 +1,295 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.arb.ARBVertexProgram +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_arb_ARBVertexProgram +#define _Included_org_lwjgl_opengl_arb_ARBVertexProgram + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib1sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib1sARB + (JNIEnv *, jclass, jint, jshort); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib1fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib1fARB + (JNIEnv *, jclass, jint, jfloat); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib2sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib2sARB + (JNIEnv *, jclass, jint, jshort, jshort); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib2fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib2fARB + (JNIEnv *, jclass, jint, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib3sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib3sARB + (JNIEnv *, jclass, jint, jshort, jshort, jshort); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib3fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib3fARB + (JNIEnv *, jclass, jint, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib4sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib4sARB + (JNIEnv *, jclass, jint, jshort, jshort, jshort, jshort); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib4fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib4fARB + (JNIEnv *, jclass, jint, jfloat, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glVertexAttrib4NubARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glVertexAttrib4NubARB + (JNIEnv *, jclass, jint, jbyte, jbyte, jbyte, jbyte); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib1svARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib1svARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib1fvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib1fvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib2svARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib2svARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib2fvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib2fvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib3svARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib3svARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib3fvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib3fvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4bvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4bvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4svARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4svARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4ivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4ivARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4ubvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4ubvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4usvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4usvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4uivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4uivARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4fvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4fvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4NbvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4NbvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4NsvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4NsvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4NivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4NivARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4NubvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4NubvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4NusvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4NusvARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttrib4NuivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttrib4NuivARB + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttribPointerARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttribPointerARB + (JNIEnv *, jclass, jint, jint, jint, jboolean, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglVertexAttribPointerARBVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglVertexAttribPointerARBVBO + (JNIEnv *, jclass, jint, jint, jint, jboolean, jint, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glEnableVertexAttribArrayARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glEnableVertexAttribArrayARB + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glDisableVertexAttribArrayARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glDisableVertexAttribArrayARB + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglGetVertexAttribfvARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglGetVertexAttribfvARB + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: nglGetVertexAttribivARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_nglGetVertexAttribivARB + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBVertexProgram + * Method: glGetVertexAttribPointerARB + */ +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_arb_ARBVertexProgram_glGetVertexAttribPointerARB + (JNIEnv *, jclass, jint, jint, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBWindowPos.cpp b/src/native/common/arb/org_lwjgl_opengl_arb_ARBWindowPos.cpp new file mode 100644 index 00000000..da7f29a4 --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBWindowPos.cpp @@ -0,0 +1,111 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.arb.ARBWindowPos +// ---------------------------------- + +#include "org_lwjgl_opengl_arb_ARBWindowPos.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.arb.ARBWindowPos + * Method: glWindowPos2fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBWindowPos_glWindowPos2fARB + (JNIEnv * env, jclass clazz, jfloat x, jfloat y) +{ + CHECK_EXISTS(glWindowPos2fARB) + glWindowPos2fARB(x, y); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBWindowPos + * Method: glWindowPos2iARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBWindowPos_glWindowPos2iARB + (JNIEnv * env, jclass clazz, jint x, jint y) +{ + CHECK_EXISTS(glWindowPos2iARB) + glWindowPos2iARB(x, y); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBWindowPos + * Method: glWindowPos2sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBWindowPos_glWindowPos2sARB + (JNIEnv * env, jclass clazz, jshort x, jshort y) +{ + CHECK_EXISTS(glWindowPos2sARB) + glWindowPos2sARB(x, y); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBWindowPos + * Method: glWindowPos3fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBWindowPos_glWindowPos3fARB + (JNIEnv * env, jclass clazz, jfloat x, jfloat y, jfloat z) +{ + CHECK_EXISTS(glWindowPos3fARB) + glWindowPos3fARB(x, y, z); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBWindowPos + * Method: glWindowPos3iARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBWindowPos_glWindowPos3iARB + (JNIEnv * env, jclass clazz, jint x, jint y, jint z) +{ + CHECK_EXISTS(glWindowPos3iARB) + glWindowPos3iARB(x, y, z); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.arb.ARBWindowPos + * Method: glWindowPos3sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBWindowPos_glWindowPos3sARB + (JNIEnv * env, jclass clazz, jshort x, jshort y, jshort z) +{ + CHECK_EXISTS(glWindowPos3sARB) + glWindowPos3sARB(x, y, z); + CHECK_GL_ERROR +} diff --git a/src/native/common/arb/org_lwjgl_opengl_arb_ARBWindowPos.h b/src/native/common/arb/org_lwjgl_opengl_arb_ARBWindowPos.h new file mode 100644 index 00000000..31ce3f10 --- /dev/null +++ b/src/native/common/arb/org_lwjgl_opengl_arb_ARBWindowPos.h @@ -0,0 +1,92 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.arb.ARBWindowPos +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_arb_ARBWindowPos +#define _Included_org_lwjgl_opengl_arb_ARBWindowPos + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.arb.ARBWindowPos + * Method: glWindowPos2fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBWindowPos_glWindowPos2fARB + (JNIEnv *, jclass, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.arb.ARBWindowPos + * Method: glWindowPos2iARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBWindowPos_glWindowPos2iARB + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBWindowPos + * Method: glWindowPos2sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBWindowPos_glWindowPos2sARB + (JNIEnv *, jclass, jshort, jshort); + +/* + * Class: org.lwjgl.opengl.arb.ARBWindowPos + * Method: glWindowPos3fARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBWindowPos_glWindowPos3fARB + (JNIEnv *, jclass, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.arb.ARBWindowPos + * Method: glWindowPos3iARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBWindowPos_glWindowPos3iARB + (JNIEnv *, jclass, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.arb.ARBWindowPos + * Method: glWindowPos3sARB + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_arb_ARBWindowPos_glWindowPos3sARB + (JNIEnv *, jclass, jshort, jshort, jshort); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ati/org_lwjgl_opengl_ati_ATIElementArray.cpp b/src/native/common/ati/org_lwjgl_opengl_ati_ATIElementArray.cpp new file mode 100644 index 00000000..ce871d86 --- /dev/null +++ b/src/native/common/ati/org_lwjgl_opengl_ati_ATIElementArray.cpp @@ -0,0 +1,88 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ati.ATIElementArray +// ---------------------------------- + +#include "org_lwjgl_opengl_ati_ATIElementArray.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ati.ATIElementArray + * Method: nglElementPointerATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIElementArray_nglElementPointerATI + (JNIEnv * env, jclass clazz, jint type, jobject pPointer, jint pPointer_offset) +{ + CHECK_EXISTS(glElementPointerATI) + GLvoid *pPointer_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pPointer) + pPointer_offset); + glElementPointerATI(type, pPointer_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIElementArray + * Method: nglElementPointerATIVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIElementArray_nglElementPointerATIVBO + (JNIEnv * env, jclass clazz, jint type, jint buffer_offset) +{ + CHECK_EXISTS(glElementPointerATI) + glElementPointerATI(type, (GLvoid *)buffer_offset); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIElementArray + * Method: glDrawElementArrayATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIElementArray_glDrawElementArrayATI + (JNIEnv * env, jclass clazz, jint mode, jint count) +{ + CHECK_EXISTS(glDrawElementArrayATI) + glDrawElementArrayATI(mode, count); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIElementArray + * Method: glDrawRangeElementArrayATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIElementArray_glDrawRangeElementArrayATI + (JNIEnv * env, jclass clazz, jint mode, jint start, jint end, jint count) +{ + CHECK_EXISTS(glDrawRangeElementArrayATI) + glDrawRangeElementArrayATI(mode, start, end, count); + CHECK_GL_ERROR +} diff --git a/src/native/common/ati/org_lwjgl_opengl_ati_ATIElementArray.h b/src/native/common/ati/org_lwjgl_opengl_ati_ATIElementArray.h new file mode 100644 index 00000000..60b8fdce --- /dev/null +++ b/src/native/common/ati/org_lwjgl_opengl_ati_ATIElementArray.h @@ -0,0 +1,78 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ati.ATIElementArray +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ati_ATIElementArray +#define _Included_org_lwjgl_opengl_ati_ATIElementArray + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ati.ATIElementArray + * Method: nglElementPointerATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIElementArray_nglElementPointerATI + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIElementArray + * Method: nglElementPointerATIVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIElementArray_nglElementPointerATIVBO + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIElementArray + * Method: glDrawElementArrayATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIElementArray_glDrawElementArrayATI + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIElementArray + * Method: glDrawRangeElementArrayATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIElementArray_glDrawRangeElementArrayATI + (JNIEnv *, jclass, jint, jint, jint, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ati/org_lwjgl_opengl_ati_ATIEnvmapBumpmap.cpp b/src/native/common/ati/org_lwjgl_opengl_ati_ATIEnvmapBumpmap.cpp new file mode 100644 index 00000000..676f0a99 --- /dev/null +++ b/src/native/common/ati/org_lwjgl_opengl_ati_ATIEnvmapBumpmap.cpp @@ -0,0 +1,91 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ati.ATIEnvmapBumpmap +// ---------------------------------- + +#include "org_lwjgl_opengl_ati_ATIEnvmapBumpmap.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ati.ATIEnvmapBumpmap + * Method: nglTexBumpParameterfvATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIEnvmapBumpmap_nglTexBumpParameterfvATI + (JNIEnv * env, jclass clazz, jint pname, jobject pfParam, jint pfParam_offset) +{ + CHECK_EXISTS(glTexBumpParameterfvATI) + GLfloat *pfParam_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParam) + pfParam_offset; + glTexBumpParameterfvATI(pname, pfParam_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIEnvmapBumpmap + * Method: nglTexBumpParameterivATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIEnvmapBumpmap_nglTexBumpParameterivATI + (JNIEnv * env, jclass clazz, jint pname, jobject piParam, jint piParam_offset) +{ + CHECK_EXISTS(glTexBumpParameterivATI) + GLint *piParam_ptr = (GLint *)env->GetDirectBufferAddress(piParam) + piParam_offset; + glTexBumpParameterivATI(pname, piParam_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIEnvmapBumpmap + * Method: nglGetTexBumpParameterfvATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIEnvmapBumpmap_nglGetTexBumpParameterfvATI + (JNIEnv * env, jclass clazz, jint pname, jobject pfParam, jint pfParam_offset) +{ + CHECK_EXISTS(glGetTexBumpParameterfvATI) + GLfloat *pfParam_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParam) + pfParam_offset; + glGetTexBumpParameterfvATI(pname, pfParam_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIEnvmapBumpmap + * Method: nglGetTexBumpParameterivATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIEnvmapBumpmap_nglGetTexBumpParameterivATI + (JNIEnv * env, jclass clazz, jint pname, jobject piParam, jint piParam_offset) +{ + CHECK_EXISTS(glGetTexBumpParameterivATI) + GLint *piParam_ptr = (GLint *)env->GetDirectBufferAddress(piParam) + piParam_offset; + glGetTexBumpParameterivATI(pname, piParam_ptr); + CHECK_GL_ERROR +} diff --git a/src/native/common/ati/org_lwjgl_opengl_ati_ATIEnvmapBumpmap.h b/src/native/common/ati/org_lwjgl_opengl_ati_ATIEnvmapBumpmap.h new file mode 100644 index 00000000..4185b140 --- /dev/null +++ b/src/native/common/ati/org_lwjgl_opengl_ati_ATIEnvmapBumpmap.h @@ -0,0 +1,78 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ati.ATIEnvmapBumpmap +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ati_ATIEnvmapBumpmap +#define _Included_org_lwjgl_opengl_ati_ATIEnvmapBumpmap + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ati.ATIEnvmapBumpmap + * Method: nglTexBumpParameterfvATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIEnvmapBumpmap_nglTexBumpParameterfvATI + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIEnvmapBumpmap + * Method: nglTexBumpParameterivATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIEnvmapBumpmap_nglTexBumpParameterivATI + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIEnvmapBumpmap + * Method: nglGetTexBumpParameterfvATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIEnvmapBumpmap_nglGetTexBumpParameterfvATI + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIEnvmapBumpmap + * Method: nglGetTexBumpParameterivATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIEnvmapBumpmap_nglGetTexBumpParameterivATI + (JNIEnv *, jclass, jint, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ati/org_lwjgl_opengl_ati_ATIFragmentShader.cpp b/src/native/common/ati/org_lwjgl_opengl_ati_ATIFragmentShader.cpp new file mode 100644 index 00000000..cda20bd3 --- /dev/null +++ b/src/native/common/ati/org_lwjgl_opengl_ati_ATIFragmentShader.cpp @@ -0,0 +1,209 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ati.ATIFragmentShader +// ---------------------------------- + +#include "org_lwjgl_opengl_ati_ATIFragmentShader.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glGenFragmentShadersATI + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glGenFragmentShadersATI + (JNIEnv * env, jclass clazz, jint range) +{ + CHECK_EXISTS(glGenFragmentShadersATI) + GLuint result = glGenFragmentShadersATI(range); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glBindFragmentShaderATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glBindFragmentShaderATI + (JNIEnv * env, jclass clazz, jint id) +{ + CHECK_EXISTS(glBindFragmentShaderATI) + glBindFragmentShaderATI(id); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glDeleteFragmentShaderATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glDeleteFragmentShaderATI + (JNIEnv * env, jclass clazz, jint id) +{ + CHECK_EXISTS(glDeleteFragmentShaderATI) + glDeleteFragmentShaderATI(id); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glBeginFragmentShaderATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glBeginFragmentShaderATI + (JNIEnv * env, jclass clazz) +{ + CHECK_EXISTS(glBeginFragmentShaderATI) + glBeginFragmentShaderATI(); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glEndFragmentShaderATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glEndFragmentShaderATI + (JNIEnv * env, jclass clazz) +{ + CHECK_EXISTS(glEndFragmentShaderATI) + glEndFragmentShaderATI(); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glPassTexCoordATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glPassTexCoordATI + (JNIEnv * env, jclass clazz, jint dst, jint coord, jint swizzle) +{ + CHECK_EXISTS(glPassTexCoordATI) + glPassTexCoordATI(dst, coord, swizzle); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glSampleMapATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glSampleMapATI + (JNIEnv * env, jclass clazz, jint dst, jint interp, jint swizzle) +{ + CHECK_EXISTS(glSampleMapATI) + glSampleMapATI(dst, interp, swizzle); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glColorFragmentOp1ATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glColorFragmentOp1ATI + (JNIEnv * env, jclass clazz, jint op, jint dst, jint dstMask, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod) +{ + CHECK_EXISTS(glColorFragmentOp1ATI) + glColorFragmentOp1ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glColorFragmentOp2ATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glColorFragmentOp2ATI + (JNIEnv * env, jclass clazz, jint op, jint dst, jint dstMask, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod, jint arg2, jint arg2Rep, jint arg2Mod) +{ + CHECK_EXISTS(glColorFragmentOp2ATI) + glColorFragmentOp2ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glColorFragmentOp3ATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glColorFragmentOp3ATI + (JNIEnv * env, jclass clazz, jint op, jint dst, jint dstMask, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod, jint arg2, jint arg2Rep, jint arg2Mod, jint arg3, jint arg3Rep, jint arg3Mod) +{ + CHECK_EXISTS(glColorFragmentOp3ATI) + glColorFragmentOp3ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glAlphaFragmentOp1ATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glAlphaFragmentOp1ATI + (JNIEnv * env, jclass clazz, jint op, jint dst, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod) +{ + CHECK_EXISTS(glAlphaFragmentOp1ATI) + glAlphaFragmentOp1ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glAlphaFragmentOp2ATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glAlphaFragmentOp2ATI + (JNIEnv * env, jclass clazz, jint op, jint dst, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod, jint arg2, jint arg2Rep, jint arg2Mod) +{ + CHECK_EXISTS(glAlphaFragmentOp2ATI) + glAlphaFragmentOp2ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glAlphaFragmentOp3ATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glAlphaFragmentOp3ATI + (JNIEnv * env, jclass clazz, jint op, jint dst, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod, jint arg2, jint arg2Rep, jint arg2Mod, jint arg3, jint arg3Rep, jint arg3Mod) +{ + CHECK_EXISTS(glAlphaFragmentOp3ATI) + glAlphaFragmentOp3ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: nglSetFragmentShaderConstantATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_nglSetFragmentShaderConstantATI + (JNIEnv * env, jclass clazz, jint dst, jobject pfValue, jint pfValue_offset) +{ + CHECK_EXISTS(glSetFragmentShaderConstantATI) + GLfloat *pfValue_ptr = (GLfloat *)env->GetDirectBufferAddress(pfValue) + pfValue_offset; + glSetFragmentShaderConstantATI(dst, pfValue_ptr); + CHECK_GL_ERROR +} diff --git a/src/native/common/ati/org_lwjgl_opengl_ati_ATIFragmentShader.h b/src/native/common/ati/org_lwjgl_opengl_ati_ATIFragmentShader.h new file mode 100644 index 00000000..226d28ce --- /dev/null +++ b/src/native/common/ati/org_lwjgl_opengl_ati_ATIFragmentShader.h @@ -0,0 +1,148 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ati.ATIFragmentShader +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ati_ATIFragmentShader +#define _Included_org_lwjgl_opengl_ati_ATIFragmentShader + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glGenFragmentShadersATI + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glGenFragmentShadersATI + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glBindFragmentShaderATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glBindFragmentShaderATI + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glDeleteFragmentShaderATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glDeleteFragmentShaderATI + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glBeginFragmentShaderATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glBeginFragmentShaderATI + (JNIEnv *, jclass); + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glEndFragmentShaderATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glEndFragmentShaderATI + (JNIEnv *, jclass); + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glPassTexCoordATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glPassTexCoordATI + (JNIEnv *, jclass, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glSampleMapATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glSampleMapATI + (JNIEnv *, jclass, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glColorFragmentOp1ATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glColorFragmentOp1ATI + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glColorFragmentOp2ATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glColorFragmentOp2ATI + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glColorFragmentOp3ATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glColorFragmentOp3ATI + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glAlphaFragmentOp1ATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glAlphaFragmentOp1ATI + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glAlphaFragmentOp2ATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glAlphaFragmentOp2ATI + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: glAlphaFragmentOp3ATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_glAlphaFragmentOp3ATI + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIFragmentShader + * Method: nglSetFragmentShaderConstantATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIFragmentShader_nglSetFragmentShaderConstantATI + (JNIEnv *, jclass, jint, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ati/org_lwjgl_opengl_ati_ATIPnTriangles.cpp b/src/native/common/ati/org_lwjgl_opengl_ati_ATIPnTriangles.cpp new file mode 100644 index 00000000..ab5e779d --- /dev/null +++ b/src/native/common/ati/org_lwjgl_opengl_ati_ATIPnTriangles.cpp @@ -0,0 +1,63 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ati.ATIPnTriangles +// ---------------------------------- + +#include "org_lwjgl_opengl_ati_ATIPnTriangles.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ati.ATIPnTriangles + * Method: glPNTrianglesfATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIPnTriangles_glPNTrianglesfATI + (JNIEnv * env, jclass clazz, jint pname, jfloat param) +{ + CHECK_EXISTS(glPNTrianglesfATI) + glPNTrianglesfATI(pname, param); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIPnTriangles + * Method: glPNTrianglesiATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIPnTriangles_glPNTrianglesiATI + (JNIEnv * env, jclass clazz, jint pname, jint param) +{ + CHECK_EXISTS(glPNTrianglesiATI) + glPNTrianglesiATI(pname, param); + CHECK_GL_ERROR +} diff --git a/src/native/common/ati/org_lwjgl_opengl_ati_ATIPnTriangles.h b/src/native/common/ati/org_lwjgl_opengl_ati_ATIPnTriangles.h new file mode 100644 index 00000000..ed08bc4b --- /dev/null +++ b/src/native/common/ati/org_lwjgl_opengl_ati_ATIPnTriangles.h @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ati.ATIPnTriangles +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ati_ATIPnTriangles +#define _Included_org_lwjgl_opengl_ati_ATIPnTriangles + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ati.ATIPnTriangles + * Method: glPNTrianglesfATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIPnTriangles_glPNTrianglesfATI + (JNIEnv *, jclass, jint, jfloat); + +/* + * Class: org.lwjgl.opengl.ati.ATIPnTriangles + * Method: glPNTrianglesiATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIPnTriangles_glPNTrianglesiATI + (JNIEnv *, jclass, jint, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ati/org_lwjgl_opengl_ati_ATISeparateStencil.cpp b/src/native/common/ati/org_lwjgl_opengl_ati_ATISeparateStencil.cpp new file mode 100644 index 00000000..a10a99c8 --- /dev/null +++ b/src/native/common/ati/org_lwjgl_opengl_ati_ATISeparateStencil.cpp @@ -0,0 +1,63 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ati.ATISeparateStencil +// ---------------------------------- + +#include "org_lwjgl_opengl_ati_ATISeparateStencil.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ati.ATISeparateStencil + * Method: glStencilOpSeparateATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATISeparateStencil_glStencilOpSeparateATI + (JNIEnv * env, jclass clazz, jint face, jint sfail, jint dpfail, jint dppass) +{ + CHECK_EXISTS(glStencilOpSeparateATI) + glStencilOpSeparateATI(face, sfail, dpfail, dppass); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATISeparateStencil + * Method: glStencilFuncSeparateATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATISeparateStencil_glStencilFuncSeparateATI + (JNIEnv * env, jclass clazz, jint frontfunc, jint backfunc, jint ref, jint mask) +{ + CHECK_EXISTS(glStencilFuncSeparateATI) + glStencilFuncSeparateATI(frontfunc, backfunc, ref, mask); + CHECK_GL_ERROR +} diff --git a/src/native/common/ati/org_lwjgl_opengl_ati_ATISeparateStencil.h b/src/native/common/ati/org_lwjgl_opengl_ati_ATISeparateStencil.h new file mode 100644 index 00000000..4ea51d11 --- /dev/null +++ b/src/native/common/ati/org_lwjgl_opengl_ati_ATISeparateStencil.h @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ati.ATISeparateStencil +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ati_ATISeparateStencil +#define _Included_org_lwjgl_opengl_ati_ATISeparateStencil + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ati.ATISeparateStencil + * Method: glStencilOpSeparateATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATISeparateStencil_glStencilOpSeparateATI + (JNIEnv *, jclass, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATISeparateStencil + * Method: glStencilFuncSeparateATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATISeparateStencil_glStencilFuncSeparateATI + (JNIEnv *, jclass, jint, jint, jint, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexArrayObject.cpp b/src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexArrayObject.cpp new file mode 100644 index 00000000..e62c890a --- /dev/null +++ b/src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexArrayObject.cpp @@ -0,0 +1,193 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ati.ATIVertexArrayObject +// ---------------------------------- + +#include "org_lwjgl_opengl_ati_ATIVertexArrayObject.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglNewObjectBufferATI + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglNewObjectBufferATI + (JNIEnv * env, jclass clazz, jint size, jobject pPointer, jint pPointer_offset, jint usage) +{ + CHECK_EXISTS(glNewObjectBufferATI) + GLvoid *pPointer_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pPointer) + pPointer_offset); + GLuint result = glNewObjectBufferATI(size, pPointer_ptr, usage); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: glIsObjectBufferATI + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_glIsObjectBufferATI + (JNIEnv * env, jclass clazz, jint buffer) +{ + CHECK_EXISTS(glIsObjectBufferATI) + GLboolean result = glIsObjectBufferATI(buffer); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglUpdateObjectBufferATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglUpdateObjectBufferATI + (JNIEnv * env, jclass clazz, jint buffer, jint offset, jint size, jobject pPointer, jint pPointer_offset, jint preserve) +{ + CHECK_EXISTS(glUpdateObjectBufferATI) + GLvoid *pPointer_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pPointer) + pPointer_offset); + glUpdateObjectBufferATI(buffer, offset, size, pPointer_ptr, preserve); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglGetObjectBufferfvATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglGetObjectBufferfvATI + (JNIEnv * env, jclass clazz, jint buffer, jint pname, jobject pfParams, jint pfParams_offset) +{ + CHECK_EXISTS(glGetObjectBufferfvATI) + GLfloat *pfParams_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParams) + pfParams_offset; + glGetObjectBufferfvATI(buffer, pname, pfParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglGetObjectBufferivATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglGetObjectBufferivATI + (JNIEnv * env, jclass clazz, jint buffer, jint pname, jobject piParams, jint piParams_offset) +{ + CHECK_EXISTS(glGetObjectBufferivATI) + GLint *piParams_ptr = (GLint *)env->GetDirectBufferAddress(piParams) + piParams_offset; + glGetObjectBufferivATI(buffer, pname, piParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: glFreeObjectBufferATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_glFreeObjectBufferATI + (JNIEnv * env, jclass clazz, jint buffer) +{ + CHECK_EXISTS(glFreeObjectBufferATI) + glFreeObjectBufferATI(buffer); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: glArrayObjectATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_glArrayObjectATI + (JNIEnv * env, jclass clazz, jint array, jint size, jint type, jint stride, jint buffer, jint offset) +{ + CHECK_EXISTS(glArrayObjectATI) + glArrayObjectATI(array, size, type, stride, buffer, offset); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglGetArrayObjectfvATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglGetArrayObjectfvATI + (JNIEnv * env, jclass clazz, jint array, jint pname, jobject pfParams, jint pfParams_offset) +{ + CHECK_EXISTS(glGetArrayObjectfvATI) + GLfloat *pfParams_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParams) + pfParams_offset; + glGetArrayObjectfvATI(array, pname, pfParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglGetArrayObjectivATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglGetArrayObjectivATI + (JNIEnv * env, jclass clazz, jint array, jint pname, jobject piParams, jint piParams_offset) +{ + CHECK_EXISTS(glGetArrayObjectivATI) + GLint *piParams_ptr = (GLint *)env->GetDirectBufferAddress(piParams) + piParams_offset; + glGetArrayObjectivATI(array, pname, piParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: glVariantArrayObjectATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_glVariantArrayObjectATI + (JNIEnv * env, jclass clazz, jint id, jint type, jint stride, jint buffer, jint offset) +{ + CHECK_EXISTS(glVariantArrayObjectATI) + glVariantArrayObjectATI(id, type, stride, buffer, offset); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglGetVariantArrayObjectfvATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglGetVariantArrayObjectfvATI + (JNIEnv * env, jclass clazz, jint id, jint pname, jobject pfParams, jint pfParams_offset_offset) +{ + CHECK_EXISTS(glGetVariantArrayObjectfvATI) + GLfloat *pfParams_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParams) + pfParams_offset_offset; + glGetVariantArrayObjectfvATI(id, pname, pfParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglGetVariantArrayObjectivATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglGetVariantArrayObjectivATI + (JNIEnv * env, jclass clazz, jint id, jint pname, jobject piParams, jint piParams_offset) +{ + CHECK_EXISTS(glGetVariantArrayObjectivATI) + GLint *piParams_ptr = (GLint *)env->GetDirectBufferAddress(piParams) + piParams_offset; + glGetVariantArrayObjectivATI(id, pname, piParams_ptr); + CHECK_GL_ERROR +} diff --git a/src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexArrayObject.h b/src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexArrayObject.h new file mode 100644 index 00000000..ac7dab6c --- /dev/null +++ b/src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexArrayObject.h @@ -0,0 +1,134 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ati.ATIVertexArrayObject +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ati_ATIVertexArrayObject +#define _Included_org_lwjgl_opengl_ati_ATIVertexArrayObject + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglNewObjectBufferATI + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglNewObjectBufferATI + (JNIEnv *, jclass, jint, jobject, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: glIsObjectBufferATI + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_glIsObjectBufferATI + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglUpdateObjectBufferATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglUpdateObjectBufferATI + (JNIEnv *, jclass, jint, jint, jint, jobject, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglGetObjectBufferfvATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglGetObjectBufferfvATI + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglGetObjectBufferivATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglGetObjectBufferivATI + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: glFreeObjectBufferATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_glFreeObjectBufferATI + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: glArrayObjectATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_glArrayObjectATI + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglGetArrayObjectfvATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglGetArrayObjectfvATI + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglGetArrayObjectivATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglGetArrayObjectivATI + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: glVariantArrayObjectATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_glVariantArrayObjectATI + (JNIEnv *, jclass, jint, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglGetVariantArrayObjectfvATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglGetVariantArrayObjectfvATI + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexArrayObject + * Method: nglGetVariantArrayObjectivATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexArrayObject_nglGetVariantArrayObjectivATI + (JNIEnv *, jclass, jint, jint, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexStreams.cpp b/src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexStreams.cpp new file mode 100644 index 00000000..b97d9ef2 --- /dev/null +++ b/src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexStreams.cpp @@ -0,0 +1,267 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ati.ATIVertexStreams +// ---------------------------------- + +#include "org_lwjgl_opengl_ati_ATIVertexStreams.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream1fATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream1fATI + (JNIEnv * env, jclass clazz, jint stream, jfloat x) +{ + CHECK_EXISTS(glVertexStream1fATI) + glVertexStream1fATI(stream, x); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream1iATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream1iATI + (JNIEnv * env, jclass clazz, jint stream, jint x) +{ + CHECK_EXISTS(glVertexStream1iATI) + glVertexStream1iATI(stream, x); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream1sATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream1sATI + (JNIEnv * env, jclass clazz, jint stream, jshort x) +{ + CHECK_EXISTS(glVertexStream1sATI) + glVertexStream1sATI(stream, x); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream2fATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream2fATI + (JNIEnv * env, jclass clazz, jint stream, jfloat x, jfloat y) +{ + CHECK_EXISTS(glVertexStream2fATI) + glVertexStream2fATI(stream, x, y); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream2iATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream2iATI + (JNIEnv * env, jclass clazz, jint stream, jint x, jint y) +{ + CHECK_EXISTS(glVertexStream2iATI) + glVertexStream2iATI(stream, x, y); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream2sATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream2sATI + (JNIEnv * env, jclass clazz, jint stream, jshort x, jshort y) +{ + CHECK_EXISTS(glVertexStream2sATI) + glVertexStream2sATI(stream, x, y); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream3fATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream3fATI + (JNIEnv * env, jclass clazz, jint stream, jfloat x, jfloat y, jfloat z) +{ + CHECK_EXISTS(glVertexStream3fATI) + glVertexStream3fATI(stream, x, y, z); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream3iATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream3iATI + (JNIEnv * env, jclass clazz, jint stream, jint x, jint y, jint z) +{ + CHECK_EXISTS(glVertexStream3iATI) + glVertexStream3iATI(stream, x, y, z); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream3sATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream3sATI + (JNIEnv * env, jclass clazz, jint stream, jshort x, jshort y, jshort z) +{ + CHECK_EXISTS(glVertexStream3sATI) + glVertexStream3sATI(stream, x, y, z); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream4fATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream4fATI + (JNIEnv * env, jclass clazz, jint stream, jfloat x, jfloat y, jfloat z, jfloat w) +{ + CHECK_EXISTS(glVertexStream4fATI) + glVertexStream4fATI(stream, x, y, z, w); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream4iATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream4iATI + (JNIEnv * env, jclass clazz, jint stream, jint x, jint y, jint z, jint w) +{ + CHECK_EXISTS(glVertexStream4iATI) + glVertexStream4iATI(stream, x, y, z, w); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream4sATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream4sATI + (JNIEnv * env, jclass clazz, jint stream, jshort x, jshort y, jshort z, jshort w) +{ + CHECK_EXISTS(glVertexStream4sATI) + glVertexStream4sATI(stream, x, y, z, w); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glNormalStream3bATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glNormalStream3bATI + (JNIEnv * env, jclass clazz, jint stream, jbyte x, jbyte y, jbyte z) +{ + CHECK_EXISTS(glNormalStream3bATI) + glNormalStream3bATI(stream, x, y, z); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glNormalStream3fATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glNormalStream3fATI + (JNIEnv * env, jclass clazz, jint stream, jfloat x, jfloat y, jfloat z) +{ + CHECK_EXISTS(glNormalStream3fATI) + glNormalStream3fATI(stream, x, y, z); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glNormalStream3iATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glNormalStream3iATI + (JNIEnv * env, jclass clazz, jint stream, jint x, jint y, jint z) +{ + CHECK_EXISTS(glNormalStream3iATI) + glNormalStream3iATI(stream, x, y, z); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glNormalStream3sATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glNormalStream3sATI + (JNIEnv * env, jclass clazz, jint stream, jshort x, jshort y, jshort z) +{ + CHECK_EXISTS(glNormalStream3sATI) + glNormalStream3sATI(stream, x, y, z); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glClientActiveVertexStreamATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glClientActiveVertexStreamATI + (JNIEnv * env, jclass clazz, jint stream) +{ + CHECK_EXISTS(glClientActiveVertexStreamATI) + glClientActiveVertexStreamATI(stream); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexBlendEnvfATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexBlendEnvfATI + (JNIEnv * env, jclass clazz, jint pname, jfloat param) +{ + CHECK_EXISTS(glVertexBlendEnvfATI) + glVertexBlendEnvfATI(pname, param); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexBlendEnviATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexBlendEnviATI + (JNIEnv * env, jclass clazz, jint pname, jint param) +{ + CHECK_EXISTS(glVertexBlendEnviATI) + glVertexBlendEnviATI(pname, param); + CHECK_GL_ERROR +} diff --git a/src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexStreams.h b/src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexStreams.h new file mode 100644 index 00000000..e96266cb --- /dev/null +++ b/src/native/common/ati/org_lwjgl_opengl_ati_ATIVertexStreams.h @@ -0,0 +1,183 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ati.ATIVertexStreams +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ati_ATIVertexStreams +#define _Included_org_lwjgl_opengl_ati_ATIVertexStreams + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream1fATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream1fATI + (JNIEnv *, jclass, jint, jfloat); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream1iATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream1iATI + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream1sATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream1sATI + (JNIEnv *, jclass, jint, jshort); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream2fATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream2fATI + (JNIEnv *, jclass, jint, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream2iATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream2iATI + (JNIEnv *, jclass, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream2sATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream2sATI + (JNIEnv *, jclass, jint, jshort, jshort); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream3fATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream3fATI + (JNIEnv *, jclass, jint, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream3iATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream3iATI + (JNIEnv *, jclass, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream3sATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream3sATI + (JNIEnv *, jclass, jint, jshort, jshort, jshort); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream4fATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream4fATI + (JNIEnv *, jclass, jint, jfloat, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream4iATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream4iATI + (JNIEnv *, jclass, jint, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexStream4sATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexStream4sATI + (JNIEnv *, jclass, jint, jshort, jshort, jshort, jshort); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glNormalStream3bATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glNormalStream3bATI + (JNIEnv *, jclass, jint, jbyte, jbyte, jbyte); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glNormalStream3fATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glNormalStream3fATI + (JNIEnv *, jclass, jint, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glNormalStream3iATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glNormalStream3iATI + (JNIEnv *, jclass, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glNormalStream3sATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glNormalStream3sATI + (JNIEnv *, jclass, jint, jshort, jshort, jshort); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glClientActiveVertexStreamATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glClientActiveVertexStreamATI + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexBlendEnvfATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexBlendEnvfATI + (JNIEnv *, jclass, jint, jfloat); + +/* + * Class: org.lwjgl.opengl.ati.ATIVertexStreams + * Method: glVertexBlendEnviATI + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ati_ATIVertexStreams_glVertexBlendEnviATI + (JNIEnv *, jclass, jint, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTBlendFuncSeparate.cpp b/src/native/common/ext/org_lwjgl_opengl_ext_EXTBlendFuncSeparate.cpp new file mode 100644 index 00000000..381f4f54 --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTBlendFuncSeparate.cpp @@ -0,0 +1,51 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ext.EXTBlendFuncSeparate +// ---------------------------------- + +#include "org_lwjgl_opengl_ext_EXTBlendFuncSeparate.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ext.EXTBlendFuncSeparate + * Method: glBlendFuncSeparateEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTBlendFuncSeparate_glBlendFuncSeparateEXT + (JNIEnv * env, jclass clazz, jint sfactorRGB, jint dfactorRGB, jint sfactorAlpha, jint dfactorAlpha) +{ + CHECK_EXISTS(glBlendFuncSeparateEXT) + glBlendFuncSeparateEXT(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + CHECK_GL_ERROR +} diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTBlendFuncSeparate.h b/src/native/common/ext/org_lwjgl_opengl_ext_EXTBlendFuncSeparate.h new file mode 100644 index 00000000..3dae98e6 --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTBlendFuncSeparate.h @@ -0,0 +1,57 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ext.EXTBlendFuncSeparate +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ext_EXTBlendFuncSeparate +#define _Included_org_lwjgl_opengl_ext_EXTBlendFuncSeparate + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ext.EXTBlendFuncSeparate + * Method: glBlendFuncSeparateEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTBlendFuncSeparate_glBlendFuncSeparateEXT + (JNIEnv *, jclass, jint, jint, jint, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTCompiledVertexArray.cpp b/src/native/common/ext/org_lwjgl_opengl_ext_EXTCompiledVertexArray.cpp new file mode 100644 index 00000000..796bdcd2 --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTCompiledVertexArray.cpp @@ -0,0 +1,63 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ext.EXTCompiledVertexArray +// ---------------------------------- + +#include "org_lwjgl_opengl_ext_EXTCompiledVertexArray.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ext.EXTCompiledVertexArray + * Method: glLockArraysEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTCompiledVertexArray_glLockArraysEXT + (JNIEnv * env, jclass clazz, jint first, jint count) +{ + CHECK_EXISTS(glLockArraysEXT) + glLockArraysEXT(first, count); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTCompiledVertexArray + * Method: glUnlockArraysEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTCompiledVertexArray_glUnlockArraysEXT + (JNIEnv * env, jclass clazz) +{ + CHECK_EXISTS(glUnlockArraysEXT) + glUnlockArraysEXT(); + CHECK_GL_ERROR +} diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTCompiledVertexArray.h b/src/native/common/ext/org_lwjgl_opengl_ext_EXTCompiledVertexArray.h new file mode 100644 index 00000000..556ba5d3 --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTCompiledVertexArray.h @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ext.EXTCompiledVertexArray +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ext_EXTCompiledVertexArray +#define _Included_org_lwjgl_opengl_ext_EXTCompiledVertexArray + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ext.EXTCompiledVertexArray + * Method: glLockArraysEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTCompiledVertexArray_glLockArraysEXT + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTCompiledVertexArray + * Method: glUnlockArraysEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTCompiledVertexArray_glUnlockArraysEXT + (JNIEnv *, jclass); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTDrawRangeElements.cpp b/src/native/common/ext/org_lwjgl_opengl_ext_EXTDrawRangeElements.cpp new file mode 100644 index 00000000..e341fb4c --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTDrawRangeElements.cpp @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ext.EXTDrawRangeElements +// ---------------------------------- + +#include "org_lwjgl_opengl_ext_EXTDrawRangeElements.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ext.EXTDrawRangeElements + * Method: nglDrawRangeElementsEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTDrawRangeElements_nglDrawRangeElementsEXT + (JNIEnv * env, jclass clazz, jint mode, jint start, jint end, jint count, jint type, jobject pIndices, jint pIndices_offset) +{ + CHECK_EXISTS(glDrawRangeElementsEXT) + GLvoid *pIndices_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pIndices) + pIndices_offset); + glDrawRangeElementsEXT(mode, start, end, count, type, pIndices_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTDrawRangeElements + * Method: nglDrawRangeElementsEXTVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTDrawRangeElements_nglDrawRangeElementsEXTVBO + (JNIEnv * env, jclass clazz, jint mode, jint start, jint end, jint count, jint type, jint buffer_offset) +{ + CHECK_EXISTS(glDrawRangeElementsEXT) + glDrawRangeElementsEXT(mode, start, end, count, type, (GLvoid *)buffer_offset); + CHECK_GL_ERROR +} diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTDrawRangeElements.h b/src/native/common/ext/org_lwjgl_opengl_ext_EXTDrawRangeElements.h new file mode 100644 index 00000000..43b5dbbc --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTDrawRangeElements.h @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ext.EXTDrawRangeElements +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ext_EXTDrawRangeElements +#define _Included_org_lwjgl_opengl_ext_EXTDrawRangeElements + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ext.EXTDrawRangeElements + * Method: nglDrawRangeElementsEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTDrawRangeElements_nglDrawRangeElementsEXT + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTDrawRangeElements + * Method: nglDrawRangeElementsEXTVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTDrawRangeElements_nglDrawRangeElementsEXTVBO + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTFogCoord.cpp b/src/native/common/ext/org_lwjgl_opengl_ext_EXTFogCoord.cpp new file mode 100644 index 00000000..55b51c11 --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTFogCoord.cpp @@ -0,0 +1,76 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ext.EXTFogCoord +// ---------------------------------- + +#include "org_lwjgl_opengl_ext_EXTFogCoord.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ext.EXTFogCoord + * Method: glFogCoordfEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTFogCoord_glFogCoordfEXT + (JNIEnv * env, jclass clazz, jfloat coord) +{ + CHECK_EXISTS(glFogCoordfEXT) + glFogCoordfEXT(coord); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTFogCoord + * Method: nglFogCoordPointerEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTFogCoord_nglFogCoordPointerEXT + (JNIEnv * env, jclass clazz, jint type, jint stride, jobject data, jint data_offset) +{ + CHECK_EXISTS(glFogCoordPointerEXT) + GLvoid *data_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(data) + data_offset); + glFogCoordPointerEXT(type, stride, data_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTFogCoord + * Method: nglFogCoordPointerEXTVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTFogCoord_nglFogCoordPointerEXTVBO + (JNIEnv * env, jclass clazz, jint type, jint stride, jint buffer_offset) +{ + CHECK_EXISTS(glFogCoordPointerEXT) + glFogCoordPointerEXT(type, stride, (GLvoid *)buffer_offset); + CHECK_GL_ERROR +} diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTFogCoord.h b/src/native/common/ext/org_lwjgl_opengl_ext_EXTFogCoord.h new file mode 100644 index 00000000..42e8929c --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTFogCoord.h @@ -0,0 +1,71 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ext.EXTFogCoord +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ext_EXTFogCoord +#define _Included_org_lwjgl_opengl_ext_EXTFogCoord + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ext.EXTFogCoord + * Method: glFogCoordfEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTFogCoord_glFogCoordfEXT + (JNIEnv *, jclass, jfloat); + +/* + * Class: org.lwjgl.opengl.ext.EXTFogCoord + * Method: nglFogCoordPointerEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTFogCoord_nglFogCoordPointerEXT + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTFogCoord + * Method: nglFogCoordPointerEXTVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTFogCoord_nglFogCoordPointerEXTVBO + (JNIEnv *, jclass, jint, jint, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTMultiDrawArrays.cpp b/src/native/common/ext/org_lwjgl_opengl_ext_EXTMultiDrawArrays.cpp new file mode 100644 index 00000000..b5f801ad --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTMultiDrawArrays.cpp @@ -0,0 +1,53 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ext.EXTMultiDrawArrays +// ---------------------------------- + +#include "org_lwjgl_opengl_ext_EXTMultiDrawArrays.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ext.EXTMultiDrawArrays + * Method: nglMultiDrawArraysEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTMultiDrawArrays_nglMultiDrawArraysEXT + (JNIEnv * env, jclass clazz, jint mode, jobject piFirst, jint piFirst_offset, jobject piCount, jint piCount_offset, jint primcount) +{ + CHECK_EXISTS(glMultiDrawArraysEXT) + GLint *piFirst_ptr = (GLint *)env->GetDirectBufferAddress(piFirst) + piFirst_offset; + GLint *piCount_ptr = (GLint *)env->GetDirectBufferAddress(piCount) + piCount_offset; + glMultiDrawArraysEXT(mode, piFirst_ptr, piCount_ptr, primcount); + CHECK_GL_ERROR +} diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTMultiDrawArrays.h b/src/native/common/ext/org_lwjgl_opengl_ext_EXTMultiDrawArrays.h new file mode 100644 index 00000000..937d656d --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTMultiDrawArrays.h @@ -0,0 +1,57 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ext.EXTMultiDrawArrays +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ext_EXTMultiDrawArrays +#define _Included_org_lwjgl_opengl_ext_EXTMultiDrawArrays + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ext.EXTMultiDrawArrays + * Method: nglMultiDrawArraysEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTMultiDrawArrays_nglMultiDrawArraysEXT + (JNIEnv *, jclass, jint, jobject, jint, jobject, jint, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTPointParameters.cpp b/src/native/common/ext/org_lwjgl_opengl_ext_EXTPointParameters.cpp new file mode 100644 index 00000000..394574e0 --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTPointParameters.cpp @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ext.EXTPointParameters +// ---------------------------------- + +#include "org_lwjgl_opengl_ext_EXTPointParameters.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ext.EXTPointParameters + * Method: glPointParameterfEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTPointParameters_glPointParameterfEXT + (JNIEnv * env, jclass clazz, jint pname, jfloat param) +{ + CHECK_EXISTS(glPointParameterfEXT) + glPointParameterfEXT(pname, param); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTPointParameters + * Method: nglPointParameterfvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTPointParameters_nglPointParameterfvEXT + (JNIEnv * env, jclass clazz, jint pname, jobject pfParams, jint pfParams_offset) +{ + CHECK_EXISTS(glPointParameterfvEXT) + GLfloat *pfParams_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParams) + pfParams_offset; + glPointParameterfvEXT(pname, pfParams_ptr); + CHECK_GL_ERROR +} diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTPointParameters.h b/src/native/common/ext/org_lwjgl_opengl_ext_EXTPointParameters.h new file mode 100644 index 00000000..2b4258f3 --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTPointParameters.h @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ext.EXTPointParameters +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ext_EXTPointParameters +#define _Included_org_lwjgl_opengl_ext_EXTPointParameters + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ext.EXTPointParameters + * Method: glPointParameterfEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTPointParameters_glPointParameterfEXT + (JNIEnv *, jclass, jint, jfloat); + +/* + * Class: org.lwjgl.opengl.ext.EXTPointParameters + * Method: nglPointParameterfvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTPointParameters_nglPointParameterfvEXT + (JNIEnv *, jclass, jint, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTSecondaryColor.cpp b/src/native/common/ext/org_lwjgl_opengl_ext_EXTSecondaryColor.cpp new file mode 100644 index 00000000..04c0b3d1 --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTSecondaryColor.cpp @@ -0,0 +1,100 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ext.EXTSecondaryColor +// ---------------------------------- + +#include "org_lwjgl_opengl_ext_EXTSecondaryColor.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ext.EXTSecondaryColor + * Method: glSecondaryColor3bEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTSecondaryColor_glSecondaryColor3bEXT + (JNIEnv * env, jclass clazz, jbyte red, jbyte green, jbyte blue) +{ + CHECK_EXISTS(glSecondaryColor3bEXT) + glSecondaryColor3bEXT(red, green, blue); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTSecondaryColor + * Method: glSecondaryColor3fEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTSecondaryColor_glSecondaryColor3fEXT + (JNIEnv * env, jclass clazz, jfloat red, jfloat green, jfloat blue) +{ + CHECK_EXISTS(glSecondaryColor3fEXT) + glSecondaryColor3fEXT(red, green, blue); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTSecondaryColor + * Method: glSecondaryColor3ubEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTSecondaryColor_glSecondaryColor3ubEXT + (JNIEnv * env, jclass clazz, jbyte red, jbyte green, jbyte blue) +{ + CHECK_EXISTS(glSecondaryColor3ubEXT) + glSecondaryColor3ubEXT(red, green, blue); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTSecondaryColor + * Method: nglSecondaryColorPointerEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTSecondaryColor_nglSecondaryColorPointerEXT + (JNIEnv * env, jclass clazz, jint size, jint type, jint stride, jobject pPointer, jint pPointer_offset) +{ + CHECK_EXISTS(glSecondaryColorPointerEXT) + GLvoid *pPointer_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pPointer) + pPointer_offset); + glSecondaryColorPointerEXT(size, type, stride, pPointer_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTSecondaryColor + * Method: nglSecondaryColorPointerEXTVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTSecondaryColor_nglSecondaryColorPointerEXTVBO + (JNIEnv * env, jclass clazz, jint size, jint type, jint stride, jint buffer_offset) +{ + CHECK_EXISTS(glSecondaryColorPointerEXT) + glSecondaryColorPointerEXT(size, type, stride, (GLvoid *)buffer_offset); + CHECK_GL_ERROR +} diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTSecondaryColor.h b/src/native/common/ext/org_lwjgl_opengl_ext_EXTSecondaryColor.h new file mode 100644 index 00000000..0f4e479f --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTSecondaryColor.h @@ -0,0 +1,85 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ext.EXTSecondaryColor +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ext_EXTSecondaryColor +#define _Included_org_lwjgl_opengl_ext_EXTSecondaryColor + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ext.EXTSecondaryColor + * Method: glSecondaryColor3bEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTSecondaryColor_glSecondaryColor3bEXT + (JNIEnv *, jclass, jbyte, jbyte, jbyte); + +/* + * Class: org.lwjgl.opengl.ext.EXTSecondaryColor + * Method: glSecondaryColor3fEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTSecondaryColor_glSecondaryColor3fEXT + (JNIEnv *, jclass, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.ext.EXTSecondaryColor + * Method: glSecondaryColor3ubEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTSecondaryColor_glSecondaryColor3ubEXT + (JNIEnv *, jclass, jbyte, jbyte, jbyte); + +/* + * Class: org.lwjgl.opengl.ext.EXTSecondaryColor + * Method: nglSecondaryColorPointerEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTSecondaryColor_nglSecondaryColorPointerEXT + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTSecondaryColor + * Method: nglSecondaryColorPointerEXTVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTSecondaryColor_nglSecondaryColorPointerEXTVBO + (JNIEnv *, jclass, jint, jint, jint, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTStencilTwoSide.cpp b/src/native/common/ext/org_lwjgl_opengl_ext_EXTStencilTwoSide.cpp new file mode 100644 index 00000000..69ad5a6d --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTStencilTwoSide.cpp @@ -0,0 +1,51 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ext.EXTStencilTwoSide +// ---------------------------------- + +#include "org_lwjgl_opengl_ext_EXTStencilTwoSide.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ext.EXTStencilTwoSide + * Method: glActiveStencilFaceEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTStencilTwoSide_glActiveStencilFaceEXT + (JNIEnv * env, jclass clazz, jint face) +{ + CHECK_EXISTS(glActiveStencilFaceEXT) + glActiveStencilFaceEXT(face); + CHECK_GL_ERROR +} diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTStencilTwoSide.h b/src/native/common/ext/org_lwjgl_opengl_ext_EXTStencilTwoSide.h new file mode 100644 index 00000000..eb556e8b --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTStencilTwoSide.h @@ -0,0 +1,57 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ext.EXTStencilTwoSide +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ext_EXTStencilTwoSide +#define _Included_org_lwjgl_opengl_ext_EXTStencilTwoSide + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ext.EXTStencilTwoSide + * Method: glActiveStencilFaceEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTStencilTwoSide_glActiveStencilFaceEXT + (JNIEnv *, jclass, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexShader.cpp b/src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexShader.cpp new file mode 100644 index 00000000..33cbb418 --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexShader.cpp @@ -0,0 +1,572 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ext.EXTVertexShader +// ---------------------------------- + +#include "org_lwjgl_opengl_ext_EXTVertexShader.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glBeginVertexShaderEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glBeginVertexShaderEXT + (JNIEnv * env, jclass clazz) +{ + CHECK_EXISTS(glBeginVertexShaderEXT) + glBeginVertexShaderEXT(); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glEndVertexShaderEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glEndVertexShaderEXT + (JNIEnv * env, jclass clazz) +{ + CHECK_EXISTS(glEndVertexShaderEXT) + glEndVertexShaderEXT(); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glBindVertexShaderEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glBindVertexShaderEXT + (JNIEnv * env, jclass clazz, jint id) +{ + CHECK_EXISTS(glBindVertexShaderEXT) + glBindVertexShaderEXT(id); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glGenVertexShadersEXT + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glGenVertexShadersEXT + (JNIEnv * env, jclass clazz, jint range) +{ + CHECK_EXISTS(glGenVertexShadersEXT) + GLuint result = glGenVertexShadersEXT(range); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glDeleteVertexShaderEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glDeleteVertexShaderEXT + (JNIEnv * env, jclass clazz, jint id) +{ + CHECK_EXISTS(glDeleteVertexShaderEXT) + glDeleteVertexShaderEXT(id); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glShaderOp1EXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glShaderOp1EXT + (JNIEnv * env, jclass clazz, jint op, jint res, jint arg1) +{ + CHECK_EXISTS(glShaderOp1EXT) + glShaderOp1EXT(op, res, arg1); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glShaderOp2EXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glShaderOp2EXT + (JNIEnv * env, jclass clazz, jint op, jint res, jint arg1, jint arg2) +{ + CHECK_EXISTS(glShaderOp2EXT) + glShaderOp2EXT(op, res, arg1, arg2); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glShaderOp3EXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glShaderOp3EXT + (JNIEnv * env, jclass clazz, jint op, jint res, jint arg1, jint arg2, jint arg3) +{ + CHECK_EXISTS(glShaderOp3EXT) + glShaderOp3EXT(op, res, arg1, arg2, arg3); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glSwizzleEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glSwizzleEXT + (JNIEnv * env, jclass clazz, jint res, jint in, jint outX, jint outY, jint outZ, jint outW) +{ + CHECK_EXISTS(glSwizzleEXT) + glSwizzleEXT(res, in, outX, outY, outZ, outW); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glWriteMaskEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glWriteMaskEXT + (JNIEnv * env, jclass clazz, jint res, jint in, jint outX, jint outY, jint outZ, jint outW) +{ + CHECK_EXISTS(glWriteMaskEXT) + glWriteMaskEXT(res, in, outX, outY, outZ, outW); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glInsertComponentEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glInsertComponentEXT + (JNIEnv * env, jclass clazz, jint res, jint src, jint num) +{ + CHECK_EXISTS(glInsertComponentEXT) + glInsertComponentEXT(res, src, num); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glExtractComponentEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glExtractComponentEXT + (JNIEnv * env, jclass clazz, jint res, jint src, jint num) +{ + CHECK_EXISTS(glExtractComponentEXT) + glExtractComponentEXT(res, src, num); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glGenSymbolsEXT + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glGenSymbolsEXT + (JNIEnv * env, jclass clazz, jint dataType, jint storageType, jint range, jint components) +{ + CHECK_EXISTS(glGenSymbolsEXT) + GLuint result = glGenSymbolsEXT(dataType, storageType, range, components); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglSetInvariantEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglSetInvariantEXT + (JNIEnv * env, jclass clazz, jint id, jint type, jobject pAddr, jint pAddr_offset) +{ + CHECK_EXISTS(glSetInvariantEXT) + GLvoid *pAddr_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pAddr) + pAddr_offset); + glSetInvariantEXT(id, type, pAddr_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglSetLocalConstantEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglSetLocalConstantEXT + (JNIEnv * env, jclass clazz, jint id, jint type, jobject pAddr, jint pAddr_offset) +{ + CHECK_EXISTS(glSetLocalConstantEXT) + GLvoid *pAddr_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pAddr) + pAddr_offset); + glSetLocalConstantEXT(id, type, pAddr_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantbvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantbvEXT + (JNIEnv * env, jclass clazz, jint id, jobject pAddr, jint pAddr_offset) +{ + CHECK_EXISTS(glVariantbvEXT) + GLbyte *pAddr_ptr = (GLbyte *)env->GetDirectBufferAddress(pAddr) + pAddr_offset; + glVariantbvEXT(id, pAddr_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantsvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantsvEXT + (JNIEnv * env, jclass clazz, jint id, jobject psAddr, jint psAddr_offset) +{ + CHECK_EXISTS(glVariantsvEXT) + GLshort *psAddr_ptr = (GLshort *)env->GetDirectBufferAddress(psAddr) + psAddr_offset; + glVariantsvEXT(id, psAddr_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantfvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantfvEXT + (JNIEnv * env, jclass clazz, jint id, jobject pfAddr, jint pfAddr_offset) +{ + CHECK_EXISTS(glVariantfvEXT) + GLfloat *pfAddr_ptr = (GLfloat *)env->GetDirectBufferAddress(pfAddr) + pfAddr_offset; + glVariantfvEXT(id, pfAddr_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantivEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantivEXT + (JNIEnv * env, jclass clazz, jint id, jobject piAddr, jint piAddr_offset) +{ + CHECK_EXISTS(glVariantivEXT) + GLint *piAddr_ptr = (GLint *)env->GetDirectBufferAddress(piAddr) + piAddr_offset; + glVariantivEXT(id, piAddr_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantubvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantubvEXT + (JNIEnv * env, jclass clazz, jint id, jobject pAddr, jint pAddr_offset) +{ + CHECK_EXISTS(glVariantubvEXT) + GLubyte *pAddr_ptr = (GLubyte *)env->GetDirectBufferAddress(pAddr) + pAddr_offset; + glVariantubvEXT(id, pAddr_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantusvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantusvEXT + (JNIEnv * env, jclass clazz, jint id, jobject psAddr, jint psAddr_offset) +{ + CHECK_EXISTS(glVariantusvEXT) + GLushort *psAddr_ptr = (GLushort *)env->GetDirectBufferAddress(psAddr) + psAddr_offset; + glVariantusvEXT(id, psAddr_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantuivEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantuivEXT + (JNIEnv * env, jclass clazz, jint id, jobject piAddr, jint piAddr_offset) +{ + CHECK_EXISTS(glVariantuivEXT) + GLuint *piAddr_ptr = (GLuint *)env->GetDirectBufferAddress(piAddr) + piAddr_offset; + glVariantuivEXT(id, piAddr_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantPointerEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantPointerEXT + (JNIEnv * env, jclass clazz, jint id, jint type, jint stride, jobject pAddr, jint pAddr_offset) +{ + CHECK_EXISTS(glVariantPointerEXT) + GLvoid *pAddr_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pAddr) + pAddr_offset); + glVariantPointerEXT(id, type, stride, pAddr_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantPointerEXTVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantPointerEXTVBO + (JNIEnv * env, jclass clazz, jint id, jint type, jint stride, jint buffer_offset) +{ + CHECK_EXISTS(glVariantPointerEXT) + glVariantPointerEXT(id, type, stride, (GLvoid *)buffer_offset); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glEnableVariantClientStateEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glEnableVariantClientStateEXT + (JNIEnv * env, jclass clazz, jint id) +{ + CHECK_EXISTS(glEnableVariantClientStateEXT) + glEnableVariantClientStateEXT(id); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glDisableVariantClientStateEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glDisableVariantClientStateEXT + (JNIEnv * env, jclass clazz, jint id) +{ + CHECK_EXISTS(glDisableVariantClientStateEXT) + glDisableVariantClientStateEXT(id); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glBindLightParameterEXT + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glBindLightParameterEXT + (JNIEnv * env, jclass clazz, jint light, jint value) +{ + CHECK_EXISTS(glBindLightParameterEXT) + GLuint result = glBindLightParameterEXT(light, value); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glBindMaterialParameterEXT + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glBindMaterialParameterEXT + (JNIEnv * env, jclass clazz, jint face, jint value) +{ + CHECK_EXISTS(glBindMaterialParameterEXT) + GLuint result = glBindMaterialParameterEXT(face, value); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glBindTexGenParameterEXT + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glBindTexGenParameterEXT + (JNIEnv * env, jclass clazz, jint unit, jint coord, jint value) +{ + CHECK_EXISTS(glBindTexGenParameterEXT) + GLuint result = glBindTexGenParameterEXT(unit, coord, value); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glBindTextureUnitParameterEXT + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glBindTextureUnitParameterEXT + (JNIEnv * env, jclass clazz, jint unit, jint value) +{ + CHECK_EXISTS(glBindTextureUnitParameterEXT) + GLuint result = glBindTextureUnitParameterEXT(unit, value); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glBindParameterEXT + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glBindParameterEXT + (JNIEnv * env, jclass clazz, jint value) +{ + CHECK_EXISTS(glBindParameterEXT) + GLuint result = glBindParameterEXT(value); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glIsVariantEnabledEXT + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glIsVariantEnabledEXT + (JNIEnv * env, jclass clazz, jint id, jint cap) +{ + CHECK_EXISTS(glIsVariantEnabledEXT) + GLboolean result = glIsVariantEnabledEXT(id, cap); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetVariantBooleanvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetVariantBooleanvEXT + (JNIEnv * env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_offset) +{ + CHECK_EXISTS(glGetVariantBooleanvEXT) + GLubyte *pbData_ptr = (GLubyte *)env->GetDirectBufferAddress(pbData) + pbData_offset; + glGetVariantBooleanvEXT(id, value, pbData_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetVariantIntegervEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetVariantIntegervEXT + (JNIEnv * env, jclass clazz, jint id, jint value, jobject piData, jint piData_offset) +{ + CHECK_EXISTS(glGetVariantIntegervEXT) + GLint *piData_ptr = (GLint *)env->GetDirectBufferAddress(piData) + piData_offset; + glGetVariantIntegervEXT(id, value, piData_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetVariantFloatvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetVariantFloatvEXT + (JNIEnv * env, jclass clazz, jint id, jint value, jobject pfData, jint pfData_offset) +{ + CHECK_EXISTS(glGetVariantFloatvEXT) + GLfloat *pfData_ptr = (GLfloat *)env->GetDirectBufferAddress(pfData) + pfData_offset; + glGetVariantFloatvEXT(id, value, pfData_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glGetVariantPointerEXT + */ +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glGetVariantPointerEXT + (JNIEnv * env, jclass clazz, jint id, jint value, jint size) +{ + CHECK_EXISTS(glGetVariantPointervEXT) + void *address; + glGetVariantPointervEXT((GLuint)id, (GLuint)value, &address); + CHECK_GL_ERROR + return safeNewBuffer(env, address, size); +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetInvariantBooleanvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetInvariantBooleanvEXT + (JNIEnv * env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_offset) +{ + CHECK_EXISTS(glGetInvariantBooleanvEXT) + GLubyte *pbData_ptr = (GLubyte *)env->GetDirectBufferAddress(pbData) + pbData_offset; + glGetInvariantBooleanvEXT(id, value, pbData_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetInvariantIntegervEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetInvariantIntegervEXT + (JNIEnv * env, jclass clazz, jint id, jint value, jobject piData, jint piData_offset) +{ + CHECK_EXISTS(glGetInvariantIntegervEXT) + GLint *piData_ptr = (GLint *)env->GetDirectBufferAddress(piData) + piData_offset; + glGetInvariantIntegervEXT(id, value, piData_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetInvariantFloatvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetInvariantFloatvEXT + (JNIEnv * env, jclass clazz, jint id, jint value, jobject pfData, jint pfData_offset) +{ + CHECK_EXISTS(glGetInvariantFloatvEXT) + GLfloat *pfData_ptr = (GLfloat *)env->GetDirectBufferAddress(pfData) + pfData_offset; + glGetInvariantFloatvEXT(id, value, pfData_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetLocalConstantBooleanvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetLocalConstantBooleanvEXT + (JNIEnv * env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_offset) +{ + CHECK_EXISTS(glGetLocalConstantBooleanvEXT) + GLubyte *pbData_ptr = (GLubyte *)env->GetDirectBufferAddress(pbData) + pbData_offset; + glGetLocalConstantBooleanvEXT(id, value, pbData_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetLocalConstantIntegervEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetLocalConstantIntegervEXT + (JNIEnv * env, jclass clazz, jint id, jint value, jobject piData, jint piData_offset) +{ + CHECK_EXISTS(glGetLocalConstantIntegervEXT) + GLint *piData_ptr = (GLint *)env->GetDirectBufferAddress(piData) + piData_offset; + glGetLocalConstantIntegervEXT(id, value, piData_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetLocalConstantFloatvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetLocalConstantFloatvEXT + (JNIEnv * env, jclass clazz, jint id, jint value, jobject pfData, jint pfData_offset) +{ + CHECK_EXISTS(glGetLocalConstantFloatvEXT) + GLfloat *pfData_ptr = (GLfloat *)env->GetDirectBufferAddress(pfData) + pfData_offset; + glGetLocalConstantFloatvEXT(id, value, pfData_ptr); + CHECK_GL_ERROR +} diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexShader.h b/src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexShader.h new file mode 100644 index 00000000..639f29b8 --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexShader.h @@ -0,0 +1,344 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ext.EXTVertexShader +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ext_EXTVertexShader +#define _Included_org_lwjgl_opengl_ext_EXTVertexShader + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glBeginVertexShaderEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glBeginVertexShaderEXT + (JNIEnv *, jclass); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glEndVertexShaderEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glEndVertexShaderEXT + (JNIEnv *, jclass); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glBindVertexShaderEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glBindVertexShaderEXT + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glGenVertexShadersEXT + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glGenVertexShadersEXT + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glDeleteVertexShaderEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glDeleteVertexShaderEXT + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glShaderOp1EXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glShaderOp1EXT + (JNIEnv *, jclass, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glShaderOp2EXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glShaderOp2EXT + (JNIEnv *, jclass, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glShaderOp3EXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glShaderOp3EXT + (JNIEnv *, jclass, jint, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glSwizzleEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glSwizzleEXT + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glWriteMaskEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glWriteMaskEXT + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glInsertComponentEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glInsertComponentEXT + (JNIEnv *, jclass, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glExtractComponentEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glExtractComponentEXT + (JNIEnv *, jclass, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glGenSymbolsEXT + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glGenSymbolsEXT + (JNIEnv *, jclass, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglSetInvariantEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglSetInvariantEXT + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglSetLocalConstantEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglSetLocalConstantEXT + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantbvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantbvEXT + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantsvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantsvEXT + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantfvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantfvEXT + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantivEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantivEXT + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantubvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantubvEXT + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantusvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantusvEXT + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantuivEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantuivEXT + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantPointerEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantPointerEXT + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglVariantPointerEXTVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglVariantPointerEXTVBO + (JNIEnv *, jclass, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glEnableVariantClientStateEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glEnableVariantClientStateEXT + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glDisableVariantClientStateEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glDisableVariantClientStateEXT + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glBindLightParameterEXT + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glBindLightParameterEXT + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glBindMaterialParameterEXT + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glBindMaterialParameterEXT + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glBindTexGenParameterEXT + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glBindTexGenParameterEXT + (JNIEnv *, jclass, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glBindTextureUnitParameterEXT + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glBindTextureUnitParameterEXT + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glBindParameterEXT + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glBindParameterEXT + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glIsVariantEnabledEXT + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glIsVariantEnabledEXT + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetVariantBooleanvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetVariantBooleanvEXT + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetVariantIntegervEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetVariantIntegervEXT + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetVariantFloatvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetVariantFloatvEXT + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: glGetVariantPointerEXT + */ +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_glGetVariantPointerEXT + (JNIEnv *, jclass, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetInvariantBooleanvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetInvariantBooleanvEXT + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetInvariantIntegervEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetInvariantIntegervEXT + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetInvariantFloatvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetInvariantFloatvEXT + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetLocalConstantBooleanvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetLocalConstantBooleanvEXT + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetLocalConstantIntegervEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetLocalConstantIntegervEXT + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexShader + * Method: nglGetLocalConstantFloatvEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexShader_nglGetLocalConstantFloatvEXT + (JNIEnv *, jclass, jint, jint, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexWeighting.cpp b/src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexWeighting.cpp new file mode 100644 index 00000000..b7e254e0 --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexWeighting.cpp @@ -0,0 +1,76 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ext.EXTVertexWeighting +// ---------------------------------- + +#include "org_lwjgl_opengl_ext_EXTVertexWeighting.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexWeighting + * Method: glVertexWeightfEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexWeighting_glVertexWeightfEXT + (JNIEnv * env, jclass clazz, jfloat weight) +{ + CHECK_EXISTS(glVertexWeightfEXT) + glVertexWeightfEXT(weight); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexWeighting + * Method: nglVertexWeightPointerEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexWeighting_nglVertexWeightPointerEXT + (JNIEnv * env, jclass clazz, jint size, jint type, jint stride, jobject pPointer, jint pPointer_offset) +{ + CHECK_EXISTS(glVertexWeightPointerEXT) + GLvoid *pPointer_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pPointer) + pPointer_offset); + glVertexWeightPointerEXT(size, type, stride, pPointer_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexWeighting + * Method: nglVertexWeightPointerEXTVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexWeighting_nglVertexWeightPointerEXTVBO + (JNIEnv * env, jclass clazz, jint size, jint type, jint stride, jint buffer_offset) +{ + CHECK_EXISTS(glVertexWeightPointerEXT) + glVertexWeightPointerEXT(size, type, stride, (GLvoid *)buffer_offset); + CHECK_GL_ERROR +} diff --git a/src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexWeighting.h b/src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexWeighting.h new file mode 100644 index 00000000..6fd51a48 --- /dev/null +++ b/src/native/common/ext/org_lwjgl_opengl_ext_EXTVertexWeighting.h @@ -0,0 +1,71 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.ext.EXTVertexWeighting +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_ext_EXTVertexWeighting +#define _Included_org_lwjgl_opengl_ext_EXTVertexWeighting + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexWeighting + * Method: glVertexWeightfEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexWeighting_glVertexWeightfEXT + (JNIEnv *, jclass, jfloat); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexWeighting + * Method: nglVertexWeightPointerEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexWeighting_nglVertexWeightPointerEXT + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.ext.EXTVertexWeighting + * Method: nglVertexWeightPointerEXTVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ext_EXTVertexWeighting_nglVertexWeightPointerEXTVBO + (JNIEnv *, jclass, jint, jint, jint, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/extgl.cpp b/src/native/common/extgl.cpp index 1cc2bc8a..aff8b2b3 100755 --- a/src/native/common/extgl.cpp +++ b/src/native/common/extgl.cpp @@ -1042,6 +1042,13 @@ glDrawRangeElementArrayATIPROC glDrawRangeElementArrayATI = NULL; glClientActiveVertexStreamATIPROC glClientActiveVertexStreamATI = NULL; glVertexBlendEnviATIPROC glVertexBlendEnviATI = NULL; glVertexBlendEnvfATIPROC glVertexBlendEnvfATI = NULL; +glVertexStream1sATIPROC glVertexStream1sATI = NULL; +glVertexStream1svATIPROC glVertexStream1svATI = NULL; +glVertexStream1iATIPROC glVertexStream1iATI = NULL; +glVertexStream1ivATIPROC glVertexStream1ivATI = NULL; +glVertexStream1fATIPROC glVertexStream1fATI = NULL; +glVertexStream1fvATIPROC glVertexStream1fvATI = NULL; +glVertexStream1dATIPROC glVertexStream1dATI = NULL; glVertexStream2sATIPROC glVertexStream2sATI = NULL; glVertexStream2svATIPROC glVertexStream2svATI = NULL; glVertexStream2iATIPROC glVertexStream2iATI = NULL; @@ -1265,6 +1272,12 @@ glProgramNamedParameter4fvNVPROC glProgramNamedParameter4fvNV = NULL; glProgramNamedParameter4dvNVPROC glProgramNamedParameter4dvNV = NULL; glGetProgramNamedParameterfvNVPROC glGetProgramNamedParameterfvNV = NULL; glGetProgramNamedParameterdvNVPROC glGetProgramNamedParameterdvNV = NULL; +glProgramLocalParameter4dNVPROC glProgramLocalParameter4dNV = NULL; +glProgramLocalParameter4dvNVPROC glProgramLocalParameter4dvNV = NULL; +glProgramLocalParameter4fNVPROC glProgramLocalParameter4fNV = NULL; +glProgramLocalParameter4fvNVPROC glProgramLocalParameter4fvNV = NULL; +glGetProgramLocalParameterdvNVPROC glGetProgramLocalParameterdvNV = NULL; +glGetProgramLocalParameterfvNVPROC glGetProgramLocalParameterfvNV = NULL; glProgramLocalParameter4dARBPROC glProgramLocalParameter4dARB = NULL; glProgramLocalParameter4dvARBPROC glProgramLocalParameter4dvARB = NULL; glProgramLocalParameter4fARBPROC glProgramLocalParameter4fARB = NULL; @@ -1712,12 +1725,12 @@ static void extgl_InitNVFragmentProgram(JNIEnv *env, jobject ext_set) glProgramNamedParameter4dvNV = (glProgramNamedParameter4dvNVPROC) extgl_GetProcAddress("glProgramNamedParameter4dvNV"); glGetProgramNamedParameterfvNV = (glGetProgramNamedParameterfvNVPROC) extgl_GetProcAddress("glGetProgramNamedParameterfvNV"); glGetProgramNamedParameterdvNV = (glGetProgramNamedParameterdvNVPROC) extgl_GetProcAddress("glGetProgramNamedParameterdvNV"); - glProgramLocalParameter4dARB = (glProgramLocalParameter4dARBPROC) extgl_GetProcAddress("glProgramLocalParameter4dARB"); - glProgramLocalParameter4dvARB = (glProgramLocalParameter4dvARBPROC) extgl_GetProcAddress("glProgramLocalParameter4dvARB"); - glProgramLocalParameter4fARB = (glProgramLocalParameter4fARBPROC) extgl_GetProcAddress("glProgramLocalParameter4fARB"); - glProgramLocalParameter4fvARB = (glProgramLocalParameter4fvARBPROC) extgl_GetProcAddress("glProgramLocalParameter4fvARB"); - glGetProgramLocalParameterdvARB = (glGetProgramLocalParameterdvARBPROC) extgl_GetProcAddress("glGetProgramLocalParameterdvARB"); - glGetProgramLocalParameterfvARB = (glGetProgramLocalParameterfvARBPROC) extgl_GetProcAddress("glGetProgramLocalParameterfvARB"); + glProgramLocalParameter4dNV = (glProgramLocalParameter4dNVPROC) extgl_GetProcAddress("glProgramLocalParameter4dNV"); + glProgramLocalParameter4dvNV = (glProgramLocalParameter4dvNVPROC) extgl_GetProcAddress("glProgramLocalParameter4dvNV"); + glProgramLocalParameter4fNV = (glProgramLocalParameter4fNVPROC) extgl_GetProcAddress("glProgramLocalParameter4fNV"); + glProgramLocalParameter4fvNV = (glProgramLocalParameter4fvNVPROC) extgl_GetProcAddress("glProgramLocalParameter4fvNV"); + glGetProgramLocalParameterdvNV = (glGetProgramLocalParameterdvNVPROC) extgl_GetProcAddress("glGetProgramLocalParameterdvNV"); + glGetProgramLocalParameterfvNV = (glGetProgramLocalParameterfvNVPROC) extgl_GetProcAddress("glGetProgramLocalParameterfvNV"); EXTGL_SANITY_CHECK(env, ext_set, GL_NV_fragment_program) } @@ -1932,6 +1945,14 @@ static void extgl_InitATIVertexStreams(JNIEnv *env, jobject ext_set) glClientActiveVertexStreamATI = (glClientActiveVertexStreamATIPROC) extgl_GetProcAddress("glClientActiveVertexStreamATI"); glVertexBlendEnviATI = (glVertexBlendEnviATIPROC) extgl_GetProcAddress("glVertexBlendEnviATI"); glVertexBlendEnvfATI = (glVertexBlendEnvfATIPROC) extgl_GetProcAddress("glVertexBlendEnvfATI"); + glVertexStream1sATI = (glVertexStream1sATIPROC) extgl_GetProcAddress("glVertexStream1sATI"); + glVertexStream1svATI = (glVertexStream1svATIPROC) extgl_GetProcAddress("glVertexStream1svATI"); + glVertexStream1iATI = (glVertexStream1iATIPROC) extgl_GetProcAddress("glVertexStream1iATI"); + glVertexStream1ivATI = (glVertexStream1ivATIPROC) extgl_GetProcAddress("glVertexStream1ivATI"); + glVertexStream1fATI = (glVertexStream1fATIPROC) extgl_GetProcAddress("glVertexStream1fATI"); + glVertexStream1fvATI = (glVertexStream1fvATIPROC) extgl_GetProcAddress("glVertexStream1fvATI"); + glVertexStream1dATI = (glVertexStream1dATIPROC) extgl_GetProcAddress("glVertexStream1dATI"); + glVertexStream1dvATI = (glVertexStream1dvATIPROC) extgl_GetProcAddress("glVertexStream1dvATI"); glVertexStream2sATI = (glVertexStream2sATIPROC) extgl_GetProcAddress("glVertexStream2sATI"); glVertexStream2svATI = (glVertexStream2svATIPROC) extgl_GetProcAddress("glVertexStream2svATI"); glVertexStream2iATI = (glVertexStream2iATIPROC) extgl_GetProcAddress("glVertexStream2iATI"); diff --git a/src/native/common/extgl.h b/src/native/common/extgl.h index 6603a6b3..8ea4333b 100644 --- a/src/native/common/extgl.h +++ b/src/native/common/extgl.h @@ -4526,6 +4526,14 @@ extern glDrawRangeElementArrayATIPROC glDrawRangeElementArrayATI; typedef void (APIENTRY * glClientActiveVertexStreamATIPROC) (GLenum stream); typedef void (APIENTRY * glVertexBlendEnviATIPROC) (GLenum pname, GLint param); typedef void (APIENTRY * glVertexBlendEnvfATIPROC) (GLenum pname, GLfloat param); +typedef void (APIENTRY * glVertexStream1sATIPROC) (GLenum stream, GLshort x); +typedef void (APIENTRY * glVertexStream1svATIPROC) (GLenum stream, const GLshort *v); +typedef void (APIENTRY * glVertexStream1iATIPROC) (GLenum stream, GLint x); +typedef void (APIENTRY * glVertexStream1ivATIPROC) (GLenum stream, const GLint *v); +typedef void (APIENTRY * glVertexStream1fATIPROC) (GLenum stream, GLfloat x); +typedef void (APIENTRY * glVertexStream1fvATIPROC) (GLenum stream, const GLfloat *v); +typedef void (APIENTRY * glVertexStream1dATIPROC) (GLenum stream, GLdouble x); +typedef void (APIENTRY * glVertexStream1dvATIPROC) (GLenum stream, const GLdouble *v); typedef void (APIENTRY * glVertexStream2sATIPROC) (GLenum stream, GLshort x, GLshort y); typedef void (APIENTRY * glVertexStream2svATIPROC) (GLenum stream, const GLshort *v); typedef void (APIENTRY * glVertexStream2iATIPROC) (GLenum stream, GLint x, GLint y); @@ -4565,6 +4573,14 @@ typedef void (APIENTRY * glNormalStream3dvATIPROC) (GLenum stream, const GLdoubl extern glClientActiveVertexStreamATIPROC glClientActiveVertexStreamATI; extern glVertexBlendEnviATIPROC glVertexBlendEnviATI; extern glVertexBlendEnvfATIPROC glVertexBlendEnvfATI; +extern glVertexStream1sATIPROC glVertexStream1sATI; +extern glVertexStream1svATIPROC glVertexStream1svATI; +extern glVertexStream1iATIPROC glVertexStream1iATI; +extern glVertexStream1ivATIPROC glVertexStream1ivATI; +extern glVertexStream1fATIPROC glVertexStream1fATI; +extern glVertexStream1fvATIPROC glVertexStream1fvATI; +extern glVertexStream1dATIPROC glVertexStream1dATI; +extern glVertexStream1dvATIPROC glVertexStream1dvATI; extern glVertexStream2sATIPROC glVertexStream2sATI; extern glVertexStream2svATIPROC glVertexStream2svATI; extern glVertexStream2iATIPROC glVertexStream2iATI; @@ -5171,8 +5187,14 @@ typedef void (APIENTRY * glProgramNamedParameter4fNVPROC) (GLuint id, GLsizei le typedef void (APIENTRY * glProgramNamedParameter4dNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); typedef void (APIENTRY * glProgramNamedParameter4fvNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLfloat v[]); typedef void (APIENTRY * glProgramNamedParameter4dvNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLdouble v[]); +typedef void (APIENTRY * glProgramLocalParameter4dNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRY * glProgramLocalParameter4dvNVPROC) (GLenum target, GLuint index, const GLdouble *params); +typedef void (APIENTRY * glProgramLocalParameter4fNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRY * glProgramLocalParameter4fvNVPROC) (GLenum target, GLuint index, const GLfloat *params); typedef void (APIENTRY * glGetProgramNamedParameterfvNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params); typedef void (APIENTRY * glGetProgramNamedParameterdvNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params); +typedef void (APIENTRY * glGetProgramLocalParameterdvNVPROC) (GLenum target, GLuint index, GLdouble *params); +typedef void (APIENTRY * glGetProgramLocalParameterfvNVPROC) (GLenum target, GLuint index, GLfloat *params); typedef void (APIENTRY * glProgramLocalParameter4dARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); typedef void (APIENTRY * glProgramLocalParameter4dvARBPROC) (GLenum target, GLuint index, const GLdouble *params); @@ -5185,8 +5207,14 @@ extern glProgramNamedParameter4fNVPROC glProgramNamedParameter4fNV; extern glProgramNamedParameter4dNVPROC glProgramNamedParameter4dNV; extern glProgramNamedParameter4fvNVPROC glProgramNamedParameter4fvNV; extern glProgramNamedParameter4dvNVPROC glProgramNamedParameter4dvNV; +extern glProgramLocalParameter4dNVPROC glProgramLocalParameter4dNV; +extern glProgramLocalParameter4dvNVPROC glProgramLocalParameter4dvNV; +extern glProgramLocalParameter4fNVPROC glProgramLocalParameter4fNV; +extern glProgramLocalParameter4fvNVPROC glProgramLocalParameter4fvNV; extern glGetProgramNamedParameterfvNVPROC glGetProgramNamedParameterfvNV; extern glGetProgramNamedParameterdvNVPROC glGetProgramNamedParameterdvNV; +extern glGetProgramLocalParameterdvNVPROC glGetProgramLocalParameterdvNV; +extern glGetProgramLocalParameterfvNVPROC glGetProgramLocalParameterfvNV; extern glProgramLocalParameter4dARBPROC glProgramLocalParameter4dARB; extern glProgramLocalParameter4dvARBPROC glProgramLocalParameter4dvARB; diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVEvaluators.cpp b/src/native/common/nv/org_lwjgl_opengl_nv_NVEvaluators.cpp new file mode 100644 index 00000000..e70b9cf4 --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVEvaluators.cpp @@ -0,0 +1,155 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.nv.NVEvaluators +// ---------------------------------- + +#include "org_lwjgl_opengl_nv_NVEvaluators.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglGetMapControlPointsNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglGetMapControlPointsNV + (JNIEnv * env, jclass clazz, jint target, jint index, jint type, jint ustride, jint vstride, jboolean packed, jobject pPoints, jint pPoints_offset) +{ + CHECK_EXISTS(glGetMapControlPointsNV) + GLvoid *pPoints_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pPoints) + pPoints_offset); + glGetMapControlPointsNV(target, index, type, ustride, vstride, packed, pPoints_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglMapControlPointsNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglMapControlPointsNV + (JNIEnv * env, jclass clazz, jint target, jint index, jint type, jint ustride, jint vstride, jint uorder, jint vorder, jboolean packed, jobject pPoints, jint pPoints_offset) +{ + CHECK_EXISTS(glMapControlPointsNV) + GLvoid *pPoints_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pPoints) + pPoints_offset); + glMapControlPointsNV(target, index, type, ustride, vstride, uorder, vorder, packed, pPoints_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglMapParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglMapParameterfvNV + (JNIEnv * env, jclass clazz, jint target, jint pname, jobject pfParams, jint pfParams_offset) +{ + CHECK_EXISTS(glMapParameterfvNV) + GLfloat *pfParams_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParams) + pfParams_offset; + glMapParameterfvNV(target, pname, pfParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglMapParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglMapParameterivNV + (JNIEnv * env, jclass clazz, jint target, jint pname, jobject piParams, jint piParams_offset) +{ + CHECK_EXISTS(glMapParameterivNV) + GLint *piParams_ptr = (GLint *)env->GetDirectBufferAddress(piParams) + piParams_offset; + glMapParameterivNV(target, pname, piParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglGetMapParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglGetMapParameterfvNV + (JNIEnv * env, jclass clazz, jint target, jint pname, jobject pfParams, jint pfParams_offset) +{ + CHECK_EXISTS(glGetMapParameterfvNV) + GLfloat *pfParams_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParams) + pfParams_offset; + glGetMapParameterfvNV(target, pname, pfParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglGetMapParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglGetMapParameterivNV + (JNIEnv * env, jclass clazz, jint target, jint pname, jobject piParams, jint piParams_offset) +{ + CHECK_EXISTS(glGetMapParameterivNV) + GLint *piParams_ptr = (GLint *)env->GetDirectBufferAddress(piParams) + piParams_offset; + glGetMapParameterivNV(target, pname, piParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglGetMapAttribParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglGetMapAttribParameterfvNV + (JNIEnv * env, jclass clazz, jint target, jint index, jint pname, jobject pfParams, jint pfParams_offset) +{ + CHECK_EXISTS(glGetMapAttribParameterfvNV) + GLfloat *pfParams_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParams) + pfParams_offset; + glGetMapAttribParameterfvNV(target, index, pname, pfParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglGetMapAttribParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglGetMapAttribParameterivNV + (JNIEnv * env, jclass clazz, jint target, jint index, jint pname, jobject piParams, jint piParams_offset) +{ + CHECK_EXISTS(glGetMapAttribParameterivNV) + GLint *piParams_ptr = (GLint *)env->GetDirectBufferAddress(piParams) + piParams_offset; + glGetMapAttribParameterivNV(target, index, pname, piParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: glEvalMapsNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_glEvalMapsNV + (JNIEnv * env, jclass clazz, jint target, jint mode) +{ + CHECK_EXISTS(glEvalMapsNV) + glEvalMapsNV(target, mode); + CHECK_GL_ERROR +} diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVEvaluators.h b/src/native/common/nv/org_lwjgl_opengl_nv_NVEvaluators.h new file mode 100644 index 00000000..632eb904 --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVEvaluators.h @@ -0,0 +1,113 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.nv.NVEvaluators +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_nv_NVEvaluators +#define _Included_org_lwjgl_opengl_nv_NVEvaluators + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglGetMapControlPointsNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglGetMapControlPointsNV + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jboolean, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglMapControlPointsNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglMapControlPointsNV + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint, jint, jboolean, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglMapParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglMapParameterfvNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglMapParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglMapParameterivNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglGetMapParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglGetMapParameterfvNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglGetMapParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglGetMapParameterivNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglGetMapAttribParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglGetMapAttribParameterfvNV + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: nglGetMapAttribParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_nglGetMapAttribParameterivNV + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVEvaluators + * Method: glEvalMapsNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVEvaluators_glEvalMapsNV + (JNIEnv *, jclass, jint, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVFence.cpp b/src/native/common/nv/org_lwjgl_opengl_nv_NVFence.cpp new file mode 100644 index 00000000..075e7a32 --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVFence.cpp @@ -0,0 +1,128 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.nv.NVFence +// ---------------------------------- + +#include "org_lwjgl_opengl_nv_NVFence.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.nv.NVFence + * Method: nglGenFencesNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFence_nglGenFencesNV + (JNIEnv * env, jclass clazz, jint n, jobject piFences, jint piFences_offset) +{ + CHECK_EXISTS(glGenFencesNV) + GLuint *piFences_ptr = (GLuint *)env->GetDirectBufferAddress(piFences) + piFences_offset; + glGenFencesNV(n, piFences_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVFence + * Method: nglDeleteFencesNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFence_nglDeleteFencesNV + (JNIEnv * env, jclass clazz, jint n, jobject piFences, jint piFences_offset) +{ + CHECK_EXISTS(glDeleteFencesNV) + GLuint *piFences_ptr = (GLuint *)env->GetDirectBufferAddress(piFences) + piFences_offset; + glDeleteFencesNV(n, piFences_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVFence + * Method: glSetFenceNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFence_glSetFenceNV + (JNIEnv * env, jclass clazz, jint fence, jint condition) +{ + CHECK_EXISTS(glSetFenceNV) + glSetFenceNV(fence, condition); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVFence + * Method: glTestFenceNV + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_nv_NVFence_glTestFenceNV + (JNIEnv * env, jclass clazz, jint fence) +{ + CHECK_EXISTS(glTestFenceNV) + GLboolean result = glTestFenceNV(fence); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.nv.NVFence + * Method: glFinishFenceNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFence_glFinishFenceNV + (JNIEnv * env, jclass clazz, jint fence) +{ + CHECK_EXISTS(glFinishFenceNV) + glFinishFenceNV(fence); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVFence + * Method: glIsFenceNV + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_nv_NVFence_glIsFenceNV + (JNIEnv * env, jclass clazz, jint fence) +{ + CHECK_EXISTS(glIsFenceNV) + GLboolean result = glIsFenceNV(fence); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.nv.NVFence + * Method: nglGetFenceivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFence_nglGetFenceivNV + (JNIEnv * env, jclass clazz, jint fence, jint pname, jobject piParams, jint piParams_offset) +{ + CHECK_EXISTS(glGetFenceivNV) + GLint *piParams_ptr = (GLint *)env->GetDirectBufferAddress(piParams) + piParams_offset; + glGetFenceivNV(fence, pname, piParams_ptr); + CHECK_GL_ERROR +} diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVFence.h b/src/native/common/nv/org_lwjgl_opengl_nv_NVFence.h new file mode 100644 index 00000000..2994b98a --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVFence.h @@ -0,0 +1,99 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.nv.NVFence +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_nv_NVFence +#define _Included_org_lwjgl_opengl_nv_NVFence + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.nv.NVFence + * Method: nglGenFencesNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFence_nglGenFencesNV + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVFence + * Method: nglDeleteFencesNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFence_nglDeleteFencesNV + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVFence + * Method: glSetFenceNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFence_glSetFenceNV + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVFence + * Method: glTestFenceNV + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_nv_NVFence_glTestFenceNV + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVFence + * Method: glFinishFenceNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFence_glFinishFenceNV + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVFence + * Method: glIsFenceNV + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_nv_NVFence_glIsFenceNV + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVFence + * Method: nglGetFenceivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFence_nglGetFenceivNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVFragmentProgram.cpp b/src/native/common/nv/org_lwjgl_opengl_nv_NVFragmentProgram.cpp new file mode 100644 index 00000000..43c50371 --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVFragmentProgram.cpp @@ -0,0 +1,91 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.nv.NVFragmentProgram +// ---------------------------------- + +#include "org_lwjgl_opengl_nv_NVFragmentProgram.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.nv.NVFragmentProgram + * Method: nglProgramNamedParameter4fNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFragmentProgram_nglProgramNamedParameter4fNV + (JNIEnv * env, jclass clazz, jint id, jint length, jobject name, jint nameOffset, jfloat x, jfloat y, jfloat z, jfloat w) +{ + CHECK_EXISTS(glProgramNamedParameter4fNV) + GLubyte *name_ptr = (GLubyte *)env->GetDirectBufferAddress(name) + nameOffset; + glProgramNamedParameter4fNV(id, length, name_ptr, x, y, z, w); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVFragmentProgram + * Method: nglGetProgramNamedParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFragmentProgram_nglGetProgramNamedParameterfvNV + (JNIEnv * env, jclass clazz, jint id, jint length, jobject name, jint nameOffset, jobject params, jint paramsOffset) +{ + CHECK_EXISTS(glGetProgramNamedParameterfvNV) + GLubyte *name_ptr = (GLubyte *)env->GetDirectBufferAddress(name) + nameOffset; + GLfloat *params_ptr = (GLfloat *)env->GetDirectBufferAddress(params) + paramsOffset; + glGetProgramNamedParameterfvNV(id, length, name_ptr, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVFragmentProgram + * Method: glProgramLocalParameter4fNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFragmentProgram_glProgramLocalParameter4fNV + (JNIEnv * env, jclass clazz, jint target, jint index, jfloat x, jfloat y, jfloat z, jfloat w) +{ + CHECK_EXISTS(glProgramLocalParameter4fNV) + glProgramLocalParameter4fNV(target, index, x, y, z, w); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVFragmentProgram + * Method: nglGetProgramLocalParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFragmentProgram_nglGetProgramLocalParameterfvNV + (JNIEnv * env, jclass clazz, jint target, jint index, jobject params, jint params_offset) +{ + CHECK_EXISTS(glGetProgramLocalParameterfvNV) + GLfloat *params_ptr = (GLfloat *)env->GetDirectBufferAddress(params) + params_offset; + glGetProgramLocalParameterfvNV(target, index, params_ptr); + CHECK_GL_ERROR +} diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVFragmentProgram.h b/src/native/common/nv/org_lwjgl_opengl_nv_NVFragmentProgram.h new file mode 100644 index 00000000..fc517746 --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVFragmentProgram.h @@ -0,0 +1,78 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.nv.NVFragmentProgram +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_nv_NVFragmentProgram +#define _Included_org_lwjgl_opengl_nv_NVFragmentProgram + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.nv.NVFragmentProgram + * Method: nglProgramNamedParameter4fNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFragmentProgram_nglProgramNamedParameter4fNV + (JNIEnv *, jclass, jint, jint, jobject, jint, jfloat, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.nv.NVFragmentProgram + * Method: nglGetProgramNamedParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFragmentProgram_nglGetProgramNamedParameterfvNV + (JNIEnv *, jclass, jint, jint, jobject, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVFragmentProgram + * Method: glProgramLocalParameter4fNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFragmentProgram_glProgramLocalParameter4fNV + (JNIEnv *, jclass, jint, jint, jfloat, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.nv.NVFragmentProgram + * Method: nglGetProgramLocalParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVFragmentProgram_nglGetProgramLocalParameterfvNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVOcclusionQuery.cpp b/src/native/common/nv/org_lwjgl_opengl_nv_NVOcclusionQuery.cpp new file mode 100644 index 00000000..f224da33 --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVOcclusionQuery.cpp @@ -0,0 +1,128 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.nv.NVOcclusionQuery +// ---------------------------------- + +#include "org_lwjgl_opengl_nv_NVOcclusionQuery.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.nv.NVOcclusionQuery + * Method: nglGenOcclusionQueriesNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVOcclusionQuery_nglGenOcclusionQueriesNV + (JNIEnv * env, jclass clazz, jint n, jobject piIDs, jint piIDs_offset) +{ + CHECK_EXISTS(glGenOcclusionQueriesNV) + GLuint *piIDs_ptr = (GLuint *)env->GetDirectBufferAddress(piIDs) + piIDs_offset; + glGenOcclusionQueriesNV(n, piIDs_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVOcclusionQuery + * Method: nglDeleteOcclusionQueriesNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVOcclusionQuery_nglDeleteOcclusionQueriesNV + (JNIEnv * env, jclass clazz, jint n, jobject piIDs, jint piIDs_offset) +{ + CHECK_EXISTS(glDeleteOcclusionQueriesNV) + GLuint *piIDs_ptr = (GLuint *)env->GetDirectBufferAddress(piIDs) + piIDs_offset; + glDeleteOcclusionQueriesNV(n, piIDs_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVOcclusionQuery + * Method: glIsOcclusionQueryNV + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_nv_NVOcclusionQuery_glIsOcclusionQueryNV + (JNIEnv * env, jclass clazz, jint id) +{ + CHECK_EXISTS(glIsOcclusionQueryNV) + GLboolean result = glIsOcclusionQueryNV(id); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.nv.NVOcclusionQuery + * Method: glBeginOcclusionQueryNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVOcclusionQuery_glBeginOcclusionQueryNV + (JNIEnv * env, jclass clazz, jint id) +{ + CHECK_EXISTS(glBeginOcclusionQueryNV) + glBeginOcclusionQueryNV(id); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVOcclusionQuery + * Method: glEndOcclusionQueryNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVOcclusionQuery_glEndOcclusionQueryNV + (JNIEnv * env, jclass clazz) +{ + CHECK_EXISTS(glEndOcclusionQueryNV) + glEndOcclusionQueryNV(); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVOcclusionQuery + * Method: nglGetOcclusionQueryivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVOcclusionQuery_nglGetOcclusionQueryivNV + (JNIEnv * env, jclass clazz, jint id, jint pname, jobject piParams, jint piParams_offset) +{ + CHECK_EXISTS(glGetOcclusionQueryivNV) + GLint *piParams_ptr = (GLint *)env->GetDirectBufferAddress(piParams) + piParams_offset; + glGetOcclusionQueryivNV(id, pname, piParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVOcclusionQuery + * Method: nglGetOcclusionQueryuivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVOcclusionQuery_nglGetOcclusionQueryuivNV + (JNIEnv * env, jclass clazz, jint id, jint pname, jobject piParams, jint piParams_offset) +{ + CHECK_EXISTS(glGetOcclusionQueryuivNV) + GLuint *piParams_ptr = (GLuint *)env->GetDirectBufferAddress(piParams) + piParams_offset; + glGetOcclusionQueryuivNV(id, pname, piParams_ptr); + CHECK_GL_ERROR +} diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVOcclusionQuery.h b/src/native/common/nv/org_lwjgl_opengl_nv_NVOcclusionQuery.h new file mode 100644 index 00000000..77b68f42 --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVOcclusionQuery.h @@ -0,0 +1,99 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.nv.NVOcclusionQuery +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_nv_NVOcclusionQuery +#define _Included_org_lwjgl_opengl_nv_NVOcclusionQuery + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.nv.NVOcclusionQuery + * Method: nglGenOcclusionQueriesNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVOcclusionQuery_nglGenOcclusionQueriesNV + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVOcclusionQuery + * Method: nglDeleteOcclusionQueriesNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVOcclusionQuery_nglDeleteOcclusionQueriesNV + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVOcclusionQuery + * Method: glIsOcclusionQueryNV + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_nv_NVOcclusionQuery_glIsOcclusionQueryNV + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVOcclusionQuery + * Method: glBeginOcclusionQueryNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVOcclusionQuery_glBeginOcclusionQueryNV + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVOcclusionQuery + * Method: glEndOcclusionQueryNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVOcclusionQuery_glEndOcclusionQueryNV + (JNIEnv *, jclass); + +/* + * Class: org.lwjgl.opengl.nv.NVOcclusionQuery + * Method: nglGetOcclusionQueryivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVOcclusionQuery_nglGetOcclusionQueryivNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVOcclusionQuery + * Method: nglGetOcclusionQueryuivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVOcclusionQuery_nglGetOcclusionQueryuivNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVPointSprite.cpp b/src/native/common/nv/org_lwjgl_opengl_nv_NVPointSprite.cpp new file mode 100644 index 00000000..59944712 --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVPointSprite.cpp @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.nv.NVPointSprite +// ---------------------------------- + +#include "org_lwjgl_opengl_nv_NVPointSprite.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.nv.NVPointSprite + * Method: glPointParameteriNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVPointSprite_glPointParameteriNV + (JNIEnv * env, jclass clazz, jint pname, jint param) +{ + CHECK_EXISTS(glPointParameteriNV) + glPointParameteriNV(pname, param); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVPointSprite + * Method: nglPointParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVPointSprite_nglPointParameterivNV + (JNIEnv * env, jclass clazz, jint pname, jobject piParams, jint piParams_offset) +{ + CHECK_EXISTS(glPointParameterivNV) + GLint *piParams_ptr = (GLint *)env->GetDirectBufferAddress(piParams) + piParams_offset; + glPointParameterivNV(pname, piParams_ptr); + CHECK_GL_ERROR +} diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVPointSprite.h b/src/native/common/nv/org_lwjgl_opengl_nv_NVPointSprite.h new file mode 100644 index 00000000..8dc781e2 --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVPointSprite.h @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.nv.NVPointSprite +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_nv_NVPointSprite +#define _Included_org_lwjgl_opengl_nv_NVPointSprite + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.nv.NVPointSprite + * Method: glPointParameteriNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVPointSprite_glPointParameteriNV + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVPointSprite + * Method: nglPointParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVPointSprite_nglPointParameterivNV + (JNIEnv *, jclass, jint, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVProgram.cpp b/src/native/common/nv/org_lwjgl_opengl_nv_NVProgram.cpp new file mode 100644 index 00000000..7daf0145 --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVProgram.cpp @@ -0,0 +1,157 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.nv.NVProgram +// ---------------------------------- + +#include "org_lwjgl_opengl_nv_NVProgram.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: nglLoadProgramNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVProgram_nglLoadProgramNV + (JNIEnv * env, jclass clazz, jint target, jint programID, jint length, jobject string, jint stringOffset) +{ + CHECK_EXISTS(glLoadProgramNV) + const GLubyte *string_ptr = (const GLubyte *)env->GetDirectBufferAddress(string) + stringOffset; + glLoadProgramNV(target, programID, length, string_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: glBindProgramNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVProgram_glBindProgramNV + (JNIEnv * env, jclass clazz, jint target, jint programID) +{ + CHECK_EXISTS(glBindProgramNV) + glBindProgramNV(target, programID); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: nglDeleteProgramsNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVProgram_nglDeleteProgramsNV + (JNIEnv * env, jclass clazz, jint n, jobject programs, jint programsOffset) +{ + CHECK_EXISTS(glDeleteProgramsNV) + GLuint *programs_ptr = (GLuint *)env->GetDirectBufferAddress(programs) + programsOffset; + glDeleteProgramsNV(n, programs_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: nglGenProgramsNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVProgram_nglGenProgramsNV + (JNIEnv * env, jclass clazz, jint n, jobject programs, jint programsOffset) +{ + CHECK_EXISTS(glGenProgramsNV) + GLuint *programs_ptr = (GLuint *)env->GetDirectBufferAddress(programs) + programsOffset; + glGenProgramsNV(n, programs_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: nglGetProgramivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVProgram_nglGetProgramivNV + (JNIEnv * env, jclass clazz, jint programID, jint parameterName, jobject params, jint paramsOffset) +{ + CHECK_EXISTS(glGetProgramivNV) + GLint *params_ptr = (GLint *)env->GetDirectBufferAddress(params) + paramsOffset; + glGetProgramivNV(programID, parameterName, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: nglGetProgramStringNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVProgram_nglGetProgramStringNV + (JNIEnv * env, jclass clazz, jint programID, jint parameterName, jobject paramString, jint paramStringOffset) +{ + CHECK_EXISTS(glGetProgramStringNV) + GLubyte *paramString_ptr = (GLubyte *)env->GetDirectBufferAddress(paramString) + paramStringOffset; + glGetProgramStringNV(programID, parameterName, paramString_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: glIsProgramNV + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_nv_NVProgram_glIsProgramNV + (JNIEnv * env, jclass clazz, jint programID) +{ + CHECK_EXISTS(glIsProgramNV) + GLboolean result = glIsProgramNV(programID); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: nglAreProgramsResidentNV + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_nv_NVProgram_nglAreProgramsResidentNV + (JNIEnv * env, jclass clazz, jint n, jobject programIDs, jint programIDsOffset, jobject programResidences, jint programResidencesOffset) +{ + CHECK_EXISTS(glAreProgramsResidentNV) + GLuint *programIDs_ptr = (GLuint *)env->GetDirectBufferAddress(programIDs) + programIDsOffset; + GLubyte *programResidences_ptr = (GLubyte *)env->GetDirectBufferAddress(programResidences) + programResidencesOffset; + GLboolean result = glAreProgramsResidentNV(n, programIDs_ptr, programResidences_ptr); + CHECK_GL_ERROR + return result; +} + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: nglRequestResidentProgramsNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVProgram_nglRequestResidentProgramsNV + (JNIEnv * env, jclass clazz, jint n, jobject programIDs, jint programIDsOffset) +{ + CHECK_EXISTS(glRequestResidentProgramsNV) + GLuint *programIDs_ptr = (GLuint *)env->GetDirectBufferAddress(programIDs) + programIDsOffset; + glRequestResidentProgramsNV(n, programIDs_ptr); + CHECK_GL_ERROR +} diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVProgram.h b/src/native/common/nv/org_lwjgl_opengl_nv_NVProgram.h new file mode 100644 index 00000000..b5e6e629 --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVProgram.h @@ -0,0 +1,113 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.nv.NVProgram +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_nv_NVProgram +#define _Included_org_lwjgl_opengl_nv_NVProgram + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: nglLoadProgramNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVProgram_nglLoadProgramNV + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: glBindProgramNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVProgram_glBindProgramNV + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: nglDeleteProgramsNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVProgram_nglDeleteProgramsNV + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: nglGenProgramsNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVProgram_nglGenProgramsNV + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: nglGetProgramivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVProgram_nglGetProgramivNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: nglGetProgramStringNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVProgram_nglGetProgramStringNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: glIsProgramNV + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_nv_NVProgram_glIsProgramNV + (JNIEnv *, jclass, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: nglAreProgramsResidentNV + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_nv_NVProgram_nglAreProgramsResidentNV + (JNIEnv *, jclass, jint, jobject, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVProgram + * Method: nglRequestResidentProgramsNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVProgram_nglRequestResidentProgramsNV + (JNIEnv *, jclass, jint, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVRegisterCombiners.cpp b/src/native/common/nv/org_lwjgl_opengl_nv_NVRegisterCombiners.cpp new file mode 100644 index 00000000..4300f0e2 --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVRegisterCombiners.cpp @@ -0,0 +1,229 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.nv.NVRegisterCombiners +// ---------------------------------- + +#include "org_lwjgl_opengl_nv_NVRegisterCombiners.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: glCombinerParameterfNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_glCombinerParameterfNV + (JNIEnv * env, jclass clazz, jint pname, jfloat param) +{ + CHECK_EXISTS(glCombinerParameterfNV) + glCombinerParameterfNV(pname, param); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglCombinerParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglCombinerParameterfvNV + (JNIEnv * env, jclass clazz, jint pname, jobject pfParams, jint pfParams_offset) +{ + CHECK_EXISTS(glCombinerParameterfvNV) + GLfloat *pfParams_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParams) + pfParams_offset; + glCombinerParameterfvNV(pname, pfParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: glCombinerParameteriNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_glCombinerParameteriNV + (JNIEnv * env, jclass clazz, jint pname, jint param) +{ + CHECK_EXISTS(glCombinerParameteriNV) + glCombinerParameteriNV(pname, param); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglCombinerParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglCombinerParameterivNV + (JNIEnv * env, jclass clazz, jint pname, jobject piParams, jint piParams_offset) +{ + CHECK_EXISTS(glCombinerParameterivNV) + GLint *piParams_ptr = (GLint *)env->GetDirectBufferAddress(piParams) + piParams_offset; + glCombinerParameterivNV(pname, piParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: glCombinerInputNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_glCombinerInputNV + (JNIEnv * env, jclass clazz, jint stage, jint portion, jint variable, jint input, jint mapping, jint componentUsage) +{ + CHECK_EXISTS(glCombinerInputNV) + glCombinerInputNV(stage, portion, variable, input, mapping, componentUsage); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: glCombinerOutputNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_glCombinerOutputNV + (JNIEnv * env, jclass clazz, jint stage, jint portion, jint abOutput, jint cdOutput, jint sumOutput, jint scale, jint bias, jboolean abDotProduct, jboolean cdDotProduct, jboolean muxSum) +{ + CHECK_EXISTS(glCombinerOutputNV) + glCombinerOutputNV(stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: glFinalCombinerInputNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_glFinalCombinerInputNV + (JNIEnv * env, jclass clazz, jint variable, jint input, jint mapping, jint componentUsage) +{ + CHECK_EXISTS(glFinalCombinerInputNV) + glFinalCombinerInputNV(variable, input, mapping, componentUsage); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglGetCombinerInputParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglGetCombinerInputParameterfvNV + (JNIEnv * env, jclass clazz, jint stage, jint portion, jint variable, jint pname, jobject pfParams, jint pfParams_offset) +{ + CHECK_EXISTS(glGetCombinerInputParameterfvNV) + GLfloat *pfParams_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParams) + pfParams_offset; + glGetCombinerInputParameterfvNV(stage, portion, variable, pname, pfParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglGetCombinerInputParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglGetCombinerInputParameterivNV + (JNIEnv * env, jclass clazz, jint stage, jint portion, jint variable, jint pname, jobject piParams, jint piParams_offset) +{ + CHECK_EXISTS(glGetCombinerInputParameterivNV) + GLint *piParams_ptr = (GLint *)env->GetDirectBufferAddress(piParams) + piParams_offset; + glGetCombinerInputParameterivNV(stage, portion, variable, pname, piParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglGetCombinerOutputParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglGetCombinerOutputParameterfvNV + (JNIEnv * env, jclass clazz, jint stage, jint portion, jint pname, jobject pfParams, jint pfParams_offset) +{ + CHECK_EXISTS(glGetCombinerOutputParameterfvNV) + GLfloat *pfParams_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParams) + pfParams_offset; + glGetCombinerOutputParameterfvNV(stage, portion, pname, pfParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglGetCombinerOutputParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglGetCombinerOutputParameterivNV + (JNIEnv * env, jclass clazz, jint stage, jint portion, jint pname, jobject piParams, jint pfParams_offset) +{ + CHECK_EXISTS(glGetCombinerOutputParameterivNV) + GLint *piParams_ptr = (GLint *)env->GetDirectBufferAddress(piParams) + pfParams_offset; + glGetCombinerOutputParameterivNV(stage, portion, pname, piParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglGetFinalCombinerInputParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglGetFinalCombinerInputParameterfvNV + (JNIEnv * env, jclass clazz, jint variable, jint pname, jobject pfParams, jint pfParams_offset) +{ + CHECK_EXISTS(glGetFinalCombinerInputParameterfvNV) + GLfloat *pfParams_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParams) + pfParams_offset; + glGetFinalCombinerInputParameterfvNV(variable, pname, pfParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglGetFinalCombinerInputParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglGetFinalCombinerInputParameterivNV + (JNIEnv * env, jclass clazz, jint variable, jint pname, jobject piParams, jint piParams_offset) +{ + CHECK_EXISTS(glGetFinalCombinerInputParameterivNV) + GLint *piParams_ptr = (GLint *)env->GetDirectBufferAddress(piParams) + piParams_offset; + glGetFinalCombinerInputParameterivNV(variable, pname, piParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglCombinerStageParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglCombinerStageParameterfvNV + (JNIEnv * env, jclass clazz, jint stage, jint pname, jobject pfParams, jint pfParams_offset) +{ + CHECK_EXISTS(glCombinerStageParameterfvNV) + GLfloat *pfParams_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParams) + pfParams_offset; + glCombinerStageParameterfvNV(stage, pname, pfParams_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglGetCombinerStageParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglGetCombinerStageParameterfvNV + (JNIEnv * env, jclass clazz, jint stage, jint pname, jobject pfParams, jint pfParams_offset) +{ + CHECK_EXISTS(glGetCombinerStageParameterfvNV) + GLfloat *pfParams_ptr = (GLfloat *)env->GetDirectBufferAddress(pfParams) + pfParams_offset; + glGetCombinerStageParameterfvNV(stage, pname, pfParams_ptr); + CHECK_GL_ERROR +} diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVRegisterCombiners.h b/src/native/common/nv/org_lwjgl_opengl_nv_NVRegisterCombiners.h new file mode 100644 index 00000000..7e99f39e --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVRegisterCombiners.h @@ -0,0 +1,155 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.nv.NVRegisterCombiners +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_nv_NVRegisterCombiners +#define _Included_org_lwjgl_opengl_nv_NVRegisterCombiners + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: glCombinerParameterfNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_glCombinerParameterfNV + (JNIEnv *, jclass, jint, jfloat); + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglCombinerParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglCombinerParameterfvNV + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: glCombinerParameteriNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_glCombinerParameteriNV + (JNIEnv *, jclass, jint, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglCombinerParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglCombinerParameterivNV + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: glCombinerInputNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_glCombinerInputNV + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: glCombinerOutputNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_glCombinerOutputNV + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint, jint, jboolean, jboolean, jboolean); + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: glFinalCombinerInputNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_glFinalCombinerInputNV + (JNIEnv *, jclass, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglGetCombinerInputParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglGetCombinerInputParameterfvNV + (JNIEnv *, jclass, jint, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglGetCombinerInputParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglGetCombinerInputParameterivNV + (JNIEnv *, jclass, jint, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglGetCombinerOutputParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglGetCombinerOutputParameterfvNV + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglGetCombinerOutputParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglGetCombinerOutputParameterivNV + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglGetFinalCombinerInputParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglGetFinalCombinerInputParameterfvNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglGetFinalCombinerInputParameterivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglGetFinalCombinerInputParameterivNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglCombinerStageParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglCombinerStageParameterfvNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVRegisterCombiners + * Method: nglGetCombinerStageParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVRegisterCombiners_nglGetCombinerStageParameterfvNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVVertexArrayRange.cpp b/src/native/common/nv/org_lwjgl_opengl_nv_NVVertexArrayRange.cpp new file mode 100644 index 00000000..691aded3 --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVVertexArrayRange.cpp @@ -0,0 +1,129 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.nv.NVVertexArrayRange +// ---------------------------------- + +#include "org_lwjgl_opengl_nv_NVVertexArrayRange.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.nv.NVVertexArrayRange + * Method: nglVertexArrayRangeNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexArrayRange_nglVertexArrayRangeNV + (JNIEnv * env, jclass clazz, jint size, jobject pPointer, jint pPointer_offset) +{ + CHECK_EXISTS(glVertexArrayRangeNV) + GLvoid *pPointer_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(pPointer) + pPointer_offset); + glVertexArrayRangeNV(size, pPointer_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexArrayRange + * Method: glFlushVertexArrayRangeNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexArrayRange_glFlushVertexArrayRangeNV + (JNIEnv * env, jclass clazz) +{ + CHECK_EXISTS(glFlushVertexArrayRangeNV) + glFlushVertexArrayRangeNV(); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexArrayRange + * Method: glXAllocateMemoryNV + */ +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_nv_NVVertexArrayRange_glXAllocateMemoryNV + (JNIEnv * env, jclass clazz, jint size, jfloat readFrequency, jfloat writeFrequency, jfloat priority) +{ +#ifdef _X11 + CHECK_EXISTS(glXAllocateMemoryNV) + void *mem_address = glXAllocateMemoryNV((GLint) size, (GLfloat)readFrequency, (GLfloat)writeFrequency, (GLfloat)priority); + return safeNewBuffer(env, mem_address, size); +#else + CHECK_EXISTS(NULL) + return NULL; +#endif +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexArrayRange + * Method: glXFreeMemoryNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexArrayRange_glXFreeMemoryNV + (JNIEnv * env, jclass clazz, jobject pointer) +{ +#ifdef _X11 + void *address = (void *)env->GetDirectBufferAddress(pointer); + glXFreeMemoryNV(address); +#else + CHECK_EXISTS(NULL) +#endif +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexArrayRange + * Method: wglAllocateMemoryNV + */ +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_nv_NVVertexArrayRange_wglAllocateMemoryNV + (JNIEnv * env, jclass clazz, jint size, jfloat readFrequency, jfloat writeFrequency, jfloat priority) +{ +#ifdef _WIN32 + CHECK_EXISTS(wglAllocateMemoryNV) + void *mem_address = wglAllocateMemoryNV((GLint)size, (GLfloat)readFrequency, (GLfloat)writeFrequency, (GLfloat)priority); + return safeNewBuffer(env, mem_address, size); +#else + CHECK_EXISTS(NULL) + return NULL; +#endif +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexArrayRange + * Method: wglFreeMemoryNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexArrayRange_wglFreeMemoryNV + (JNIEnv * env, jclass clazz, jobject pointer) +{ +#ifdef _WIN32 + CHECK_EXISTS(wglFreeMemoryNV) + void *address = (void *)env->GetDirectBufferAddress(pointer); + wglFreeMemoryNV(address); +#else + CHECK_EXISTS(NULL) +#endif +} diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVVertexArrayRange.h b/src/native/common/nv/org_lwjgl_opengl_nv_NVVertexArrayRange.h new file mode 100644 index 00000000..09bf52c7 --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVVertexArrayRange.h @@ -0,0 +1,92 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.nv.NVVertexArrayRange +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_nv_NVVertexArrayRange +#define _Included_org_lwjgl_opengl_nv_NVVertexArrayRange + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.nv.NVVertexArrayRange + * Method: nglVertexArrayRangeNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexArrayRange_nglVertexArrayRangeNV + (JNIEnv *, jclass, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexArrayRange + * Method: glFlushVertexArrayRangeNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexArrayRange_glFlushVertexArrayRangeNV + (JNIEnv *, jclass); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexArrayRange + * Method: glXAllocateMemoryNV + */ +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_nv_NVVertexArrayRange_glXAllocateMemoryNV + (JNIEnv *, jclass, jint, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexArrayRange + * Method: glXFreeMemoryNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexArrayRange_glXFreeMemoryNV + (JNIEnv *, jclass, jobject); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexArrayRange + * Method: wglAllocateMemoryNV + */ +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_nv_NVVertexArrayRange_wglAllocateMemoryNV + (JNIEnv *, jclass, jint, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexArrayRange + * Method: wglFreeMemoryNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexArrayRange_wglFreeMemoryNV + (JNIEnv *, jclass, jobject); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVVertexProgram.cpp b/src/native/common/nv/org_lwjgl_opengl_nv_NVVertexProgram.cpp new file mode 100644 index 00000000..a64b061e --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVVertexProgram.cpp @@ -0,0 +1,288 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.nv.NVVertexProgram +// ---------------------------------- + +#include "org_lwjgl_opengl_nv_NVVertexProgram.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglExecuteProgramNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglExecuteProgramNV + (JNIEnv * env, jclass clazz, jint target, jint id, jobject params, jint paramsOffset) +{ + CHECK_EXISTS(glExecuteProgramNV) + GLfloat *params_ptr = (GLfloat *)env->GetDirectBufferAddress(params) + paramsOffset; + glExecuteProgramNV(target, id, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglGetProgramParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglGetProgramParameterfvNV + (JNIEnv * env, jclass clazz, jint target, jint index, jint parameterName, jobject params, jint paramsOffset) +{ + CHECK_EXISTS(glGetProgramParameterfvNV) + GLfloat *params_ptr = (GLfloat *)env->GetDirectBufferAddress(params) + paramsOffset; + glGetProgramParameterfvNV(target, index, parameterName, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglGetTrackMatrixivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglGetTrackMatrixivNV + (JNIEnv * env, jclass clazz, jint target, jint address, jint parameterName, jobject params, jint paramsOffset) +{ + CHECK_EXISTS(glGetTrackMatrixivNV) + GLint *params_ptr = (GLint *)env->GetDirectBufferAddress(params) + paramsOffset; + glGetTrackMatrixivNV(target, address, parameterName, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglGetVertexAttribfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglGetVertexAttribfvNV + (JNIEnv * env, jclass clazz, jint index, jint parameterName, jobject params, jint paramsOffset) +{ + CHECK_EXISTS(glGetVertexAttribfvNV) + GLfloat *params_ptr = (GLfloat *)env->GetDirectBufferAddress(params) + paramsOffset; + glGetVertexAttribfvNV(index, parameterName, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglGetVertexAttribivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglGetVertexAttribivNV + (JNIEnv * env, jclass clazz, jint index, jint parameterName, jobject params, jint paramsOffset) +{ + CHECK_EXISTS(glGetVertexAttribivNV) + GLint *params_ptr = (GLint *)env->GetDirectBufferAddress(params) + paramsOffset; + glGetVertexAttribivNV(index, parameterName, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glGetVertexAttribPointerNV + */ +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glGetVertexAttribPointerNV + (JNIEnv * env, jclass clazz, jint index, jint parameterName, jint size) +{ + CHECK_EXISTS(glGetVertexAttribPointervNV) + void *address; + glGetVertexAttribPointervNV((GLuint)index, (GLuint)parameterName, &address); + CHECK_GL_ERROR + return safeNewBuffer(env, address, size); +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glProgramParameter4fNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glProgramParameter4fNV + (JNIEnv * env, jclass clazz, jint target, jint index, jfloat x, jfloat y, jfloat z, jfloat w) +{ + CHECK_EXISTS(glProgramParameter4fNV) + glProgramParameter4fNV(target, index, x, y, z, w); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglProgramParameters4fvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglProgramParameters4fvNV + (JNIEnv * env, jclass clazz, jint target, jint index, jint count, jobject params, jint paramsOffset) +{ + CHECK_EXISTS(glProgramParameters4fvNV) + GLfloat *params_ptr = (GLfloat *)env->GetDirectBufferAddress(params) + paramsOffset; + glProgramParameters4fvNV(target, index, count, params_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glTrackMatrixNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glTrackMatrixNV + (JNIEnv * env, jclass clazz, jint target, jint address, jint matrix, jint transform) +{ + CHECK_EXISTS(glTrackMatrixNV) + glTrackMatrixNV(target, address, matrix, transform); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglVertexAttribPointerNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglVertexAttribPointerNV + (JNIEnv * env, jclass clazz, jint index, jint size, jint type, jint stride, jobject buffer, jint bufferOffset) +{ + CHECK_EXISTS(glVertexAttribPointerNV) + GLvoid *buffer_ptr = (GLvoid *)((GLubyte *)env->GetDirectBufferAddress(buffer) + bufferOffset); + glVertexAttribPointerNV(index, size, type, stride, buffer_ptr); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglVertexAttribPointerNVVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglVertexAttribPointerNVVBO + (JNIEnv * env, jclass clazz, jint index, jint size, jint type, jint stride, jint bufferOffset) +{ + CHECK_EXISTS(glVertexAttribPointerNV) + glVertexAttribPointerNV(index, size, type, stride, (GLvoid *)bufferOffset); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib1sNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib1sNV + (JNIEnv * env, jclass clazz, jint index, jshort x) +{ + CHECK_EXISTS(glVertexAttrib1sNV) + glVertexAttrib1sNV(index, x); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib1fNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib1fNV + (JNIEnv * env, jclass clazz, jint index, jfloat x) +{ + CHECK_EXISTS(glVertexAttrib1fNV) + glVertexAttrib1fNV(index, x); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib2sNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib2sNV + (JNIEnv * env, jclass clazz, jint index, jshort x, jshort y) +{ + CHECK_EXISTS(glVertexAttrib2sNV) + glVertexAttrib2sNV(index, x, y); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib2fNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib2fNV + (JNIEnv * env, jclass clazz, jint index, jfloat x, jfloat y) +{ + CHECK_EXISTS(glVertexAttrib2fNV) + glVertexAttrib2fNV(index, x, y); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib3sNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib3sNV + (JNIEnv * env, jclass clazz, jint index, jshort x, jshort y, jshort z) +{ + CHECK_EXISTS(glVertexAttrib3sNV) + glVertexAttrib3sNV(index, x, y, z); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib3fNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib3fNV + (JNIEnv * env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z) +{ + CHECK_EXISTS(glVertexAttrib3fNV) + glVertexAttrib3fNV(index, x, y, z); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib4sNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib4sNV + (JNIEnv * env, jclass clazz, jint index, jshort x, jshort y, jshort z, jshort w) +{ + CHECK_EXISTS(glVertexAttrib4sNV) + glVertexAttrib4sNV(index, x, y, z, w); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib4fNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib4fNV + (JNIEnv * env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z, jfloat w) +{ + CHECK_EXISTS(glVertexAttrib4fNV) + glVertexAttrib4fNV(index, x, y, z, w); + CHECK_GL_ERROR +} + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib4ubNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib4ubNV + (JNIEnv * env, jclass clazz, jint index, jbyte x, jbyte y, jbyte z, jbyte w) +{ + CHECK_EXISTS(glVertexAttrib4ubNV) + glVertexAttrib4ubNV(index, x, y, z, w); + CHECK_GL_ERROR +} diff --git a/src/native/common/nv/org_lwjgl_opengl_nv_NVVertexProgram.h b/src/native/common/nv/org_lwjgl_opengl_nv_NVVertexProgram.h new file mode 100644 index 00000000..862aa9ee --- /dev/null +++ b/src/native/common/nv/org_lwjgl_opengl_nv_NVVertexProgram.h @@ -0,0 +1,190 @@ +/* +* Copyright (c) 2002 Lightweight Java Game Library Project +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* * Neither the name of 'Light Weight Java Game Library' nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// ---------------------------------- +// MACHINE GENERATED HEADER OF CLASS: org.lwjgl.opengl.nv.NVVertexProgram +// ---------------------------------- + +#include + +#ifndef _Included_org_lwjgl_opengl_nv_NVVertexProgram +#define _Included_org_lwjgl_opengl_nv_NVVertexProgram + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglExecuteProgramNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglExecuteProgramNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglGetProgramParameterfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglGetProgramParameterfvNV + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglGetTrackMatrixivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglGetTrackMatrixivNV + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglGetVertexAttribfvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglGetVertexAttribfvNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglGetVertexAttribivNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglGetVertexAttribivNV + (JNIEnv *, jclass, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glGetVertexAttribPointerNV + */ +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glGetVertexAttribPointerNV + (JNIEnv *, jclass, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glProgramParameter4fNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glProgramParameter4fNV + (JNIEnv *, jclass, jint, jint, jfloat, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglProgramParameters4fvNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglProgramParameters4fvNV + (JNIEnv *, jclass, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glTrackMatrixNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glTrackMatrixNV + (JNIEnv *, jclass, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglVertexAttribPointerNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglVertexAttribPointerNV + (JNIEnv *, jclass, jint, jint, jint, jint, jobject, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: nglVertexAttribPointerNVVBO + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_nglVertexAttribPointerNVVBO + (JNIEnv *, jclass, jint, jint, jint, jint, jint); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib1sNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib1sNV + (JNIEnv *, jclass, jint, jshort); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib1fNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib1fNV + (JNIEnv *, jclass, jint, jfloat); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib2sNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib2sNV + (JNIEnv *, jclass, jint, jshort, jshort); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib2fNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib2fNV + (JNIEnv *, jclass, jint, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib3sNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib3sNV + (JNIEnv *, jclass, jint, jshort, jshort, jshort); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib3fNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib3fNV + (JNIEnv *, jclass, jint, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib4sNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib4sNV + (JNIEnv *, jclass, jint, jshort, jshort, jshort, jshort); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib4fNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib4fNV + (JNIEnv *, jclass, jint, jfloat, jfloat, jfloat, jfloat); + +/* + * Class: org.lwjgl.opengl.nv.NVVertexProgram + * Method: glVertexAttrib4ubNV + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_nv_NVVertexProgram_glVertexAttrib4ubNV + (JNIEnv *, jclass, jint, jbyte, jbyte, jbyte, jbyte); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/native/configure.in b/src/native/configure.in index 89d1d1ee..19ca41f6 100644 --- a/src/native/configure.in +++ b/src/native/configure.in @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. #AC_PREREQ(2.57) -AC_INIT(LWJGL, 0.7) +AC_INIT(LWJGL, 0.8) AM_INIT_AUTOMAKE() AC_CONFIG_SRCDIR([autogen.sh]) AM_CONFIG_HEADER([config.h]) @@ -72,6 +72,10 @@ AC_CHECK_FUNCS([gettimeofday memset strchr strstr]) AC_CONFIG_FILES([Makefile common/Makefile + common/arb/Makefile + common/ati/Makefile + common/ext/Makefile + common/nv/Makefile linux/Makefile macosx/Makefile]) AC_OUTPUT