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 }