public class PhongShader extends java.lang.Object implements Shader
| Constructor and Description |
|---|
PhongShader() |
| Modifier and Type | Method and Description |
|---|---|
protected Color |
getDiffuse(ShadingState state) |
Color |
getOpacity(ShadingState state)
Returns how much light is blocked by this shader.
|
Color |
getRadiance(ShadingState state)
Gets the radiance for a specified rendering state.
|
boolean |
isOpaque()
Returns
true if this shader is fully opaque. |
void |
scatterPhoton(ShadingState state,
Color power)
Scatter a photon with the specied power.
|
boolean |
update(ParameterList pl,
SunflowAPI api)
Update this object given a list of parameters.
|
public boolean update(ParameterList pl, SunflowAPI api)
RenderObjectupdate in interface RenderObjectpl - list of parameters to read fromapi - reference to the current scenetrue if the update is succesfull,
false otherwiseprotected Color getDiffuse(ShadingState state)
public Color getRadiance(ShadingState state)
ShadergetRadiance in interface Shaderstate - current render statepublic void scatterPhoton(ShadingState state, Color power)
ShaderscatterPhoton in interface Shaderstate - current statepower - power of the incoming photon.public boolean isOpaque()
Shadertrue if this shader is fully opaque.
This gives a quick way to find out if a shader needs further processing
when hit by a shadow ray.public Color getOpacity(ShadingState state)
ShadergetOpacity in interface Shader