Name ATIX_texture_env_route Name Strings GL_ATIX_texture_env_route Contact Dan Ginsburg, ATI Corporation (dginsbur 'at' ati.com) Evan Hart, ATI Corporation (ehart 'at' ati.com) Notice Copyright ATI Corporation, 2001. IP Status ATI experimental. Version Date: 03/08/2001 Revision: 0.4 Number None Dependencies EXT_texture_env_combine is required and is modified by this extension EXT_secondary_color affects the definition of this extension ARB_multitexture affects the definition of this extension Overview Modifies EXT_texture_env_combine to provide more flexible inputs and outputs. The source has been modified to allow the secondary color and post-transform fog factor to be used as input. Additionally, rather than being able to only input from the previous texture unit, any unit can be used as input. Additionally, a new output mode is added that allows each texture unit to copy the output of its blend stage to the input of any other unit. Issues None New Procedures and Functions None New Tokens Accepted by the parameter of TexEnvf, TexEnvi, TexEnvfv, and TexEnviv when the parameter value is SOURCE0_RGB_EXT, SOURCE1_RGB_EXT, or SOURCE2_RGB_EXT: SECONDARY_COLOR_ATIX 0x???? Accepted by the parameter of TexEnvf, TexEnvi, TexEnvfv, and TexEnviv when the parameter value is SOURCE0_ALPHA_EXT, SOURCE1_ALPHA_EXT, or SOURCE2_ALPHA_EXT: FOG Accepted by the parameter of TexEnvf, TexEnvi, TexEnvfv, and TexEnviv when the parameter value is SOURCE0_RGB_EXT, SOURCE1_RGB_EXT, SOURCE2_RGB_EXT, SOURCE0_ALPHA_EXT, SOURCE1_ALPHA_EXT, or SOURCE2_ALPHA_EXT: TEXTURE0_ARB TEXTURE1_ARB TEXTURE2_ARB TEXTURE3_ARB TEXTURE4_ARB TEXTURE5_ARB TEXTURE6_ARB TEXTURE7_ARB TEXTURE8_ARB TEXTURE9_ARB TEXTURE10_ARB TEXTURE11_ARB TEXTURE12_ARB TEXTURE13_ARB TEXTURE14_ARB TEXTURE15_ARB TEXTURE16_ARB TEXTURE17_ARB TEXTURE18_ARB TEXTURE19_ARB TEXTURE20_ARB TEXTURE21_ARB TEXTURE22_ARB TEXTURE23_ARB TEXTURE24_ARB TEXTURE25_ARB TEXTURE26_ARB TEXTURE27_ARB TEXTURE28_ARB TEXTURE29_ARB TEXTURE30_ARB TEXTURE31_ARB Accepted by the parameter of TexEnvf, TexEnvi, TexEnvfv, and TexEnviv when the parameter value is TEXTURE_ENV TEXTURE_OUTPUT_RGB_ATIX 0x???? TEXTURE_OUTPUT_ALPHA_ATIX 0x???? Accepted by the parameter of TexEnvf, TexEnvi, TexEnvfv, and TexEnviv when the parameter value is TEXTURE_OUTPUT_RGB_ATIX or TEXTURE_OUTPUT_ALPHA_ATIX: NONE TEXTURE0_ARB TEXTURE1_ARB TEXTURE2_ARB TEXTURE3_ARB TEXTURE4_ARB TEXTURE5_ARB TEXTURE6_ARB TEXTURE7_ARB TEXTURE8_ARB TEXTURE9_ARB TEXTURE10_ARB TEXTURE11_ARB TEXTURE12_ARB TEXTURE13_ARB TEXTURE14_ARB TEXTURE15_ARB TEXTURE16_ARB TEXTURE17_ARB TEXTURE18_ARB TEXTURE19_ARB TEXTURE20_ARB TEXTURE21_ARB TEXTURE22_ARB TEXTURE23_ARB TEXTURE24_ARB TEXTURE25_ARB TEXTURE26_ARB TEXTURE27_ARB TEXTURE28_ARB TEXTURE29_ARB TEXTURE30_ARB TEXTURE31_ARB Additions to Chapter 2 of the OpenGL 1.2 Specification (OpenGL Operation) None Additions to Chapter 3 of the OpenGL 1.2 Specification (Rasterization) - Changes to section 3.8.9 specified in EXT_texture_env_combine The arguments Arg0, Arg1 and Arg2 are determined by the values of SOURCE_RGB_EXT, SOURCE_ALPHA_EXT, OPERAND_RGB_EXT and OPERAND_ALPHA_EXT. In the following two tables, Ct and At are the filtered texture RGB and alpha values for this stage or the nth stage; Cc and Ac are the texture environment RGB and alpha values; Cf and Af are the RGB and alpha of the primary color of the incoming fragment; Cp and Ap are the RGB and alpha values resulting from the previous texture environment; and Cs is the secondary color; F is the post-transform fog factor. On texture environment 0, Cp and Ap are identical to Cf and Af, respectively. The relationship is described in tables 3.21 and 3.22. For sources with a value of TEXTURE_ATIX and the the nth texture unit is disabled (implicitly or explicitly) then the results are undefined. SOURCE_RGB_EXT OPERAND_RGB_EXT Argument ----------------- -------------- -------- TEXTURE SRC_COLOR Ct ONE_MINUS_SRC_COLOR (1-Ct) SRC_ALPHA At ONE_MINUS_SRC_ALPHA (1-At) TEXTURE SRC_COLOR Ct ONE_MINUS_SRC_COLOR (1-Ct) SRC_ALPHA At ONE_MINUS_SRC_ALPHA (1-At) CONSTANT_EXT SRC_COLOR Cu ONE_MINUS_SRC_COLOR (1-Cc) SRC_ALPHA Ac ONE_MINUS_SRC_ALPHA (1-Ac) PRIMARY_COLOR_EXT SRC_COLOR Cf ONE_MINUS_SRC_COLOR (1-Cf) SRC_ALPHA Af ONE_MINUS_SRC_ALPHA (1-Af) SECONDARY_COLOR_ATIX SRC_COLOR Cs ONE_MINUS_SRC_COLOR (1-Cs) SRC_ALPHA 0 ONE_MINUS_SRC_ALPHA 1 PREVIOUS_EXT SRC_COLOR Cp ONE_MINUS_SRC_COLOR (1-Cp) SRC_ALPHA Ap ONE_MINUS_SRC_ALPHA (1-Ap) Table 3.21: Arguments for COMBINE_RGB_EXT functions SOURCE_ALPHA_EXT OPERAND_ALPHA_EXT Argument ----------------- -------------- -------- TEXTURE SRC_ALPHA At ONE_MINUS_SRC_ALPHA (1-At) TEXTURE SRC_ALPHA At ONE_MINUS_SRC_ALPHA (1-At) CONSTANT_EXT SRC_ALPHA Ac ONE_MINUS_SRC_ALPHA (1-Ac) PRIMARY_COLOR_EXT SRC_ALPHA Af ONE_MINUS_SRC_ALPHA (1-Af) PREVIOUS_EXT SRC_ALPHA Ap ONE_MINUS_SRC_ALPHA (1-Ap) FOG SRC_ALPHA F ONE_MINUS_SRC_ALPHA (1-F) Table 3.22: Arguments for COMBINE_ALPHA_EXT functions - Added to section 3.8.9 specified in EXT_texture_env_combine Specifying TEXTURE_OUTPUT_RBB_ATIX or TEXTURE_OUTPUT_ALPHA_ATIX for a given unit specifies that the output from the blend operation on the texture unit will be copied to TEXTURE for future blend operations. Additions to Chapter 4 of the OpenGL 1.2 Specification (Per-Fragment Operations and the Framebuffer) None Additions to Chapter 5 of the OpenGL 1.2 Specification (Special Functions) None Additions to Chapter 6 of the OpenGL 1.2 Specification (State and State Requests) None Additions to the AGL/GLX/WGL Specifications None GLX Protocol None Errors Modifications to EXT_texture_env_combine Added new inputs and outputs to combiner configuration. Dependencies on ARB_multitexture Required for TEXTURE input and output. Dependencies on EXT_secondary_color Required for SECONDARY_COLOR_ATIX to be used. New State None New Implementation Dependent State None Revision History None