/* * 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.opengl.GLenum; import org.lwjgl.util.generator.opengl.GLhalf; import org.lwjgl.util.generator.opengl.GLsizei; import org.lwjgl.util.generator.opengl.GLuint; import java.nio.*; @Dependent public interface NV_half_float { /** * Accepted by the <type> argument of VertexPointer, NormalPointer, * ColorPointer, TexCoordPointer, FogCoordPointerEXT, * SecondaryColorPointerEXT, VertexWeightPointerEXT, VertexAttribPointerNV, * DrawPixels, ReadPixels, TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, * TexSubImage2D, TexSubImage3D, and GetTexImage: */ int GL_HALF_FLOAT_NV = 0x140B; @NoErrorCheck void glVertex2hNV(@GLhalf short x, @GLhalf short y); @NoErrorCheck void glVertex3hNV(@GLhalf short x, @GLhalf short y, @GLhalf short z); @NoErrorCheck void glVertex4hNV(@GLhalf short x, @GLhalf short y, @GLhalf short z, @GLhalf short w); @NoErrorCheck void glNormal3hNV(@GLhalf short nx, @GLhalf short ny, @GLhalf short nz); @NoErrorCheck void glColor3hNV(@GLhalf short red, @GLhalf short green, @GLhalf short blue); @NoErrorCheck void glColor4hNV(@GLhalf short red, @GLhalf short green, @GLhalf short blue, @GLhalf short alpha); @NoErrorCheck void glTexCoord1hNV(@GLhalf short s); @NoErrorCheck void glTexCoord2hNV(@GLhalf short s, @GLhalf short t); @NoErrorCheck void glTexCoord3hNV(@GLhalf short s, @GLhalf short t, @GLhalf short r); @NoErrorCheck void glTexCoord4hNV(@GLhalf short s, @GLhalf short t, @GLhalf short r, @GLhalf short q); @NoErrorCheck void glMultiTexCoord1hNV(@GLenum int target, @GLhalf short s); @NoErrorCheck void glMultiTexCoord2hNV(@GLenum int target, @GLhalf short s, @GLhalf short t); @NoErrorCheck void glMultiTexCoord3hNV(@GLenum int target, @GLhalf short s, @GLhalf short t, @GLhalf short r); @NoErrorCheck void glMultiTexCoord4hNV(@GLenum int target, @GLhalf short s, @GLhalf short t, @GLhalf short r, @GLhalf short q); @Dependent("GL_EXT_fog_coord") @NoErrorCheck void glFogCoordhNV(@GLhalf short fog); @Dependent("GL_EXT_secondary_color") @NoErrorCheck void glSecondaryColor3hNV(@GLhalf short red, @GLhalf short green, @GLhalf short blue); @Dependent("GL_EXT_vertex_weighting") @NoErrorCheck void glVertexWeighthNV(@GLhalf short weight); @Dependent("GL_NV_vertex_program") @NoErrorCheck void glVertexAttrib1hNV(@GLuint int index, @GLhalf short x); @Dependent("GL_NV_vertex_program") @NoErrorCheck void glVertexAttrib2hNV(@GLuint int index, @GLhalf short x, @GLhalf short y); @Dependent("GL_NV_vertex_program") @NoErrorCheck void glVertexAttrib3hNV(@GLuint int index, @GLhalf short x, @GLhalf short y, @GLhalf short z); @Dependent("GL_NV_vertex_program") @NoErrorCheck void glVertexAttrib4hNV(@GLuint int index, @GLhalf short x, @GLhalf short y, @GLhalf short z, @GLhalf short w); @Dependent("GL_NV_vertex_program") @NoErrorCheck @StripPostfix("attribs") void glVertexAttribs1hvNV(@GLuint int index, @AutoSize("attribs") @GLsizei int n, @Const @GLhalf ShortBuffer attribs); @Dependent("GL_NV_vertex_program") @NoErrorCheck @StripPostfix("attribs") void glVertexAttribs2hvNV(@GLuint int index, @AutoSize(value = "attribs", expression = " >> 1") @GLsizei int n, @Const @GLhalf ShortBuffer attribs); @Dependent("GL_NV_vertex_program") @NoErrorCheck @StripPostfix("attribs") void glVertexAttribs3hvNV(@GLuint int index, @AutoSize(value = "attribs", expression = " / 3") @GLsizei int n, @Const @GLhalf ShortBuffer attribs); @Dependent("GL_NV_vertex_program") @NoErrorCheck @StripPostfix("attribs") void glVertexAttribs4hvNV(@GLuint int index, @AutoSize(value = "attribs", expression = " >> 2") @GLsizei int n, @Const @GLhalf ShortBuffer attribs); }