| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
best utilize per-pixel operations using OpenGL NVIDIA Graphics Process
Top Searches for this datasheetGeForce RIVA Combiners best utilize per-pixel operations using OpenGL NVIDIA Graphics Processors 11/02/1999 NVIDIA OpenGL Combiners (see Figure OpenGL spec) Point Rasterization From Primitive Assembly Line Rasterization Texture Fetching Polygon Rasterization Texture Environment Application Texture Unit Register Combiners General Stage Texture Unit DrawPixels Pixel Rectangle Rasterization Color General Stage Final Stage Bitmap Bitmap Rasterization Coverage Application fragment processing 11/02/1999 Which Texture Environment Combiner Extension use? OpenGL texture environment modulate, replace, blend, decal OpenGL implementation support this EXT_texture_env_add supported extension, guaranteed AB+C, AB+(1-A)C scale bias capability constant extension (NVIDIA ATI) AB+CD, generalizes EXT_texture_env_combine later NVIDIA graphics processors model, non-linear data flow math, input mappings, multiple products texture environment, color sum, stages inputs: color factor, secondary color stages independent active textures future NVIDIA graphics processors (not TNT) 11/02/1999 NV_texture_env_combine4 combiner inputs (RGBA) portion Alpha portion Texture Unit zero constant color zero primary color constant color primary colortexture texture texture texture Texture Unit combiner result zero combiner result constant color zero primary color constant color primary colortexture texture texture texture post-combiner color (RGBA) 11/02/1999 NV_register_combiners Functional Overview texture stages/environment, color sum, current APIs math (negative positive range) range through scaling products lighting image processing applications designed specular, diffuse, ambient per-pixel lighting space bump lighting space bump lighting lighting models color matrix color space conversions model supports non-linear data flows linear chain current APIs VLIW instruction fragment coloring efficient hardware implementation 11/02/1999 NV_register_combiners Examples 11/02/1999 NV_register_combiners Register Combiner Operational Overview initialize registers Portion Alpha Portion stage AB+CD, AB+CD, general combiner stages stage (optional) AB+CD, AB+CD, final combiner AB+(1-A)C+D, RGBA fragment 11/02/1999 NV_register_combiners Register (diffuse) color RGBA fragment's primary color (specular) color fragment's secondary color initially undefined texture fragment's filtered RGBA texel from numbered texture unit numbered texture unit disabled spare undefined current color fragment's factor (only available final combiner) color constant color user-defined RGBA value read-only value zero 11/02/1999 NV_register_combiners General Combiner Operation, portion input registers input input input input written output registers must mutually exclusive output registers primary color secondary color primary color secondary color texture texture AB+CD texture spare spare -orA texture spare spare constant color constant color zero scale bias constant color constant color zero readable writeable computations 11/02/1999 NV_register_combiners General Combiner Stage Computations (Ar, (Br, (Cr, (Dr, AB+CD 11/02/1999 output ABCD output output NV_register_combiners General Combiner Computation computation (texture alpha 0.5) output else output note that texture alpha initially undefined texture unit zero enabled 11/02/1999 NV_register_combiners General Combiner Input Mapping Modes identity max(0.0, invert min(max(x, 0.0, 1.0)) normal [-1, max(0, negate -2.0 max(0.0, bias normal [-0.5, 0.5] max(0.0, bias negate [0.5, -0.5] -max(0.0, identity [-1, negate [-1, 11/02/1999 NV_register_combiners General Combiner Scale Bias Modes 1.0, bias 1.0, bias -0.5 0.5, bias 2.0, bias 2.0, bias -0.5 4.0, bias 11/02/1999 NV_register_combiners General Combiner Stage Register Outputs outputs general combiner stage: three outputs (AB, ABCD) written portion writable registers three Alpha outputs (AB, ABCD) written Alpha portion writable registers outputs must written distinct registers Alpha outputs must written distinct registers I.e., outputs written same register portion either output stage computes product, ABCD output stage must discarded output discarded 11/02/1999 NV_register_combiners General Combiner Operation, Alpha portion input registers input input input input written output registers must mutually exclusive output registers primary color secondary color primary color secondary color texture texture AB+CD texture spare spare constant color constant color zero only blue component readable from -orA texture spare spare scale bias constant color constant color zero readable computations writeable 11/02/1999 NV_register_combiners General Combiner Stage Alpha Computations (Aa) (Ba) (Ca) (Da) AB+CD 11/02/1999 output ABCD output output NV_register_combiners Final Combiner Operation input registers input input primary color secondary color texture texture spare spare constant color constant color zero input input input input spare secondary color input fragment fragment Alpha 11/02/1999 computations NV_register_combiners Final Combiner Input Mapping Modes identity max(0.0, invert min(max(x, 0.0, 1.0)) 11/02/1999 NV_register_combiners Final Combiner Color Clamping secondary color clamping options clamp [0,1] range range (1-A) operates range GeForce Quadro hardware means useful range This fixed subsequent hardware! 11/02/1999 NV_register_combiners OpenGL Register Combiners Enable/Disable Enable register combiners Disable register combiners 11/02/1999 NV_register_combiners OpenGL General Combiner Input/Output Control glCombinerInputNV(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); glCombinerOutputNV(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); 11/02/1999 indicates specifiers Blue indicates state values NV_register_combiners OpenGL General Combiner Input/Output Control Tokens stage portion variable GL_COMBINER0_NV, GL_COMBINER1_NV GL_RGB, GL_ALPHA GL_VARIABLE_A_NV, GL_VARIABLE_B_NV, GL_VARIABLE_C_NV, GL_VARIABLE_D_NV input GL_ZERO, GL_PRIMARY_COLOR_NV, GL_SECONDARY_COLOR_NV, GL_CONSTANT_COLOR0_NV, GL_CONSTANT_COLOR1_NV, GL_TEXTURE0_ARB, GL_TEXTURE1_ARB, GL_FOG, GL_SPARE0_NV, GL_SPARE1_NV mapping GL_UNSIGNED_IDENTITY_NV, GL_UNSIGNED_INVERT_NV, GL_EXPAND_NORMAL_NV, GL_EXPAND_NEGATE_NV, GL_HALF_BIAS_NORMAL_NV, GL_HALF_BIAS_NEGATE_NV, GL_SIGNED_IDENTITY_NV, GL_SIGNED_NEGATE_NV componentUsage GL_RGB, GL_BLUE, GL_ALPHA abOutput, cdOutput, sumOutput GL_DISCARD_NV, GL_PRIMARY_COLOR_NV, GL_SECONDARY_COLOR_NV, GL_TEXTURE0_ARB, GL_TEXTURE1_ARB, GL_SPARE0_NV, GL_SPARE1_NV scale GL_NONE, GL_SCALE_BY_TWO_NV, GL_SCALE_BY_FOUR_NV, GL_SCALE_BY_ONE_HALF_NV bias GL_NONE, GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 11/02/1999 NV_register_combiners OpenGL Final Combiner Input Control glFinalCombinerInputNV(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); indicates specifiers Blue indicates state values 11/02/1999 NV_register_combiners OpenGL Final Combiner Input Control Tokens variable GL_VARIABLE_A_NV, GL_VARIABLE_B_NV, GL_VARIABLE_C_NV, GL_VARIABLE_D_NV, GL_VARIABLE_E_NV, GL_VARIABLE_F_NV, GL_VARIABLE_G_NV input GL_ZERO, GL_PRIMARY_COLOR_NV, GL_SECONDARY_COLOR_NV, GL_CONSTANT_COLOR0_NV, GL_CONSTANT_COLOR1_NV, GL_TEXTURE0_ARB, GL_TEXTURE1_ARB, GL_FOG, GL_SPARE0_NV, GL_SPARE1_NV, GL_E_TIMES_F_NV, mapping GL_UNSIGNED_IDENTITY_NV, GL_UNSIGNED_INVERT_NV componentUsage GL_RGB, GL_BLUE, GL_ALPHA 11/02/1999 NV_register_combiners OpenGL Combiner Parameter Control glCombinerParameterfvNV(GLenum pnamev, const GLfloat *params); glCombinerParameterivNV(GLenum pname, const GLint *params); glCombinerParameterfNV(GLenum pname, GLfloat param); glCombinerParameteriNV(GLenum pnamev, GLint param); 11/02/1999 NV_register_combiners OpenGL Combiner Parameter Control Tokens pname pnamev GL_NUM_COMBINERS_NV, GL_COLOR_SUM_CLAMP_NV GL_NUM_COMBINERS_NV, GL_COLOR_SUM_CLAMP_NV, GL_CONSTANT_COLOR0_NV, GL_CONSTANT_COLOR1_NV 11/02/1999 NV_register_combiners OpenGL Combiner State Queries stage, GLenum portion, GLenum variable, GLenum pname_i, GLfloat *params); stage, GLenum portion, GLenum variable, GLenum pname_i, GLint *params); stage, GLenum portion, GLenum pname_o, GLfloat *params); stage, GLenum portion, GLenum pname_o, GLint *params); fvariable, GLenum pname_i, GLfloat *params); fvariable, GLenum pname_i, GLfloat *params); indicates specifiers 11/02/1999 NV_register_combiners OpenGL Combiner State Queries Tokens stage portion variable fvariable GL_COMBINER0_NV, GL_COMBINER1_NV GL_RGB, GL_ALPHA GL_VARIABLE_A_NV, GL_VARIABLE_B_NV, GL_VARIABLE_C_NV, GL_VARIABLE_D_NV GL_VARIABLE_A_NV, GL_VARIABLE_B_NV, GL_VARIABLE_C_NV, GL_VARIABLE_D_NV, GL_VARIABLE_E_NV, GL_VARIABLE_F_NV, GL_VARIABLE_G_NV pname_i GL_COMBINER_INPUT_NV, GL_COMBINER_MAPPING_NV, GL_COMPONENT_USAGE_NV pname_o GL_COMBINER_AB_DOT_PRODUCT_NV, GL_COMBINER_CD_DOT_PRODUCT_NV, GL_COMBINER_MUX_SUM_NV, GL_COMBINER_SCALE_NV, GL_COMBINER_BIAS_NV, GL_COMBINER_AB_OUTPUT_NV, GL_COMBINER_CD_OUTPUT_NV, GL_COMBINER_SUM_OUTPUT_NV 11/02/1999 Other recent searchesUCN5810A - UCN5810A UCN5810A Datasheet TC55VL836FF-83 - TC55VL836FF-83 TC55VL836FF-83 Datasheet RN1441 - RN1441 RN1441 Datasheet RN1444 - RN1444 RN1444 Datasheet RN1442 - RN1442 RN1442 Datasheet RN1443 - RN1443 RN1443 Datasheet RLAC1216A - RLAC1216A RLAC1216A Datasheet RLAS1216A - RLAS1216A RLAS1216A Datasheet MX2P46D4T-02 - MX2P46D4T-02 MX2P46D4T-02 Datasheet MX3P46D4S-02 - MX3P46D4S-02 MX3P46D4S-02 Datasheet MF228 - MF228 MF228 Datasheet DS5454 - DS5454 DS5454 Datasheet CY28324 - CY28324 CY28324 Datasheet CH7025 - CH7025 CH7025 Datasheet CH7026 - CH7026 CH7026 Datasheet 2SC2334 - 2SC2334 2SC2334 Datasheet
Privacy Policy | Disclaimer |