1 /* 2 * Copyright (c) 2002-2008 LWJGL Project 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: 8 * 9 * * Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 12 * * Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * * Neither the name of 'LWJGL' nor the names of 17 * its contributors may be used to endorse or promote products derived 18 * from this software without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 22 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 28 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 29 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32 package org.lwjgl.opengl; 33 34 import org.lwjgl.util.generator.*; 35 import org.lwjgl.util.generator.opengl.GLenum; 36 import org.lwjgl.util.generator.opengl.GLuint; 37 38 import java.nio.*; 39 40 public interface ATI_fragment_shader { 41 42 int GL_FRAGMENT_SHADER_ATI = 0x8920; 43 int GL_REG_0_ATI = 0x8921; 44 int GL_REG_1_ATI = 0x8922; 45 int GL_REG_2_ATI = 0x8923; 46 int GL_REG_3_ATI = 0x8924; 47 int GL_REG_4_ATI = 0x8925; 48 int GL_REG_5_ATI = 0x8926; 49 int GL_REG_6_ATI = 0x8927; 50 int GL_REG_7_ATI = 0x8928; 51 int GL_REG_8_ATI = 0x8929; 52 int GL_REG_9_ATI = 0x892A; 53 int GL_REG_10_ATI = 0x892B; 54 int GL_REG_11_ATI = 0x892C; 55 int GL_REG_12_ATI = 0x892D; 56 int GL_REG_13_ATI = 0x892E; 57 int GL_REG_14_ATI = 0x892F; 58 int GL_REG_15_ATI = 0x8930; 59 int GL_REG_16_ATI = 0x8931; 60 int GL_REG_17_ATI = 0x8932; 61 int GL_REG_18_ATI = 0x8933; 62 int GL_REG_19_ATI = 0x8934; 63 int GL_REG_20_ATI = 0x8935; 64 int GL_REG_21_ATI = 0x8936; 65 int GL_REG_22_ATI = 0x8937; 66 int GL_REG_23_ATI = 0x8938; 67 int GL_REG_24_ATI = 0x8939; 68 int GL_REG_25_ATI = 0x893A; 69 int GL_REG_26_ATI = 0x893B; 70 int GL_REG_27_ATI = 0x893C; 71 int GL_REG_28_ATI = 0x893D; 72 int GL_REG_29_ATI = 0x893E; 73 int GL_REG_30_ATI = 0x893F; 74 int GL_REG_31_ATI = 0x8940; 75 int GL_CON_0_ATI = 0x8941; 76 int GL_CON_1_ATI = 0x8942; 77 int GL_CON_2_ATI = 0x8943; 78 int GL_CON_3_ATI = 0x8944; 79 int GL_CON_4_ATI = 0x8945; 80 int GL_CON_5_ATI = 0x8946; 81 int GL_CON_6_ATI = 0x8947; 82 int GL_CON_7_ATI = 0x8948; 83 int GL_CON_8_ATI = 0x8949; 84 int GL_CON_9_ATI = 0x894A; 85 int GL_CON_10_ATI = 0x894B; 86 int GL_CON_11_ATI = 0x894C; 87 int GL_CON_12_ATI = 0x894D; 88 int GL_CON_13_ATI = 0x894E; 89 int GL_CON_14_ATI = 0x894F; 90 int GL_CON_15_ATI = 0x8950; 91 int GL_CON_16_ATI = 0x8951; 92 int GL_CON_17_ATI = 0x8952; 93 int GL_CON_18_ATI = 0x8953; 94 int GL_CON_19_ATI = 0x8954; 95 int GL_CON_20_ATI = 0x8955; 96 int GL_CON_21_ATI = 0x8956; 97 int GL_CON_22_ATI = 0x8957; 98 int GL_CON_23_ATI = 0x8958; 99 int GL_CON_24_ATI = 0x8959; 100 int GL_CON_25_ATI = 0x895A; 101 int GL_CON_26_ATI = 0x895B; 102 int GL_CON_27_ATI = 0x895C; 103 int GL_CON_28_ATI = 0x895D; 104 int GL_CON_29_ATI = 0x895E; 105 int GL_CON_30_ATI = 0x895F; 106 int GL_CON_31_ATI = 0x8960; 107 int GL_MOV_ATI = 0x8961; 108 int GL_ADD_ATI = 0x8963; 109 int GL_MUL_ATI = 0x8964; 110 int GL_SUB_ATI = 0x8965; 111 int GL_DOT3_ATI = 0x8966; 112 int GL_DOT4_ATI = 0x8967; 113 int GL_MAD_ATI = 0x8968; 114 int GL_LERP_ATI = 0x8969; 115 int GL_CND_ATI = 0x896A; 116 int GL_CND0_ATI = 0x896B; 117 int GL_DOT2_ADD_ATI = 0x896C; 118 int GL_SECONDARY_INTERPOLATOR_ATI = 0x896D; 119 int GL_NUM_FRAGMENT_REGISTERS_ATI = 0x896E; 120 int GL_NUM_FRAGMENT_CONSTANTS_ATI = 0x896F; 121 int GL_NUM_PASSES_ATI = 0x8970; 122 int GL_NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971; 123 int GL_NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972; 124 int GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973; 125 int GL_NUM_LOOPBACK_COMPONENTS_ATI = 0x8974; 126 int GL_COLOR_ALPHA_PAIRING_ATI = 0x8975; 127 int GL_SWIZZLE_STR_ATI = 0x8976; 128 int GL_SWIZZLE_STQ_ATI = 0x8977; 129 int GL_SWIZZLE_STR_DR_ATI = 0x8978; 130 int GL_SWIZZLE_STQ_DQ_ATI = 0x8979; 131 int GL_SWIZZLE_STRQ_ATI = 0x897A; 132 int GL_SWIZZLE_STRQ_DQ_ATI = 0x897B; 133 int GL_RED_BIT_ATI = 0x00000001; 134 int GL_GREEN_BIT_ATI = 0x00000002; 135 int GL_BLUE_BIT_ATI = 0x00000004; 136 int GL_2X_BIT_ATI = 0x00000001; 137 int GL_4X_BIT_ATI = 0x00000002; 138 int GL_8X_BIT_ATI = 0x00000004; 139 int GL_HALF_BIT_ATI = 0x00000008; 140 int GL_QUARTER_BIT_ATI = 0x00000010; 141 int GL_EIGHTH_BIT_ATI = 0x00000020; 142 int GL_SATURATE_BIT_ATI = 0x00000040; 143 int GL_COMP_BIT_ATI = 0x00000002; 144 int GL_NEGATE_BIT_ATI = 0x00000004; 145 int GL_BIAS_BIT_ATI = 0x00000008; 146 147 @GLuint glGenFragmentShadersATI(@Luint int range)148 int glGenFragmentShadersATI(@GLuint int range); 149 glBindFragmentShaderATI(@Luint int id)150 void glBindFragmentShaderATI(@GLuint int id); 151 glDeleteFragmentShaderATI(@Luint int id)152 void glDeleteFragmentShaderATI(@GLuint int id); 153 glBeginFragmentShaderATI()154 void glBeginFragmentShaderATI(); 155 glEndFragmentShaderATI()156 void glEndFragmentShaderATI(); 157 glPassTexCoordATI(@Luint int dst, @GLuint int coord, @GLenum int swizzle)158 void glPassTexCoordATI(@GLuint int dst, @GLuint int coord, @GLenum int swizzle); 159 glSampleMapATI(@Luint int dst, @GLuint int interp, @GLenum int swizzle)160 void glSampleMapATI(@GLuint int dst, @GLuint int interp, @GLenum int swizzle); 161 glColorFragmentOp1ATI(@Lenum int op, @GLuint int dst, @GLuint int dstMask, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod)162 void glColorFragmentOp1ATI(@GLenum int op, @GLuint int dst, @GLuint int dstMask, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod); 163 glColorFragmentOp2ATI(@Lenum int op, @GLuint int dst, @GLuint int dstMask, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod)164 void glColorFragmentOp2ATI(@GLenum int op, @GLuint int dst, @GLuint int dstMask, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod); 165 glColorFragmentOp3ATI(@Lenum int op, @GLuint int dst, @GLuint int dstMask, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod, @GLuint int arg3, @GLuint int arg3Rep, @GLuint int arg3Mod)166 void glColorFragmentOp3ATI(@GLenum int op, @GLuint int dst, @GLuint int dstMask, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod, @GLuint int arg3, @GLuint int arg3Rep, @GLuint int arg3Mod); 167 glAlphaFragmentOp1ATI(@Lenum int op, @GLuint int dst, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod)168 void glAlphaFragmentOp1ATI(@GLenum int op, @GLuint int dst, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod); 169 glAlphaFragmentOp2ATI(@Lenum int op, @GLuint int dst, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod)170 void glAlphaFragmentOp2ATI(@GLenum int op, @GLuint int dst, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod); 171 glAlphaFragmentOp3ATI(@Lenum int op, @GLuint int dst, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod, @GLuint int arg3, @GLuint int arg3Rep, @GLuint int arg3Mod)172 void glAlphaFragmentOp3ATI(@GLenum int op, @GLuint int dst, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod, @GLuint int arg3, @GLuint int arg3Rep, @GLuint int arg3Mod); 173 174 // TODO:is the @Check correct? glSetFragmentShaderConstantATI(@Luint int dst, @Check(R) @Const FloatBuffer pfValue)175 void glSetFragmentShaderConstantATI(@GLuint int dst, @Check("4") @Const FloatBuffer pfValue); 176 } 177