public interface R2SurfaceShaderBasicParametersValuesType
Modifier and Type | Method and Description |
---|---|
default com.io7m.jtensors.core.parameterized.vectors.PVector4D<R2SpaceRGBAType> |
albedoColor()
The base albedo color for the surface.
|
default double |
albedoMix()
A specification of the mix value between the albedo color and texture.
|
default R2Texture2DUsableType |
albedoTexture()
An albedo map which is used to modulate the value of
albedoColor() . |
default double |
alphaDiscardThreshold()
The alpha discard threshold specifies a lower bound on the opacity of
surface pixels.
|
default double |
emission()
The emission value for the surface, in the range
[0.0, 1.0] . |
default R2Texture2DUsableType |
emissionTexture()
An emission map which is used to modulate the value of
emission() . |
default R2Texture2DUsableType |
normalTexture()
A normal map used to peturb normal vectors for the surface.
|
default com.io7m.jtensors.core.parameterized.vectors.PVector3D<R2SpaceRGBType> |
specularColor()
The base specular color for the surface.
|
default double |
specularExponent()
The specular exponent.
|
default R2Texture2DUsableType |
specularTexture()
A specular map which is used to modulate the value of
specularColor() . |
R2TextureDefaultsType |
textureDefaults() |
R2TextureDefaultsType textureDefaults()
default com.io7m.jtensors.core.parameterized.vectors.PVector4D<R2SpaceRGBAType> albedoColor()
The base albedo color for the surface. This value is mixed with values
sampled from albedoTexture()
based on albedoMix()
.
albedoTexture()
,
albedoMix()
default com.io7m.jtensors.core.parameterized.vectors.PVector3D<R2SpaceRGBType> specularColor()
The base specular color for the surface. This essentially encodes both the intensity and color of specular highlights for the surface.
default double emission()
The emission value for the surface, in the range [0.0, 1.0]
.
The value is typically processed by filters to give surfaces the appearance
of emitting light.
default R2Texture2DUsableType emissionTexture()
An emission map which is used to modulate the value of emission()
. Specifically, values sampled from the map are multiplied
by emission()
to give per-pixel control of the emission value.
default R2Texture2DUsableType albedoTexture()
An albedo map which is used to modulate the value of albedoColor()
. Specifically, values sampled from the map are linearly
mixed with albedoColor()
based on albedoMix()
. The alpha
channel of the map is also used so that a texture with transparent sections
will show the underlying albedoColor()
even when the texture is
fully mixed (i.e. albedoMix()
== 1.0
).
default double albedoMix()
A specification of the mix value between the albedo color and texture.
If 0.0
, the albedo of the surface will be albedoColor()
.
If 1.0
, the albedo of the surface will be a value sampled from
albedoTexture()
. Other values in the range [0.0, 1.0]
will
linearly mix between the two extremes.
default R2Texture2DUsableType specularTexture()
A specular map which is used to modulate the value of specularColor()
. Specifically, values sampled from the map are multiplied
by specularColor()
to give per-pixel control of specular intensity
and color.
default double specularExponent()
The specular exponent. This is a value in the range [0.0, 256.0]
and is used directly as the exponent term.
default R2Texture2DUsableType normalTexture()
A normal map used to peturb normal vectors for the surface. The texture
is expected to contain RGB-encoded vectors such that [0.5, 0.5,
1.0]
represents the "neutral" tangent-space [0.0, 0.0, 1.0]
vector.
A map containing entirely [0.5, 0.5, 1.0]
values will have no
visible effect on the surface.
default double alphaDiscardThreshold()
The alpha discard threshold specifies a lower bound on the opacity of
surface pixels. For any given surface pixel, if the opacity of the
calculated albedo is less than the alphaDiscardThreshold()
,
then the pixel is simply discarded; the pixel is not written to the
current geometry buffer. This allows for otherwise opaque surfaces
to have fully transparent sections.
[0.0, 1.0]
Copyright © 2017 <code@io7m.com> http://io7m.com