REDRenderShader.h
Macro Definitions
Namespaces
Types
Detailed Description
Header file describing the RED::RenderShader class, that is the shader class leveraging programmable graphics hardware.
Macro Definition
-
RED_LIGHT_DIRECTIONAL
Type of a light source identifying a directional light. A directional light is defined by the light source axis system. It emits its light in the sight axis direction. A directional light has no attenuation equation, and emits lights in the whole scene space.
-
RED_LIGHT_BEAM
Type of a light source identifying a light beam. A light beam is a directional light whose effect area is reduced to a cylindrical region of space. The light source axis system defines the cylinder referential. The beam light may have an attenuation.
-
RED_LIGHT_SUN_LIGHT
Type of a light source identifying a physical sun light.
-
RED_LIGHT_MOON_LIGHT
Type of a light source identifying a physical moon light.
-
RED_LIGHT_POINT
Type of a light source identifying an omnidirectional light.
-
RED_LIGHT_AREA
Type of a light source identifying an area area light source. An area light source is made of lighting and shadowing samples. These lights produce smooth shadowing effects.
-
RED_LIGHT_POINT_SPOT
Type of a light source identifying a point light spot. The spot uses the light source axis system . Spot direction is along the sight axis of the light’s system. The maximal angle of a spot falloff is RED_PI/2 (the sum of the spot angle and falloff).
-
RED_LIGHT_AREA_SPOT
Type of a light source identifying an area light spot. Is similar to the RED_LIGHT_POINT_SPOT. The apex of the spot cone is located at the center of the area light sphere, and therefore cuts its effect in its containment sphere.
-
RED_LIGHT_NO_LIGHT
Flag used by the RenderShader to indicate that a parameter is not to be used with any kind of light.
-
RED_LIGHT_AMBIENT_LIGHT
Type of a light indicating an ambient light.
-
RED_LIGHT_SKY_LIGHT
Type of a light indicating a sky light.
-
RED_LIGHT_PHYSICAL_LIGHT
Type of a light indicating a physical light.
-
RED_SHAD_TARGET_LIGHT_DIRECTIONAL
Shader target flag indicating that we only target directional lights parameters.
-
RED_SHAD_TARGET_LIGHT_BEAM
Shader target flag indicating that we only target beam lights parameters.
-
RED_SHAD_TARGET_LIGHT_POINT
Shader target flag indicating that we only target point lights parameters.
-
RED_SHAD_TARGET_LIGHT_AREA
Shader target flag indicating that we only target area lights parameters.
-
RED_SHAD_TARGET_LIGHT_POINT_SPOT
Shader target flag indicating that we only target point spot lights parameters.
-
RED_SHAD_TARGET_LIGHT_AREA_SPOT
Shader target flag indicating that we only target area spot lights parameters.
-
RED_SHAD_TARGET_LIGHT_NO_LIGHT
Shader target flag indicating that we only target parameters that are not related to lighting.
-
RED_SHAD_TARGET_LIGHT_SKY_LIGHT
-
RED_SHAD_TARGET_REFLECTION_VECTOR
Shader target flag indicating that we only focus on direct reflection vector calculation parameters.
-
RED_SHAD_TARGET_INDIRECT_REFLECTION_VECTOR
Shader target flag indicating that we only focus on indirect reflection vector calculation parameters.
-
RED_SHAD_TARGET_REFRACTION_VECTOR
Shader target flag indicating that we only focus on direct refraction vector calculation parameters.
-
RED_SHAD_TARGET_INDIRECT_REFRACTION_VECTOR
Shader target flag indicating that we only focus on indirect refraction vector calculation parameters.
-
RED_SHAD_TARGET_REFLECTION_CUTOFF
Shader target flag indicating that we only focus on direct reflection cutoff calculation parameters.
-
RED_SHAD_TARGET_INDIRECT_REFLECTION_CUTOFF
Shader target flag indicating that we only focus on indirect reflection cutoff calculation parameters.
-
RED_SHAD_TARGET_REFRACTION_CUTOFF
Shader target flag indicating that we only focus on direct refraction cutoff calculation parameters.
-
RED_SHAD_TARGET_INDIRECT_REFRACTION_CUTOFF
Shader target flag indicating that we only focus on indirect refraction cutoff calculation parameters.
-
RED_SHAD_TARGET_GI_DIFFUSE_COLOR
Shader target used to identify the diffusion color used for GI computations.
-
RED_SHAD_TARGET_GI_REFLECTION_COLOR
Shader target used to identify the reflection color used for GI computations.
-
RED_SHAD_TARGET_GI_TRANSMISSION_COLOR
Shader target used to identify the transmission color used for GI computations.
-
RED_SHAD_TARGET_GI_NORMAL
Shader target used to identify the normal direction used for GI computations.
-
RED_SHAD_TARGET_GI_NORMAL_INDIRECT
Shader target used to identify the normal direction used for GI computations.
-
RED_SHAD_TARGET_SOFT_KILL
Shader target used to identify software ray-tracer pixel kill shaders that mimic the behavior of the shader ‘KIL’ statement. This target goes to a regular rendering pass and not to the RED::MTL_RAYTRACE pass. Note that this target can’t be associated to any state shader data. It only describes the parameters that are needed to decide on killing a fragment or not.
-
RED_SHAD_TARGET_BSDF
Shader target used by BSDF shaders. Those shaders are needed to support path tracing rendering in RED. Currently, this target is reserved for internal use.
-
RED_SHAD_TARGET_ANY_LIGHT
Material target flat indicating that we focus on accessing parameters from any kind of light.
-
RED_SHAD_TARGET_ALL
Combination of all shader targets.
-
RED_L0
Shortcut version of some useful shader targets.
-
RED_LALL
Shortcut version of some useful shader targets.
-
RED_LP
Shortcut version of some useful shader targets.
-
RED_LS
Shortcut version of some useful shader targets.
-
RED_LD
Shortcut version of some useful shader targets.
-
RED_LB
Shortcut version of some useful shader targets.
-
RED_LA
Shortcut version of some useful shader targets.
-
RED_LE
Shortcut version of some useful shader targets.
-
RED_LK
Shortcut version of some useful shader targets.
-
RED_GID
Shortcut version of some useful shader targets.
-
RED_GIR
Shortcut version of some useful shader targets.
-
RED_GIT
Shortcut version of some useful shader targets.
-
RED_GIN
Shortcut version of some useful shader targets.
-
RED_GIN_IND
Shortcut version of some useful shader targets.
-
RED_VMxTy(matx, uv)
Vertex program selection macro: indicates a number of matrix channels and texture channels to transform.
-
RED_SHADER_LIGHT_ATTENUATION
Parameter bound by RED::RenderShader::BindLight
.
Parameter used in all shaders using the light source attenuation ramp encoded as a mono dimension texture (however, sampled as RECT).
-
RED_SHADER_LIGHT_SHADOW_IMAGE
Parameter bound by RED::RenderShader::BindLight
.
Parameter used in all shaders that need an access to the per pixel shadow image to apply to the resulting shader pixel color.
-
RED_SHADER_LIGHT_RANGE
Parameter bound by RED::RenderShader::BindLight
.
Parameter used in all shaders that need an access to the range of the light source.
-
RED_SHADER_LIGHT_SPOT_FALLOFF
Parameter bound by RED::RenderShader::BindLight
.
Parameter used in all shaders that need an access to the falloff texture of a spot to apply to the resulting shader pixel color.
-
RED_SHADER_LIGHT_BEAM_FALLOFF
Parameter bound by RED::RenderShader::BindLight
.
Parameter used in all shaders that need an access to the falloff texture of a beam light to apply to the resulting shader pixel color.
-
RED_SHADER_LIGHT_POS
Parameter bound by RED::RenderShader::BindLight
.
Parameter used in all shaders that need an access to the light axis system.
-
RED_SHADER_LIGHT_SIGHT
Parameter bound by RED::RenderShader::BindLight
.
Parameter used in all shaders that need an access to the light axis system.
-
RED_SHADER_LIGHT_TOP
Parameter bound by RED::RenderShader::BindLight
.
Parameter used in all shaders that need an access to the light axis system.
-
RED_SHADER_LIGHT_RIGHT
Parameter bound by RED::RenderShader::BindLight
.
Parameter used in all shaders that need an access to the light axis system.
-
RED_SHADER_LIGHT_PROJUV
Parameter bound by RED::RenderShader::BindLight
.
Parameter used in all shaders that need an access to the light uv projector matrix.
-
RED_SHADER_LIGHT_AMBCOL
Parameter bound by RED::RenderShader::BindLight
.
Parameter used in all shaders that need an access to the light ambient color.
-
RED_SHADER_LIGHT_DIFCOL
Parameter bound by RED::RenderShader::BindLight
.
Parameter used in all shaders that need an access to the light diffuse color.
-
RED_SHADER_LIGHT_SPECOL
Parameter bound by RED::RenderShader::BindLight
.
Parameter used in all shaders that need an access to the light specular color.
-
RED_SHADER_INDIRECT_FACE_CULLING
-
RED_SHADER_LIGHT_FRAGMENT_POS_JITTER
Parameter bound by RED::RenderShader::BindLight
.
Name of the parameter used to bind the fragment position jittering data for an area or sky light source.
-
RED_SHADER_LIGHT_AREA_SAMPLE_POS
Parameter bound by RED::RenderShader::BindLight
.
Name of the parameter used to bind the sample jittering data for an area light source.
-
RED_SHADER_LIGHT_SKY_SAMPLE_POS_JITTER
Parameter bound by RED::RenderShader::BindLight
.
Name of the parameter used to bind the sample jittering data for a sky light source.
-
RED_SHADER_LIGHT_SKY_SMOOTH_CUBE
Parameter bound by RED::RenderShader::BindLight
.
Name of the parameter used to bind the sky texture smooth cube used for diffuse GPU shading.
-
RED_SHADER_INDIRECT_RAY_POS
Parameter bound by RED::RenderShader::BindRayVsTriangle
.
Used for the binding of
RED::RenderShaderParameter::REF_RAY_STARTING_POS_IMAGE.
-
RED_SHADER_INDIRECT_RAY_DIR
Parameter bound by RED::RenderShader::BindRayVsTriangle
.
Used for the binding of
RED::RenderShaderParameter::REF_RAY_INCIDENT_DIR_IMAGE.
-
RED_SHADER_INDIRECT_RAY_TRIANGLE
Parameter bound by RED::RenderShader::BindRayVsTriangle
.
Used for the binding of
RED::RenderShaderParameter::REF_RAY_TRIANGLE_IMAGE.
-
RED_SHADER_POLYGON_FACING
Parameter used in many built-in engine vertex / pixel shaders. Used to specify which face (+1,+1,+1,+1) or (-1,-1,-1,-1) of the geometry is currently rendered.