-----------------------------------------------------------------------------
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE OverloadedStrings #-}
-----------------------------------------------------------------------------
module THREE.MeshPhongMaterial
  ( -- * Types
    MeshPhongMaterial (..)
    -- * Constructors
  , THREE.MeshPhongMaterial.new
    -- * Read-only Properties
    -- * Properties
  , alphaMap
  , aoMap
  , aoMapIntensity
  , bumpMap
  , bumpScale
  , color
  , combine
  , displacementMap
  , displacementScale
  , displacementBias
  , emissive
  , emissiveMap
  , emissiveIntensity
  , envMap
  , envMapRotation
  , flatShading
  , fog
  , lightMap
  , lightMapIntensity
  , THREE.MeshPhongMaterial.map
  , normalMap
  , normalMapType
  , normalScale
  , reflectivity
  , refractionRatio
  , shininess
  , specular
  , specularMap
  , wireframe
  , wireframeLinecap
  , wireframeLinejoin
  , wireframeLinewidth
    -- * Methods
  ) where
-----------------------------------------------------------------------------
import           Miso
-----------------------------------------------------------------------------
import           THREE.Color
import           THREE.Constants.Materials
import           THREE.Euler
import           THREE.EventDispatcher
import           THREE.Internal as THREE
import           THREE.Material
import           THREE.Texture
import           THREE.Vector2
-----------------------------------------------------------------------------
-- | https://threejs.org/docs/#api/en/materials/MeshPhongMaterial
newtype MeshPhongMaterial
  = MeshPhongMaterial
  { MeshPhongMaterial -> JSVal
unMeshPhongMaterial :: JSVal
  } deriving newtype (MeshPhongMaterial -> IO [JSVal]
(MeshPhongMaterial -> IO [JSVal]) -> ToArgs MeshPhongMaterial
forall args. (args -> IO [JSVal]) -> ToArgs args
$ctoArgs :: MeshPhongMaterial -> IO [JSVal]
toArgs :: MeshPhongMaterial -> IO [JSVal]
ToArgs, MeshPhongMaterial -> IO Object
(MeshPhongMaterial -> IO Object) -> ToObject MeshPhongMaterial
forall a. (a -> IO Object) -> ToObject a
$ctoObject :: MeshPhongMaterial -> IO Object
toObject :: MeshPhongMaterial -> IO Object
ToObject, MeshPhongMaterial -> IO JSVal
(MeshPhongMaterial -> IO JSVal) -> ToJSVal MeshPhongMaterial
forall a. (a -> IO JSVal) -> ToJSVal a
$ctoJSVal :: MeshPhongMaterial -> IO JSVal
toJSVal :: MeshPhongMaterial -> IO JSVal
ToJSVal)
    deriving anyclass (ToObject MeshPhongMaterial
ToJSVal MeshPhongMaterial
Property MeshPhongMaterial Bool
Property MeshPhongMaterial Double
Property MeshPhongMaterial Int
Property MeshPhongMaterial (Maybe [Plane])
Property MeshPhongMaterial (Maybe MisoString)
Property MeshPhongMaterial (Maybe Object)
Property MeshPhongMaterial (Maybe BlendingEquations)
Property MeshPhongMaterial (Maybe DestinationFactors)
Property MeshPhongMaterial (Maybe SourceFactors)
Property MeshPhongMaterial (Maybe BlendingMode)
Property MeshPhongMaterial MisoString
Property MeshPhongMaterial Object
Property MeshPhongMaterial BlendingEquations
Property MeshPhongMaterial SourceFactors
Property MeshPhongMaterial DepthMode
Property MeshPhongMaterial Side
Property MeshPhongMaterial StencilFunctions
Property MeshPhongMaterial StencilOperations
Property MeshPhongMaterial Color
ReadOnly MeshPhongMaterial Bool
ReadOnly MeshPhongMaterial MisoString
EventDispatcher MeshPhongMaterial
Method MeshPhongMaterial () ()
Method MeshPhongMaterial () MisoString
Method MeshPhongMaterial Object ()
Method MeshPhongMaterial Object Object
FromJSVal MeshPhongMaterial =>
Method MeshPhongMaterial () MeshPhongMaterial
(FromJSVal MeshPhongMaterial, ToArgs MeshPhongMaterial) =>
Method MeshPhongMaterial MeshPhongMaterial MeshPhongMaterial
(EventDispatcher MeshPhongMaterial, ToJSVal MeshPhongMaterial,
 ToObject MeshPhongMaterial) =>
ReadOnly MeshPhongMaterial MisoString
-> ReadOnly MeshPhongMaterial MisoString
-> ReadOnly MeshPhongMaterial Bool
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial Double
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial Double
-> Property MeshPhongMaterial Color
-> Property MeshPhongMaterial (Maybe DestinationFactors)
-> Property MeshPhongMaterial (Maybe DestinationFactors)
-> Property MeshPhongMaterial BlendingEquations
-> Property MeshPhongMaterial (Maybe BlendingEquations)
-> Property MeshPhongMaterial (Maybe BlendingMode)
-> Property MeshPhongMaterial SourceFactors
-> Property MeshPhongMaterial (Maybe SourceFactors)
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial (Maybe [Plane])
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial (Maybe Object)
-> Property MeshPhongMaterial DepthMode
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial Int
-> Property MeshPhongMaterial StencilFunctions
-> Property MeshPhongMaterial Int
-> Property MeshPhongMaterial Int
-> Property MeshPhongMaterial StencilOperations
-> Property MeshPhongMaterial StencilOperations
-> Property MeshPhongMaterial StencilOperations
-> Property MeshPhongMaterial Int
-> Property MeshPhongMaterial MisoString
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial Double
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial Int
-> Property MeshPhongMaterial Int
-> Property MeshPhongMaterial (Maybe MisoString)
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial Side
-> Property MeshPhongMaterial Side
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial Int
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial Bool
-> Property MeshPhongMaterial Object
-> (FromJSVal MeshPhongMaterial =>
    Method MeshPhongMaterial () MeshPhongMaterial)
-> ((FromJSVal MeshPhongMaterial, ToArgs MeshPhongMaterial) =>
    Method MeshPhongMaterial MeshPhongMaterial MeshPhongMaterial)
-> Method MeshPhongMaterial () ()
-> Method MeshPhongMaterial () MisoString
-> Method MeshPhongMaterial Object ()
-> Method MeshPhongMaterial Object Object
-> Material MeshPhongMaterial
forall material.
(EventDispatcher material, ToJSVal material, ToObject material) =>
ReadOnly material MisoString
-> ReadOnly material MisoString
-> ReadOnly material Bool
-> Property material Bool
-> Property material Double
-> Property material Bool
-> Property material Double
-> Property material Color
-> Property material (Maybe DestinationFactors)
-> Property material (Maybe DestinationFactors)
-> Property material BlendingEquations
-> Property material (Maybe BlendingEquations)
-> Property material (Maybe BlendingMode)
-> Property material SourceFactors
-> Property material (Maybe SourceFactors)
-> Property material Bool
-> Property material (Maybe [Plane])
-> Property material Bool
-> Property material Bool
-> Property material (Maybe Object)
-> Property material DepthMode
-> Property material Bool
-> Property material Bool
-> Property material Bool
-> Property material Bool
-> Property material Int
-> Property material StencilFunctions
-> Property material Int
-> Property material Int
-> Property material StencilOperations
-> Property material StencilOperations
-> Property material StencilOperations
-> Property material Int
-> Property material MisoString
-> Property material Bool
-> Property material Double
-> Property material Bool
-> Property material Int
-> Property material Int
-> Property material (Maybe MisoString)
-> Property material Bool
-> Property material Bool
-> Property material Side
-> Property material Side
-> Property material Bool
-> Property material Bool
-> Property material Int
-> Property material Bool
-> Property material Bool
-> Property material Object
-> (FromJSVal material => Method material () material)
-> ((FromJSVal material, ToArgs material) =>
    Method material material material)
-> Method material () ()
-> Method material () MisoString
-> Method material Object ()
-> Method material Object Object
-> Material material
$ctype_ :: ReadOnly MeshPhongMaterial MisoString
type_ :: ReadOnly MeshPhongMaterial MisoString
$cuuid :: ReadOnly MeshPhongMaterial MisoString
uuid :: ReadOnly MeshPhongMaterial MisoString
$cisMaterial :: ReadOnly MeshPhongMaterial Bool
isMaterial :: ReadOnly MeshPhongMaterial Bool
$calphaHash :: Property MeshPhongMaterial Bool
alphaHash :: Property MeshPhongMaterial Bool
$calphaTest :: Property MeshPhongMaterial Double
alphaTest :: Property MeshPhongMaterial Double
$calphaToCoverage :: Property MeshPhongMaterial Bool
alphaToCoverage :: Property MeshPhongMaterial Bool
$cblendAlpha :: Property MeshPhongMaterial Double
blendAlpha :: Property MeshPhongMaterial Double
$cblendColor :: Property MeshPhongMaterial Color
blendColor :: Property MeshPhongMaterial Color
$cblendDst :: Property MeshPhongMaterial (Maybe DestinationFactors)
blendDst :: Property MeshPhongMaterial (Maybe DestinationFactors)
$cblendDstAlpha :: Property MeshPhongMaterial (Maybe DestinationFactors)
blendDstAlpha :: Property MeshPhongMaterial (Maybe DestinationFactors)
$cblendEquation :: Property MeshPhongMaterial BlendingEquations
blendEquation :: Property MeshPhongMaterial BlendingEquations
$cblendEquationAlpha :: Property MeshPhongMaterial (Maybe BlendingEquations)
blendEquationAlpha :: Property MeshPhongMaterial (Maybe BlendingEquations)
$cblending :: Property MeshPhongMaterial (Maybe BlendingMode)
blending :: Property MeshPhongMaterial (Maybe BlendingMode)
$cblendSrc :: Property MeshPhongMaterial SourceFactors
blendSrc :: Property MeshPhongMaterial SourceFactors
$cblendSrcAlpha :: Property MeshPhongMaterial (Maybe SourceFactors)
blendSrcAlpha :: Property MeshPhongMaterial (Maybe SourceFactors)
$cclipIntersection :: Property MeshPhongMaterial Bool
clipIntersection :: Property MeshPhongMaterial Bool
$cclippingPlanes :: Property MeshPhongMaterial (Maybe [Plane])
clippingPlanes :: Property MeshPhongMaterial (Maybe [Plane])
$cclipShadows :: Property MeshPhongMaterial Bool
clipShadows :: Property MeshPhongMaterial Bool
$ccolorWrite :: Property MeshPhongMaterial Bool
colorWrite :: Property MeshPhongMaterial Bool
$cdefines :: Property MeshPhongMaterial (Maybe Object)
defines :: Property MeshPhongMaterial (Maybe Object)
$cdepthFunc :: Property MeshPhongMaterial DepthMode
depthFunc :: Property MeshPhongMaterial DepthMode
$cdepthTest :: Property MeshPhongMaterial Bool
depthTest :: Property MeshPhongMaterial Bool
$cdepthWrite :: Property MeshPhongMaterial Bool
depthWrite :: Property MeshPhongMaterial Bool
$cforceSinglePass :: Property MeshPhongMaterial Bool
forceSinglePass :: Property MeshPhongMaterial Bool
$cstencilWrite :: Property MeshPhongMaterial Bool
stencilWrite :: Property MeshPhongMaterial Bool
$cstencilWriteMask :: Property MeshPhongMaterial Int
stencilWriteMask :: Property MeshPhongMaterial Int
$cstencilFunc :: Property MeshPhongMaterial StencilFunctions
stencilFunc :: Property MeshPhongMaterial StencilFunctions
$cstencilRef :: Property MeshPhongMaterial Int
stencilRef :: Property MeshPhongMaterial Int
$cstencilFuncMask :: Property MeshPhongMaterial Int
stencilFuncMask :: Property MeshPhongMaterial Int
$cstencilFail :: Property MeshPhongMaterial StencilOperations
stencilFail :: Property MeshPhongMaterial StencilOperations
$cstencilZFail :: Property MeshPhongMaterial StencilOperations
stencilZFail :: Property MeshPhongMaterial StencilOperations
$cstencilZPass :: Property MeshPhongMaterial StencilOperations
stencilZPass :: Property MeshPhongMaterial StencilOperations
$cid :: Property MeshPhongMaterial Int
id :: Property MeshPhongMaterial Int
$cname :: Property MeshPhongMaterial MisoString
name :: Property MeshPhongMaterial MisoString
$cneedsUpdate :: Property MeshPhongMaterial Bool
needsUpdate :: Property MeshPhongMaterial Bool
$copacity :: Property MeshPhongMaterial Double
opacity :: Property MeshPhongMaterial Double
$cpolygonOffset :: Property MeshPhongMaterial Bool
polygonOffset :: Property MeshPhongMaterial Bool
$cpolygonOffsetFactor :: Property MeshPhongMaterial Int
polygonOffsetFactor :: Property MeshPhongMaterial Int
$cpolygonOffsetUnits :: Property MeshPhongMaterial Int
polygonOffsetUnits :: Property MeshPhongMaterial Int
$cprecision :: Property MeshPhongMaterial (Maybe MisoString)
precision :: Property MeshPhongMaterial (Maybe MisoString)
$cpremultipliedAlpha :: Property MeshPhongMaterial Bool
premultipliedAlpha :: Property MeshPhongMaterial Bool
$cdithering :: Property MeshPhongMaterial Bool
dithering :: Property MeshPhongMaterial Bool
$cshadowSide :: Property MeshPhongMaterial Side
shadowSide :: Property MeshPhongMaterial Side
$cside :: Property MeshPhongMaterial Side
side :: Property MeshPhongMaterial Side
$ctoneMapped :: Property MeshPhongMaterial Bool
toneMapped :: Property MeshPhongMaterial Bool
$ctransparent :: Property MeshPhongMaterial Bool
transparent :: Property MeshPhongMaterial Bool
$cversion :: Property MeshPhongMaterial Int
version :: Property MeshPhongMaterial Int
$cvertexColors :: Property MeshPhongMaterial Bool
vertexColors :: Property MeshPhongMaterial Bool
$cvisible :: Property MeshPhongMaterial Bool
visible :: Property MeshPhongMaterial Bool
$cuserData :: Property MeshPhongMaterial Object
userData :: Property MeshPhongMaterial Object
$cclone :: FromJSVal MeshPhongMaterial =>
Method MeshPhongMaterial () MeshPhongMaterial
clone :: FromJSVal MeshPhongMaterial =>
Method MeshPhongMaterial () MeshPhongMaterial
$ccopy :: (FromJSVal MeshPhongMaterial, ToArgs MeshPhongMaterial) =>
Method MeshPhongMaterial MeshPhongMaterial MeshPhongMaterial
copy :: (FromJSVal MeshPhongMaterial, ToArgs MeshPhongMaterial) =>
Method MeshPhongMaterial MeshPhongMaterial MeshPhongMaterial
$cdispose :: Method MeshPhongMaterial () ()
dispose :: Method MeshPhongMaterial () ()
$ccustomProgramCacheKey :: Method MeshPhongMaterial () MisoString
customProgramCacheKey :: Method MeshPhongMaterial () MisoString
$csetValues :: Method MeshPhongMaterial Object ()
setValues :: Method MeshPhongMaterial Object ()
$ctoJSON :: Method MeshPhongMaterial Object Object
toJSON :: Method MeshPhongMaterial Object Object
Material, ToObject MeshPhongMaterial
ToJSVal MeshPhongMaterial
Method MeshPhongMaterial (MisoString, Function) ()
Method MeshPhongMaterial Object ()
(ToObject MeshPhongMaterial, ToJSVal MeshPhongMaterial) =>
Method MeshPhongMaterial (MisoString, Function) ()
-> Method MeshPhongMaterial (MisoString, Function) ()
-> Method MeshPhongMaterial (MisoString, Function) ()
-> Method MeshPhongMaterial Object ()
-> EventDispatcher MeshPhongMaterial
forall object.
(ToObject object, ToJSVal object) =>
Method object (MisoString, Function) ()
-> Method object (MisoString, Function) ()
-> Method object (MisoString, Function) ()
-> Method object Object ()
-> EventDispatcher object
$caddEventListener :: Method MeshPhongMaterial (MisoString, Function) ()
addEventListener :: Method MeshPhongMaterial (MisoString, Function) ()
$chasEventListener :: Method MeshPhongMaterial (MisoString, Function) ()
hasEventListener :: Method MeshPhongMaterial (MisoString, Function) ()
$cremoveEventListener :: Method MeshPhongMaterial (MisoString, Function) ()
removeEventListener :: Method MeshPhongMaterial (MisoString, Function) ()
$cdispatchEvent :: Method MeshPhongMaterial Object ()
dispatchEvent :: Method MeshPhongMaterial Object ()
EventDispatcher)

