Texture_cubemap
Cubemap
Renders two angles of a cube utilizing a cubemap texture.
Cubemap_q-0.0
Cubemap_q-1.0
Cubemap_q-inf
Cubemap_q0.0
Cubemap_q1.0
Cubemap_qinf
CubemapZeroVector
Renders screen-space quads point sampling a cubemap with a constant texture coordinate per quad. Every texel has a unique color that encodes its face and position: R = x * 4 + 2, G = y * 4 + 2, B = face * 40 + 20, with faces ordered +X, -X, +Y, -Y, +Z, -Z. The exception is texel (0, 0) of the +X face, which is pure magenta. The large quads use zero length directions: (0, 0, 0, 1), (0, 0, 0, 0), and (-0, -0, -0, 1). The small quads below them are a self check of the texel encoding, sampling the +/-X, +/-Y, and +/-Z axis directions in pairs.
CubemapZeroVectorAddressModes
Renders 44x44 screen-space quads sampling the 4 level mipmapped cubemap described in CubemapZeroVectorMipmap_Point in stage 3 using PS_TEXTUREMODES_CUBEMAP. Every quad has the texture coordinate (0, 0, 0, 1) at every vertex. For every quad the P wrap mode is WRAP_CLAMP_TO_EDGE, the MIN_LOD_CLAMP raw value is 0, the MAX_LOD_CLAMP raw value is 0xFFF, the MIPMAP_LOD_BIAS is 0, the convolution kernel is K_QUINCUNX, anisotropy is 1, and the border source is NV097_SET_TEXTURE_BORDER_COLOR with the value 0xFFFF0000. The left block of quads uses MIN_TENT_TENT_LOD with MAG_TENT_LOD0. Left to right, its columns use the address mode WRAP_REPEAT ("WRAP"), WRAP_MIRROR ("MIRR"), WRAP_CLAMP_TO_EDGE ("CLMP"), WRAP_BORDER ("BRDR"), and WRAP_CLAMP_TO_EDGE_OGL ("OGL"). The right block of quads uses MIN_BOX_NEARESTLOD with MAG_BOX_LOD0. Left to right, its columns use WRAP_MIRROR ("MIRR"), WRAP_BORDER ("BRDR"), and WRAP_CLAMP_TO_EDGE_OGL ("OGL"). Top to bottom, the rows of both blocks set U to the column's address mode with V WRAP_CLAMP_TO_EDGE ("U=m"), U WRAP_CLAMP_TO_EDGE with V set to the column's address mode ("V=m"), and both U and V set to the column's address mode ("UV=m").
CubemapZeroVectorConvolution
Renders 44x44 screen-space quads sampling the 4 level mipmapped cubemap described in CubemapZeroVectorMipmap_Point in stage 3 using PS_TEXTUREMODES_CUBEMAP. Every quad has the texture coordinate (0, 0, 0, 1) at every vertex. For every quad the MIN_LOD_CLAMP raw value is 0, the MAX_LOD_CLAMP raw value is 0xFFF, the MIPMAP_LOD_BIAS is 0, anisotropy is 1, and the border source is NV097_SET_TEXTURE_BORDER_COLOR with the value 0xFFFF0000. Left to right, the columns use MIN_CONVOLUTION_2D_LOD0 with MAG_CONVOLUTION_2D_LOD0 and the K_QUINCUNX kernel ("CCQ"), MIN_CONVOLUTION_2D_LOD0 with MAG_CONVOLUTION_2D_LOD0 and the K_GAUSSIAN_3 kernel ("CCG"), MIN_CONVOLUTION_2D_LOD0 with MAG_BOX_LOD0 ("CB"), MIN_CONVOLUTION_2D_LOD0 with MAG_TENT_LOD0 ("CT"), MIN_BOX_NEARESTLOD with MAG_CONVOLUTION_2D_LOD0 ("BNC"), and MIN_TENT_TENT_LOD with MAG_CONVOLUTION_2D_LOD0 ("TTC"). The last four use the K_QUINCUNX kernel. The U, V, and P wrap modes of the top row ("WRAP") are WRAP_REPEAT and of the bottom row ("CLMP") are WRAP_CLAMP_TO_EDGE.
CubemapZeroVectorFilters
Renders 44x44 screen-space quads sampling the 4 level mipmapped cubemap described in CubemapZeroVectorMipmap_Point in stage 3 using PS_TEXTUREMODES_CUBEMAP. Every quad has the texture coordinate (0, 0, 0, 1) at every vertex. For every quad the U, V, and P wrap modes are WRAP_REPEAT, the MIN_LOD_CLAMP raw value is 0, the MAX_LOD_CLAMP raw value is 0xFFF, the MIPMAP_LOD_BIAS is 0, the convolution kernel is K_QUINCUNX, anisotropy is 1, and the border source is NV097_SET_TEXTURE_BORDER_COLOR with the value 0xFFFF0000. The top row of quads uses MAG_BOX_LOD0 ("magB") and the bottom row uses MAG_TENT_LOD0 ("magT"). Left to right, the min filters are MIN_BOX_LOD0 ("B0"), MIN_TENT_LOD0 ("T0"), MIN_BOX_NEARESTLOD ("BN"), MIN_TENT_NEARESTLOD ("TN"), MIN_BOX_TENT_LOD ("BT"), and MIN_TENT_TENT_LOD ("TT").
CubemapZeroVectorMipmap_Linear
The same as CubemapZeroVectorMipmap_Point, except the filter is MIN_TENT_TENT_LOD with MAG_TENT_LOD0.
CubemapZeroVectorMipmap_LinearWrap
The same as CubemapZeroVectorMipmap_Linear, except the U, V, and P wrap modes are WRAP_REPEAT.
CubemapZeroVectorMipmap_Point
Renders screen-space quads sampling a 64x64 A8B8G8R8 cubemap with 4 mipmap levels (64, 32, 16, 8) in stage 3 using PS_TEXTUREMODES_CUBEMAP. The filter is MIN_BOX_NEARESTLOD with MAG_BOX_LOD0, and the U, V, and P wrap modes are WRAP_CLAMP_TO_EDGE. Colors are given as ARGB. On the +X face, every texel of level 0, 1, 2, 3 is 0xFF0000A0, 0xFF00A000, 0xFFA00000, 0xFFA0A0A0 respectively, except for: texel (0, 0), which is 0xFFFF00FF, 0xFF00FFFF, 0xFFFFFF00, 0xFFFFFFFF on level 0, 1, 2, 3; texel (1, 0), which is 0xFFFF8000; texel (0, 1), which is 0xFF8000FF; texel (1, 1), which is 0xFF00FF80; the last column, which is 0xFF000000; the last row, which is 0xFF808000; and the last texel of the last row, which is 0xFF008080. Every texel of every level of the other faces is a single color per face: -X 0xFF603030, +Y 0xFFFF80C0, -Y 0xFF306030, +Z 0xFF80C0FF, -Z 0xFF303060.
DotReflectConst_0_-1to1
DotReflectConst_0_-1to1D3D
DotReflectConst_0_-1to1GL
DotReflectConst_0_0to1
DotReflectConst_0_HiLo_1
DotReflectConst_0_HiLoHemi
DotReflectConst_1_-1to1
DotReflectConst_1_-1to1D3D
DotReflectConst_1_-1to1GL
DotReflectConst_1_0to1
DotReflectConst_1_HiLo_1
DotReflectConst_1_HiLoHemi
DotReflectConst_2_-1to1
DotReflectConst_2_-1to1D3D
DotReflectConst_2_-1to1GL
DotReflectConst_2_0to1
DotReflectConst_2_HiLo_1
DotReflectConst_2_HiLoHemi
DotReflectDiffuse_-1to1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_DIFF pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1.
DotReflectDiffuse_-1to1D3D
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_DIFF pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1_d3d.
DotReflectDiffuse_-1to1GL
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_DIFF pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1_gl.
DotReflectDiffuse_0to1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_DIFF pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_zero_to_one.
DotReflectDiffuse_HiLo_1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_DIFF pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_1.
DotReflectDiffuse_HiLoHemi
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_DIFF pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_hemisphere.
DotReflectDiffuseZeroVector
Renders screen-space quads using PS_TEXTUREMODES_DOT_RFLCT_DIFF on stage 2 (stage 0 is 2D projective, stage 1 is PS_TEXTUREMODES_DOT_PRODUCT, stage 3 is PS_TEXTUREMODES_DOT_RFLCT_SPEC), point sampling a cubemap in stage 2 and outputting only stage 2. The cubemap texel encoding is the same as in CubemapZeroVector. The dot RGB mapping, stage 0 texture, large quad texture coordinates, w components, eye vector, and self check quads are the same as in DotSTRCubeZeroVector. The cube direction is the normal N = (dot1, dot2, dot3).
DotReflectSpec_-1to1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1.
DotReflectSpec_-1to1D3D
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1_d3df.
DotReflectSpec_-1to1GL
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1_glf.
DotReflectSpec_0_-1to1
DotReflectSpec_0_-1to1D3D
DotReflectSpec_0_-1to1GL
DotReflectSpec_0_0to1
DotReflectSpec_0_HiLo_1
DotReflectSpec_0_HiLoHemi
DotReflectSpec_0to1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_zero_to_onef.
DotReflectSpec_1_-1to1
DotReflectSpec_1_-1to1D3D
DotReflectSpec_1_-1to1GL
DotReflectSpec_1_0to1
DotReflectSpec_1_HiLo_1
DotReflectSpec_1_HiLoHemi
DotReflectSpec_2_-1to1
DotReflectSpec_2_-1to1D3D
DotReflectSpec_2_-1to1GL
DotReflectSpec_2_0to1
DotReflectSpec_2_HiLo_1
DotReflectSpec_2_HiLoHemi
DotReflectSpec_HiLo_1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_1f.
DotReflectSpec_HiLoHemi
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_hemispheref.
DotReflectSpecConst_-1to1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC_CONST pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1.
DotReflectSpecConst_-1to1D3D
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC_CONST pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1_d3d.
DotReflectSpecConst_-1to1GL
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC_CONST pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1_gl.
DotReflectSpecConst_0to1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC_CONST pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_zero_to_one.
DotReflectSpecConst_HiLo_1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC_CONST pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_1.
DotReflectSpecConst_HiLoHemi
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC_CONST pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_hemisphere.
DotReflectSpecConstZeroVector
Renders screen-space quads using PS_TEXTUREMODES_DOT_RFLCT_SPEC_CONST on stage 3 (stage 0 is 2D projective, stages 1 and 2 are PS_TEXTUREMODES_DOT_PRODUCT), point sampling a cubemap in stage 3. The cubemap texel encoding, dot RGB mapping, stage 0 texture, and quad normals are the same as in DotReflectSpecZeroVector. The eye vector E is provided via NV097_SET_EYE_VECTOR, which is set before each quad, and the w components of stages 1-3 are 1. The large quads and self check quads use the same N and E as in DotReflectSpecZeroVector.
DotReflectSpecZeroVector
Renders screen-space quads using PS_TEXTUREMODES_DOT_RFLCT_SPEC on stage 3 (stage 0 is 2D projective, stages 1 and 2 are PS_TEXTUREMODES_DOT_PRODUCT), point sampling a cubemap in stage 3. The cubemap texel encoding, dot RGB mapping, and stage 0 texture are the same as in DotSTRCubeZeroVector. The normal is N = (dot1, dot2, dot3) and the eye vector is E = (T1.w, T2.w, T3.w). The cube direction is R = 2 * N * dot(N, E) / dot(N, N) - E. NV097_SET_EYE_VECTOR is (0, 0, 0). The large quads, left to right, use N = (0, 0, 0) with E = (0, 0, 0), N = (0, 0, 0) with E = (1, 0, 0), N = (0, 0, 0) with E = (0, 0, 1), and N = (1, 1, 0) with E = (0, 1, 0), which reflects to (1, 0, 0). The small quads below them are a self check of the texel encoding. Each has N = +X, +Y, or +Z and E = +/-N so that R is +/-X, +/-Y, or +/-Z, in pairs.
DotSTR3D_-1to1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_3D pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1.
DotSTR3D_-1to1D3D
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_3D pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1_d3d.
DotSTR3D_-1to1GL
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_3D pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1_gl.
DotSTR3D_0to1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_3D pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_zero_to_one.
DotSTR3D_HiLo_1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_3D pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_1.
DotSTR3D_HiLoHemi
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_3D pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_hemisphere.
DotSTRCube_-1to1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_CUBE pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1.
DotSTRCube_-1to1D3D
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_CUBE pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1_d3d.
DotSTRCube_-1to1GL
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_CUBE pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1_gl.
DotSTRCube_0to1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_CUBE pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_zero_to_one.
DotSTRCube_HiLo_1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_CUBE pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_1.
DotSTRCube_HiLoHemi
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_CUBE pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_hemisphere.
DotSTRCubeZeroVector
Renders screen-space quads using PS_TEXTUREMODES_DOT_STR_CUBE on stage 3 (stage 0 is 2D projective, stages 1 and 2 are PS_TEXTUREMODES_DOT_PRODUCT), point sampling a cubemap in stage 3. The cubemap texel encoding is the same as in CubemapZeroVector. NV097_SET_DOT_RGBMAPPING is set to dotmap_zero_to_one for all stages. Stage 0 is a 4x4 texture of constant color 0xFFFFFFFF, so the dot products are dot(Ti.xyz, (1, 1, 1)). Each large quad has constant texture coordinates and the xyz components of stages 1-3 are all 0, so (dot1, dot2, dot3) = (0, 0, 0). The w components of stages 1-3 differ per quad: (0, 0, 0), (1, 1, 1), and (-1, 0.5, 2). NV097_SET_EYE_VECTOR is (0, 0, 0). The small quads below them are a self check of the texel encoding. Each sets a single xyz component of one stage to +/-1 and the rest to 0 so that (dot1, dot2, dot3) is +/-X, +/-Y, or +/-Z, in pairs.