R2 Shaders
File List
Here is a list of all documented files with brief descriptions:
 Fxaa3_11.h
 R2BilateralBlur.hFunctions for performing bilateral blurs
 R2Bilinear.hFunctions for performing bilinear interpolation
 R2BoxBlur.hFunctions for performing box blurs
 R2CubeMaps.hFunctions for dealing with cube maps
 R2DebugColorVertices.fragWrite the given color to the first fragment output
 R2DebugColorVerticesWorldPosition.vert
 R2DebugEyePositionReconstruction.fragA fragment shader driver for reconstructing eye-space positions
 R2DebugEyeZReconstruction.fragA fragment shader driver for reconstructing eye-space Z positions
 R2DebugIdentity.fragWrites a constant color to the first fragment output
 R2DebugLogDepth.fragWrites the logarithmic depth of the fragment to the first fragment output
 R2DebugLogDepthComposed.fragWrites the logarithmic depth of the fragment to the first fragment output
 R2DebugNormalCompression.fragTreats the input data as a normal vector, compresses it, and writes it to the first fragment output
 R2DebugPositionOnly.vertAssumes vertex positions are in clip space and ignores other attributes
 R2DebugVisualConstant.fragWrite the given color to the first fragment output
 R2DebugVisualConstantScreen.vertA vertex shader for full-screen debug geometry
 R2DepthBasic.hBasic depth-only implementation that discards fragments based on the opacity of an albedo texture and a threshold value
 R2DepthBasicBatched.fragAn instantiation of the R2DepthBasic shader for batched instances
 R2DepthBasicSingle.fragAn instantiation of the R2DepthBasic shader for single instances
 R2DepthBatched.vertA vertex shader for batched instances
 R2DepthShaderDriverBatched.hA fragment depth shader driver for batched instances
 R2DepthShaderDriverSingle.hA fragment shader driver for single instance depth shaders
 R2DepthShaderMain.hThe main function that all depth shaders must implement
 R2DepthSingle.vertA vertex shader for single (depth-only) instances
 R2DepthTypes.hTypes related to depth/depth-variance rendering
 R2EnvironmentReflection.hFunctions for environment-mapped reflections
 R2Filter.vertFull-screen filter vertex shader
 R2FilterBilateralBlurDepthAwareHorizontal4f.fragHorizontal RGBA bilateral depth-aware blur filter
 R2FilterBilateralBlurDepthAwareVertical4f.fragVertical RGBA bilateral depth-aware blur filter
 R2FilterBoxBlurHorizontal4f.fragHorizontal RGBA box blur filter
 R2FilterBoxBlurVertical4f.fragVertical RGBA box blur filter
 R2FilterEmission.fragEmission filter
 R2FilterLightApplicator.fragLight application filter
 R2FilterOcclusionApplicator.fragOcclusion application filter
 R2FilterTextureShow.fragTexture display filter
 R2FXAA.hFXAA fragment shader
 R2FXAA_10.frag
 R2FXAA_15.frag
 R2FXAA_20.frag
 R2FXAA_25.frag
 R2FXAA_29.frag
 R2FXAA_39.frag
 R2FXAAFragment.hFXAA fragment shader
 R2GBufferInput.hThe textures that make up the G-Buffer
 R2GBufferOutput.hThe G-Buffer format
 R2LightAmbient.hFunctions and types related to ambient lighting
 R2LightAmbientSingle.fragAn instantiation of the R2LightAmbientWithOcclusion shader for single instances
 R2LightAmbientSingle.vertA vertex shader for full-screen single-instance ambient lights
 R2LightAmbientWithOcclusion.hA trivial ambient light with mapped occlusion
 R2LightDirectional.hFunctions and types related to directional lighting
 R2LightDirectionalDebugConstant.hA trivial directional light that simply ignores the surface and applies a constant color
 R2LightDirectionalDebugConstantSingle.fragAn instantiation of the R2LightDirectionalDebugConstant shader for single instances
 R2LightDirectionalSingle.vertA vertex shader for full-screen single-instance directional lights
 R2LightDirectionalSpecular.hA trivial directional light with Phong specular highlights
 R2LightDirectionalSpecularSingle.fragAn instantiation of the R2LightDirectionalSpecular shader for single instances
 R2LightMatrices.hMatrices required by standard light types
 R2LightOutput.hTypes describing calculated light contributions
 R2LightPositional.hFunctions and types related to positional lighting
 R2LightPositionalSingle.vertSingle-instance positional light vertex shader
 R2LightProjective.hFunctions and types related to projective lighting
 R2LightProjectiveLambert.hA projective light with no specular highlights
 R2LightProjectiveLambertBlinnPhong.hA projective light with Blinn-Phong specular highlights
 R2LightProjectiveLambertBlinnPhongShadowVariance.hA projective light with Blinn-Phong specular highlights and a variance shadow
 R2LightProjectiveLambertBlinnPhongShadowVarianceSingle.fragAn instantiation of the R2LightProjectiveLambertBlinnPhongShadowVariance shader for single instances
 R2LightProjectiveLambertBlinnPhongSingle.fragAn instantiation of the R2LightProjectiveLambertBlinnPhong shader for single instances
 R2LightProjectiveLambertShadowVariance.hA projective light with no specular highlights and a variance shadow
 R2LightProjectiveLambertShadowVarianceSingle.fragAn instantiation of the R2LightProjectiveLambertShadowVariance shader for single instances
 R2LightProjectiveLambertSingle.fragAn instantiation of the R2LightProjectiveLambert shader for single instances
 R2LightShaderDriverSingle.hA fragment shader driver for single instance lights
 R2LightShaderMain.hThe main function that all deferred light shaders must implement
 R2LightSpherical.hFunctions and types related to spherical lighting
 R2LightSphericalDebugAttenuation.hA spherical light that ignores everything about the surface other than the position
 R2LightSphericalDebugAttenuationSingle.fragAn instantiation of the R2LightSphericalDebugAttenuation shader for single instances
 R2LightSphericalDebugConstant.hA spherical light that simply ignores the surface and applies a constant color
 R2LightSphericalDebugConstantSingle.fragAn instantiation of the R2LightSphericalDebugConstant shader for single instances
 R2LightSphericalLambert.hA spherical light with no specular highlights
 R2LightSphericalLambertBlinnPhong.hA spherical light with Blinn-Phong specular highlights
 R2LightSphericalLambertBlinnPhongSingle.fragAn instantiation of the R2LightSphericalLambertBlinnPhong shader for single instances
 R2LightSphericalLambertPhong.hA spherical light with Phong specular highlights
 R2LightSphericalLambertPhongSingle.fragAn instantiation of the R2LightSphericalLambertPhong shader for single instances
 R2LightSphericalLambertSingle.fragAn instantiation of the R2LightSphericalLambert shader for single instances
 R2LightVertex.hData required by each vertex in deferred light rendering, provided as vertex attributes
 R2LogDepth.hLogarithmic depth functions
 R2LogDepthOnlySingle.fragSingle-instance logarithmic depth only fragment shader
 R2LogDepthOnlySingle.vertSingle-instance logarithmic depth only vertex shader
 R2Normals.hFunctions for transforming normal vectors
 R2Nothing.fragA fragment shader that does nothing
 R2PositionReconstruction.hFunctions for performing position reconstruction during deferred rendering
 R2ReconstructedSurface.hSurface data reconstructed from the G-Buffer
 R2ShadowVariance.hFunctions for variance shadows
 R2SSAO.fragFragment shader for calculating an ambient occlusion term
 R2StencilScreen.vertScreen stencil vertex shader
 R2StencilSingle.vertSingle-instance stencil vertex shader
 R2SurfaceBasic.hBasic surface implementation
 R2SurfaceBasicBatched.fragAn instantiation of the R2SurfaceBasic shader for batched instances
 R2SurfaceBasicReflective.hBasic pseudo-reflective (environment mapped) deferred surface implementation
 R2SurfaceBasicReflectiveSingle.fragAn instantiation of the R2SurfaceBasicReflective shader for single instances
 R2SurfaceBasicSingle.fragAn instantiation of the R2SurfaceBasic shader for single instances
 R2SurfaceBasicTypes.hTypes for basic surfaces
 R2SurfaceBatched.vertA vertex shader for batched instances
 R2SurfaceOutput.hTypes describing calculated surfaces
 R2SurfaceShaderDriverBatched.hA fragment shader driver for batched instance surfaces
 R2SurfaceShaderDriverSingle.hA fragment shader driver for single instance surfaces
 R2SurfaceShaderMain.hThe main function that all deferred surface shaders must implement
 R2SurfaceSingle.vertA vertex shader for single instances
 R2SurfaceTypes.hTypes for deferred surface shading
 R2SurfaceVertex.hData required by each vertex in deferred rendering, provided as vertex attributes
 R2SurfaceVertexBatched.hData delivered via vertex attributes to batched instances in deferred rendering
 R2View.hTypes relating to the view
 R2Viewport.hViewport types and functions
 R2ViewRays.hView ray types
 R2White.fragMindlessly write opaque white to the first fragment output