/* * Copyright (c) 2002-2008 LWJGL 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 'LWJGL' 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; import org.lwjgl.util.generator.*; import org.lwjgl.util.generator.Alternate; import org.lwjgl.util.generator.opengl.*; import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.IntBuffer; @Extension(postfix = "NV", isFinal = false) public interface NV_program { /** Accepted by the <pname> parameter of GetProgramivNV: */ int GL_PROGRAM_TARGET_NV = 0x8646; int GL_PROGRAM_LENGTH_NV = 0x8627; int GL_PROGRAM_RESIDENT_NV = 0x8647; /** Accepted by the <pname> parameter of GetProgramStringNV: */ int GL_PROGRAM_STRING_NV = 0x8628; /** * Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, * GetFloatv, and GetDoublev: */ int GL_PROGRAM_ERROR_POSITION_NV = 0x864B; /** Accepted by the <name> parameter of GetString: */ int GL_PROGRAM_ERROR_STRING_NV = 0x8874; void glLoadProgramNV(@GLenum int target, @GLuint int programID, @AutoSize("string") @GLsizei int length, @Const @GLubyte Buffer string); @Alternate("glLoadProgramNV") void glLoadProgramNV(@GLenum int target, @GLuint int programID, @Constant("string.length()") @GLsizei int length, CharSequence string); void glBindProgramNV(@GLenum int target, @GLuint int programID); void glDeleteProgramsNV(@AutoSize("programs") @GLsizei int n, @Const @GLuint IntBuffer programs); @Alternate("glDeleteProgramsNV") void glDeleteProgramsNV(@Constant("1") @GLsizei int n, @Constant(value = "APIUtil.getInt(caps, program)", keepParam = true) int program); void glGenProgramsNV(@AutoSize("programs") @GLsizei int n, @OutParameter @GLuint IntBuffer programs); @Alternate("glGenProgramsNV") @GLreturn("programs") void glGenProgramsNV2(@Constant("1") @GLsizei int n, @OutParameter @GLuint IntBuffer programs); @StripPostfix("params") void glGetProgramivNV(@GLuint int programID, @GLenum int parameterName, @OutParameter @Check @GLint IntBuffer params); /** @deprecated Will be removed in 3.0. Use {@link #glGetProgramiNV} instead. */ @Alternate("glGetProgramivNV") @GLreturn("params") @StripPostfix("params") @Reuse(value = "NVProgram", method = "glGetProgramiNV") @Deprecated void glGetProgramivNV2(@GLuint int programID, @GLenum int parameterName, @OutParameter @GLint IntBuffer params); @Alternate("glGetProgramivNV") @GLreturn("params") @StripPostfix(value = "params", hasPostfix = false) void glGetProgramivNV3(@GLuint int programID, @GLenum int parameterName, @OutParameter @GLint IntBuffer params); void glGetProgramStringNV(@GLuint int programID, @GLenum int parameterName, @OutParameter @Check @GLubyte Buffer paramString); @Alternate("glGetProgramStringNV") @Code("\t\tint programLength = glGetProgramiNV(programID, GL_PROGRAM_LENGTH_NV);") @GLreturn(value="paramString", maxLength = "programLength", forceMaxLength = true) void glGetProgramStringNV2(@GLuint int programID, @GLenum int parameterName, @OutParameter @GLchar ByteBuffer paramString); boolean glIsProgramNV(@GLuint int programID); boolean glAreProgramsResidentNV(@AutoSize("programIDs") @GLsizei int n, @Const @GLuint IntBuffer programIDs, @OutParameter @GLboolean @Check("programIDs.remaining()") ByteBuffer programResidences); void glRequestResidentProgramsNV(@AutoSize("programIDs") @GLsizei int n, @GLuint IntBuffer programIDs); @Alternate("glRequestResidentProgramsNV") void glRequestResidentProgramsNV(@Constant("1") @GLsizei int n, @Constant(value = "APIUtil.getInt(caps, programID)", keepParam = true) int programID); }