lambdacube-engine-0.2.1: 3D rendering engine written entirely in Haskell

Graphics.LambdaCube.Pass

Synopsis

Documentation

data IlluminationStage Source

Categorisation of passes for the purpose of additive lighting

Constructors

IS_AMBIENT

Part of the rendering which occurs without any kind of direct lighting

IS_PER_LIGHT

Part of the rendering which occurs per light

IS_DECAL

Post-lighting rendering

IS_UNKNOWN

Not determined

data (Texture t, LinkedGpuProgram lp) => Pass t lp Source

Constructors

Pass 

Fields

psName :: String

optional name for the pass

psAmbient :: ColourValue
 
psDiffuse :: ColourValue
 
psSpecular :: ColourValue
 
psEmissive :: ColourValue
 
psShininess :: FloatType
 
psTracking :: TrackVertexColourType
 
psSourceBlendFactor :: SceneBlendFactor
 
psDestBlendFactor :: SceneBlendFactor
 
psSourceBlendFactorAlpha :: SceneBlendFactor
 
psDestBlendFactorAlpha :: SceneBlendFactor
 
psSeparateBlend :: Bool

Used to determine if separate alpha blending should be used for color and alpha channels

psBlendOperation :: SceneBlendOperation
 
psAlphaBlendOperation :: SceneBlendOperation
 
psSeparateBlendOperation :: Bool

Determines if we should use separate blending operations for color and alpha channels

psDepthCheck :: Bool
 
psDepthWrite :: Bool
 
psDepthFunc :: CompareFunction
 
psDepthBiasConstant :: FloatType
 
psDepthBiasSlopeScale :: FloatType
 
psDepthBiasPerIteration :: FloatType
 
psColourWrite :: Bool
 
psAlphaRejectFunc :: CompareFunction
 
psAlphaRejectVal :: Int
 
psAlphaToCoverageEnabled :: Bool
 
psTransparentSorting :: Bool

Transparent depth sorting

psTransparentSortingForced :: Bool

Transparent depth sorting forced

psCullMode :: CullingMode
 
psManualCullMode :: ManualCullingMode
 
psLightingEnabled :: Bool

Lighting enabled?

psMaxSimultaneousLights :: Int

Max simultaneous lights

psStartLight :: Int

Starting light index

psLightsPerIteration :: Maybe Int

Run this pass once per light? Iterate per how many lights?

psOnlyLightType :: Maybe LightTypes

Should it only be run for a certain light type?

psShadeOptions :: ShadeOptions

Shading options

psPolygonMode :: PolygonMode

Polygon mode

psNormaliseNormals :: Bool
 
psPolygonModeOverrideable :: Bool
 
psFogOverride :: Bool
 
psFogMode :: FogMode
 
psFogColour :: ColourValue
 
psFogStart :: FloatType
 
psFogEnd :: FloatType
 
psFogDensity :: FloatType
 
psTextureUnitStates :: [TextureUnitState t]
 
psVertexProgramUsage :: Maybe GpuProgramUsage

Vertex program details

psFragmentProgramUsage :: Maybe GpuProgramUsage

Fragment program details

psGeometryProgramUsage :: Maybe GpuProgramUsage

Geometry program details

psLinkedGpuProgram :: Maybe lp
 
psPassIterationCount :: Int

number of pass iterations to perform

psPointSize :: FloatType

point size, applies when not using per-vertex point size

psPointMinSize :: FloatType
 
psPointMaxSize :: FloatType
 
psPointSpritesEnabled :: Bool
 
psPointAttenuationEnabled :: Bool
 
psPointAttenuationCoeffs :: FloatType3

constant, linear, quadratic coeffs

psLightScissoring :: Bool

Scissoring for the light?

psLightClipPlanes :: Bool

User clip planes for light?

psIlluminationStage :: IlluminationStage

Illumination stage?

Instances

(Texture t, LinkedGpuProgram lp) => Eq (Pass t lp) 
(Texture t, LinkedGpuProgram lp) => Ord (Pass t lp)