nn::gr::CTR::Shader Class

Syntax

class Shader

Description

Class for setting the shader binary.

Member Functions

SetupBinary Sets up information used for generating commands based on the shader binary. Note: The binary is not copied. Do not destroy the binary until the command is generated. An ASSERT results if the specified index is not a valid shader. For more information about the index to be specified, see the MAP file generated at link time by ctr_VertexShaderLinker32.exe. Geometry shaders can be disabled by specifying -1 for geo_shader_index.
SetUniformBool Sets a boolean register value for the vertex shader.
SetDrawMode Sets the draw mode. The default is PICA_DATA_DRAW_TRIANGLES. Only PICA_DATA_DRAW_TRIANGLES is currently supported. PICA_DATA_DRAW_TRIANGLE_STRIP and PICA_DATA_DRAW_TRIANGLE_FAN are not yet supported in the current version.
MakeFullCommand Generates all commands required for switching shaders. Call this function after setting the shader binary using the SetupBinary function.
MakeVtxBoolMapCommand Generates a command for setting a value into the vertex shader boolean register. Call this function after setting the shader binary using the SetupBinary function.
MakeGeoBoolMapCommand Generates a command for setting a value into the geometry shader boolean register. Call this function after setting the shader binary using the SetupBinary function.
MakePrepareCommand Generates a command for setting the use of a geometry shader. Call this function after setting the shader binary using the SetupBinary function. This includes dummy commands and commands for setting enable/disable that are required to enable/disable the geometry shader.
MakeVtxProgramCommand Generates a program load command for vertex shaders. This includes the entry point address and executable code within the shader binary. Call this function after setting the shader binary using the SetupBinary function.
MakeGeoProgramCommand Generates a program load command for geometry shaders. This includes the entry point address and executable code within the shader binary. Call this function after setting the shader binary using the SetupBinary function.
MakeVtxSwizzleCommand Generates a command for swizzle pattern loading of vertex shaders. Call this function after setting the shader binary using the SetupBinary function.
MakeGeoSwizzleCommand Generates a command for swizzle pattern loading of geometry shaders. Call this function after setting the shader binary using the SetupBinary function.
MakeVtxConstRgCommand Generates a command for making constant registers uniform for vertex shaders. Call this function after setting the shader binary using the SetupBinary function.
MakeGeoConstRgCommand Generates a command for making constant registers uniform for geometry shaders. Call this function after setting the shader binary using the SetupBinary function.
MakeOutAttrCommand Generates a command for setting shader output attributes. Call this function after setting the shader binary using the SetupBinary function.
SearchBindSymbol Converts from symbol names to symbol information. Symbol type information and bound register numbers can be obtained by specifying the symbol name set by pragma_bind_symbol() in the shader code as an argument. Call this function after setting the shader binary using the SetupBinary function.
SearchBindSymbolNum Searches how many symbols there are of the specified type. Searches for how many symbols there are of the specified type among those set by pragma_bind_symbol in the shader code. Call this function after setting the shader binary using the SetupBinary function.
GetShaderNum Gets the number of executable shaders included in the shader binary.
IsEnableGeoShader Gets whether geometry shaders are enabled.
GetVtxShaderIndex Gets the index of the enabled vertex shader.
GetGeoShaderIndex Gets the index of the enabled geometry shader.
GetVtxShaderBoolMapUniform Gets the boolean map set for the vertex shader.
GetGeoShaderBoolMap Gets the boolean map set for the geometry shader.

Revision History

2010/09/15
Initial version.

CONFIDENTIAL