Parameters used to build a phong fragment shader.

Hierarchy (View Summary)

Properties

toneMapping?: ToneMappings

Whether the shading function should apply tone mapping to the resulting color and if so, which one. Default to 'Khronos'.

outputColorSpace?: ColorSpace

In which ColorSpace the output should be done. srgb should be used most of the time, except for some post processing effects that need input colors in linear space (such as bloom). Default to srgb.

additionalVaryings?: { type: string; name: string }[]

Optional additional varyings to pass from the vertex shader to the fragment shader.

Type declaration

  • type: string

    type of the varying.

  • name: string

    name of the varying.

fragmentOutput?: FragmentOutput

Custom fragment shader output structure members and returned values to use if needed. Useful when rendering to a Multiple Render Target for example.

Additional WGSL chunks to add to the shaders.

geometry: Geometry

Geometry used to create the fragment shader. Can use the vertexBuffers properties for vertex colors or tangent/bitangent computations.

materialUniform?: BufferBindingBaseParams

The BufferBindingBaseParams holding the material uniform values. Will use default values if not provided.

materialUniformName?: string

The BufferBindingBaseParams name to use for variables declarations. Default to 'material'.

receiveShadows?: boolean

Whether the shading function should account for current shadows. Default to false.

baseColorTexture?: ShaderTextureDescriptor
normalTexture?: ShaderTextureDescriptor
emissiveTexture?: ShaderTextureDescriptor
occlusionTexture?: ShaderTextureDescriptor
metallicRoughnessTexture?: ShaderTextureDescriptor
specularTexture?: ShaderTextureDescriptor

Specular texture descriptor (mixing both specular color in the RGB channels and specular intensity in the A channel) to use if any.

specularFactorTexture?: ShaderTextureDescriptor

Specular intensity texture descriptor (using the A channel) to use if any.

specularColorTexture?: ShaderTextureDescriptor

Specular color texture descriptor (using the RGB channels) to use if any.