file REDRenderShader.h
Header of the RED::RenderShader class. Specify a vertex / pixel program pair for the rendering. More...
Go to the source code of this file.
Namespaces:
namespace | RED |
Classes:
class | RenderShader |
class | RenderShaderData |
Defines:
Detailed description:
Header of the RED::RenderShader class. Specify a vertex / pixel program pair for the rendering.
Header file describing the RED::RenderShader class, that is the shader class leveraging programmable graphics hardware.
Defines documentation
Shortcut version of some useful shader targets.
Shortcut version of some useful shader targets.
Shortcut version of some useful shader targets.
Shortcut version of some useful shader targets.
Shortcut version of some useful shader targets.
Shortcut version of some useful shader targets.
Shortcut version of some useful shader targets.
Shortcut version of some useful shader targets.
Shortcut version of some useful shader targets.
Shortcut version of some useful shader targets.
Shortcut version of some useful shader targets.
Type of a light indicating an ambient light.
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.
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.
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.
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.
Type of a light source identifying a physical moon light.
Flag used by the RenderShader to indicate that a parameter is not to be used with any kind of light.
Type of a light indicating a physical light.
Type of a light source identifying an omnidirectional light.
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).
Type of a light indicating a sky light.
Type of a light source identifying a physical sun light.
Shortcut version of some useful shader targets.
Shortcut version of some useful shader targets.
Shortcut version of some useful shader targets.
Combination of all shader targets.
Material target flat indicating that we focus on accessing parameters from any kind of light.
Value:
( RED_SHAD_TARGET_LIGHT_DIRECTIONAL |\
RED_SHAD_TARGET_LIGHT_BEAM |\
RED_SHAD_TARGET_LIGHT_POINT |\
RED_SHAD_TARGET_LIGHT_AREA |\
RED_SHAD_TARGET_LIGHT_POINT_SPOT |\
RED_SHAD_TARGET_LIGHT_AREA_SPOT |\
RED_SHAD_TARGET_LIGHT_SKY_LIGHT )
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.
Shader target used to identify the diffusion color used for GI computations.
Shader target used to identify the normal direction used for GI computations.
Shader target used to identify the normal direction used for GI computations.
Shader target used to identify the reflection color used for GI computations.
Shader target used to identify the transmission color used for GI computations.
Shader target flag indicating that we only focus on indirect reflection cutoff calculation parameters.
Shader target flag indicating that we only focus on indirect reflection vector calculation parameters.
Shader target flag indicating that we only focus on indirect refraction cutoff calculation parameters.
Shader target flag indicating that we only focus on indirect refraction vector calculation parameters.
Shader target flag indicating that we only target area lights parameters.
Shader target flag indicating that we only target area spot lights parameters.
Shader target flag indicating that we only target beam lights parameters.
Shader target flag indicating that we only target directional lights parameters.
Shader target flag indicating that we only target parameters that are not related to lighting.
Shader target flag indicating that we only target point lights parameters.
Shader target flag indicating that we only target point spot lights parameters.
Shader target flag indicating that we only focus on direct reflection cutoff calculation parameters.
Shader target flag indicating that we only focus on direct reflection vector calculation parameters.
Shader target flag indicating that we only focus on direct refraction cutoff calculation parameters.
Shader target flag indicating that we only focus on direct refraction vector calculation parameters.
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.
Parameter bound by RED::RenderShader::BindRayVsTriangle.
Used for the binding of RED::RenderShaderParameter::REF_RAY_INCIDENT_DIR_IMAGE.
Parameter bound by RED::RenderShader::BindRayVsTriangle.
Used for the binding of RED::RenderShaderParameter::REF_RAY_STARTING_POS_IMAGE.
Parameter bound by RED::RenderShader::BindRayVsTriangle.
Used for the binding of RED::RenderShaderParameter::REF_RAY_TRIANGLE_IMAGE.
Parameter bound by RED::RenderShader::BindLight.
Parameter used in all shaders that need an access to the light ambient color.
Parameter bound by RED::RenderShader::BindLight.
Name of the parameter used to bind the sample jittering data for an area light source.
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).
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.
Parameter bound by RED::RenderShader::BindLight.
Parameter used in all shaders that need an access to the light diffuse color.
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.
Parameter bound by RED::RenderShader::BindLight.
Parameter used in all shaders that need an access to the light axis system.
Parameter bound by RED::RenderShader::BindLight.
Parameter used in all shaders that need an access to the light uv projector matrix.
Parameter bound by RED::RenderShader::BindLight.
Parameter used in all shaders that need an access to the range of the light source.
Parameter bound by RED::RenderShader::BindLight.
Parameter used in all shaders that need an access to the light axis system.
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.
Parameter bound by RED::RenderShader::BindLight.
Parameter used in all shaders that need an access to the light axis system.
Parameter bound by RED::RenderShader::BindLight.
Name of the parameter used to bind the sample jittering data for a sky light source.
Parameter bound by RED::RenderShader::BindLight.
Name of the parameter used to bind the sky texture smooth cube used for diffuse GPU shading.
Parameter bound by RED::RenderShader::BindLight.
Parameter used in all shaders that need an access to the light specular color.
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.
Parameter bound by RED::RenderShader::BindLight.
Parameter used in all shaders that need an access to the light axis system.
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.
#define RED_VMxTy | ( | matx, |
uv | ||
) | (8*(uv) + (matx)) |
Vertex program selection macro: indicates a number of matrix channels and texture channels to transform.