lambdacube-engine-0.2.1: Graphics/LambdaCube/Material.hs
module Graphics.LambdaCube.Material where
import Graphics.LambdaCube.GpuProgram
import Graphics.LambdaCube.Technique
import Graphics.LambdaCube.Texture
import Graphics.LambdaCube.Types
data (Texture t, LinkedGpuProgram lp) => Material t lp
= Material
{ mtName :: String
, mtTechniques :: [Technique t lp] -- ^ All techniques, supported and unsupported
, mtSupportedTechniques :: Maybe [Technique t lp] -- ^ Supported techniques of any sort
, mtUserLodValues :: [FloatType] -- ^ distance list used to specify LOD
, mtLodValues :: [FloatType] -- ^ distance list used to specify LOD
, mtReceiveShadows :: Bool
, mtTransparencyCastsShadows :: Bool
, mtUnsupportedReasons :: String -- ^ Text description of why any techniques are not supported
}