instance FromJSVal MeshPhongMaterial where
  fromJSVal :: JSVal -> IO (Maybe MeshPhongMaterial)
fromJSVal = Maybe MeshPhongMaterial -> IO (Maybe MeshPhongMaterial)
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Maybe MeshPhongMaterial -> IO (Maybe MeshPhongMaterial))
-> (JSVal -> Maybe MeshPhongMaterial)
-> JSVal
-> IO (Maybe MeshPhongMaterial)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. MeshPhongMaterial -> Maybe MeshPhongMaterial
forall a. a -> Maybe a
Just (MeshPhongMaterial -> Maybe MeshPhongMaterial)
-> (JSVal -> MeshPhongMaterial) -> JSVal -> Maybe MeshPhongMaterial
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> MeshPhongMaterial
MeshPhongMaterial

-- Constructor

new :: THREE.Three MeshPhongMaterial
new :: IO MeshPhongMaterial
new = (JSVal -> MeshPhongMaterial)
-> MisoString -> () -> IO MeshPhongMaterial
forall args con.
ToArgs args =>
(JSVal -> con) -> MisoString -> args -> Three con
THREE.new JSVal -> MeshPhongMaterial
MeshPhongMaterial MisoString
"MeshPhongMaterial" ()

-- ReadOnly

-- Property

alphaMap :: (TextureClass texture, FromJSVal texture) => Property MeshPhongMaterial (Maybe texture)
alphaMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshPhongMaterial (Maybe texture)
alphaMap = MisoString -> Property MeshPhongMaterial (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"alphaMap"

aoMap :: (TextureClass texture, FromJSVal texture) => Property MeshPhongMaterial (Maybe texture)
aoMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshPhongMaterial (Maybe texture)
aoMap = MisoString -> Property MeshPhongMaterial (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"aoMap"

aoMapIntensity :: Property MeshPhongMaterial Int
aoMapIntensity :: Property MeshPhongMaterial Int
aoMapIntensity = MisoString -> Property MeshPhongMaterial Int
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"aoMapIntensity"

bumpMap :: (TextureClass texture, FromJSVal texture) => Property MeshPhongMaterial (Maybe texture)
bumpMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshPhongMaterial (Maybe texture)
bumpMap = MisoString -> Property MeshPhongMaterial (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"bumpMap"

bumpScale :: Property MeshPhongMaterial Double
bumpScale :: Property MeshPhongMaterial Double
bumpScale = MisoString -> Property MeshPhongMaterial Double
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"bumpScale"

color :: Property MeshPhongMaterial Color
color :: Property MeshPhongMaterial Color
color = MisoString -> Property MeshPhongMaterial Color
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"color" 

combine :: Property MeshPhongMaterial TextureCombineOperations
combine :: Property MeshPhongMaterial TextureCombineOperations
combine = MisoString -> Property MeshPhongMaterial TextureCombineOperations
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"combine" 

displacementMap :: (TextureClass texture, FromJSVal texture) => Property MeshPhongMaterial (Maybe texture)
displacementMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshPhongMaterial (Maybe texture)
displacementMap = MisoString -> Property MeshPhongMaterial (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"displacementMap"

displacementScale :: Property MeshPhongMaterial Double
displacementScale :: Property MeshPhongMaterial Double
displacementScale = MisoString -> Property MeshPhongMaterial Double
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"displacementScale"

displacementBias :: Property MeshPhongMaterial Double
displacementBias :: Property MeshPhongMaterial Double
displacementBias = MisoString -> Property MeshPhongMaterial Double
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"displacementBias"

emissive :: Property MeshPhongMaterial Color
emissive :: Property MeshPhongMaterial Color
emissive = MisoString -> Property MeshPhongMaterial Color
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"emissive"

emissiveMap :: (TextureClass texture, FromJSVal texture) => Property MeshPhongMaterial (Maybe texture)
emissiveMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshPhongMaterial (Maybe texture)
emissiveMap = MisoString -> Property MeshPhongMaterial (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"emissiveMap"

emissiveIntensity :: Property MeshPhongMaterial Double
emissiveIntensity :: Property MeshPhongMaterial Double
emissiveIntensity = MisoString -> Property MeshPhongMaterial Double
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"emissiveIntensity"

envMap :: (TextureClass texture, FromJSVal texture) => Property MeshPhongMaterial (Maybe texture)
envMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshPhongMaterial (Maybe texture)
envMap = MisoString -> Property MeshPhongMaterial (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"envMap"

envMapRotation :: Property MeshPhongMaterial Euler
envMapRotation :: Property MeshPhongMaterial Euler
envMapRotation = MisoString -> Property MeshPhongMaterial Euler
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"envMapRotation"

flatShading :: Property MeshPhongMaterial Bool
flatShading :: Property MeshPhongMaterial Bool
flatShading = MisoString -> Property MeshPhongMaterial Bool
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"flatShading"

fog :: Property MeshPhongMaterial Bool
fog :: Property MeshPhongMaterial Bool
fog = MisoString -> Property MeshPhongMaterial Bool
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"fog"

lightMap :: (TextureClass texture, FromJSVal texture) => Property MeshPhongMaterial (Maybe texture)
lightMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshPhongMaterial (Maybe texture)
lightMap = MisoString -> Property MeshPhongMaterial (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"lightMap"

lightMapIntensity :: Property MeshPhongMaterial Double
lightMapIntensity :: Property MeshPhongMaterial Double
lightMapIntensity = MisoString -> Property MeshPhongMaterial Double
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"lightMapIntensity"

map :: (TextureClass texture, FromJSVal texture) => Property MeshPhongMaterial (Maybe texture)
map :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshPhongMaterial (Maybe texture)
map = MisoString -> Property MeshPhongMaterial (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"map"

normalMap :: (TextureClass texture, FromJSVal texture) => Property MeshPhongMaterial (Maybe texture)
normalMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshPhongMaterial (Maybe texture)
normalMap = MisoString -> Property MeshPhongMaterial (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"normalMap"

normalMapType :: Property MeshPhongMaterial NormalMapType
normalMapType :: Property MeshPhongMaterial NormalMapType
normalMapType = MisoString -> Property MeshPhongMaterial NormalMapType
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"normalMapType"

normalScale :: Property MeshPhongMaterial Vector2
normalScale :: Property MeshPhongMaterial Vector2
normalScale = MisoString -> Property MeshPhongMaterial Vector2
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"normalScale"

reflectivity :: Property MeshPhongMaterial Double
reflectivity :: Property MeshPhongMaterial Double
reflectivity = MisoString -> Property MeshPhongMaterial Double
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"reflectivity"

refractionRatio :: Property MeshPhongMaterial Double
refractionRatio :: Property MeshPhongMaterial Double
refractionRatio = MisoString -> Property MeshPhongMaterial Double
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"refractionRatio"

shininess :: Property MeshPhongMaterial Double
shininess :: Property MeshPhongMaterial Double
shininess = MisoString -> Property MeshPhongMaterial Double
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"shininess"

specular :: Property MeshPhongMaterial Color
specular :: Property MeshPhongMaterial Color
specular = MisoString -> Property MeshPhongMaterial Color
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"specular" 

specularMap :: (TextureClass texture, FromJSVal texture) => Property MeshPhongMaterial (Maybe texture)
specularMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshPhongMaterial (Maybe texture)
specularMap = MisoString -> Property MeshPhongMaterial (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"specularMap"

wireframe :: Property MeshPhongMaterial Bool
wireframe :: Property MeshPhongMaterial Bool
wireframe = MisoString -> Property MeshPhongMaterial Bool
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"wireframe"

wireframeLinecap :: Property MeshPhongMaterial Linecap
wireframeLinecap :: Property MeshPhongMaterial Linecap
wireframeLinecap = MisoString -> Property MeshPhongMaterial Linecap
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"wireframeLinecap"

wireframeLinejoin :: Property MeshPhongMaterial Linejoin
wireframeLinejoin :: Property MeshPhongMaterial Linejoin
wireframeLinejoin = MisoString -> Property MeshPhongMaterial Linejoin
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"wireframeLinejoin"

wireframeLinewidth :: Property MeshPhongMaterial Double
wireframeLinewidth :: Property MeshPhongMaterial Double
wireframeLinewidth = MisoString -> Property MeshPhongMaterial Double
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"wireframeLinewidth"

-- Method