#include <PhongShadingModelSW.h>
Inheritance diagram for IDVR.VolumeRenderer.SWVolumeRenderer.ShadingModels.PhongShadingModelSW:
Namespace: IDVR.VolumeRenderer.SWVolumeRenderer.ShadingModels
Baseclass: IDVR.Interfaces.IShadingModel
This class calculates the color value of a given raysample. The color depends on various attributes like ambient part or specular exponent, but also on values like light color and gradient.
MipShadingModelSW - the mip shading model
ToneShadingModelSW - the tone shading model
Public Member Functions | |
PhongShadingModelSW (void) | |
Standard constructor. | |
PhongShadingModelSW (double n_Ambient, double n_Diffuse, double n_Specular, double n_SpExponent) | |
Constructor. | |
PhongShadingModelSW (double n_Ambient, double n_Diffuse, double n_Specular, double n_SpExponent, double n_DepthCue1, double n_DepthCue2, Transferfunction *n_TransferFunc) | |
Constructor. | |
virtual RaySample * | doShading (RaySample *n_RaySample) |
Calculates the Color value for a given raysample. | |
__property void | set_ViewingDirection (Vector3 *n_ViewDirection) |
Sets the current view direction. | |
__property void | set_ImagePlanePoint (Vector3 *n_ImagePlanePoint) |
Sets an arbitrary image plane point (needed for calculation of normal voxel to plane distance). | |
__property void | set_LightModel (Light *n_Light) |
Sets the current light. | |
__property Transferfunction * | get_TransferFunc (void) |
Returns the transfer function. | |
__property double | get_Ambient (void) |
Returns the ambient value. | |
__property double | get_Diffuse (void) |
Returns the diffuse value. | |
__property double | get_Specular (void) |
Returns the specular value. | |
__property double | get_SpExponent (void) |
Returns the specular exponent. | |
__property double | get_DepthK1 (void) |
Returns the first value for depth cueing. | |
__property double | get_DepthK2 (void) |
Returns the second value for depth cueing. | |
void | setViewLightParameters (Vector3 *n_ViewDirection, Vector3 *n_ImagePlanePoint, Light *n_Light) |
Initialize viewing and lighting parameter all together to the given values. | |
Private Member Functions | |
void | calculateHalfwayVector (void) |
Returns the halfway vector. | |
void | calculateVoxelToPlaneDistance (Vector3 *n_SampleCoords) |
Calculates the normal voxel to plane distance of a given point. | |
Private Attributes | |
double | k_a |
k_a-value | |
double | k_d |
k_d-value | |
double | k_s |
k_s-value | |
double | n |
n-value | |
double | d |
d-value | |
double | k_1 |
k_1-value | |
double | k_2 |
k_2-value | |
float c_p | __gc [] |
c_p-value | |
Vector3 * | L |
L-vector. | |
Vector3 * | V |
V-vector. | |
Vector3 * | H |
H-vector. | |
Vector3 * | m_imgePlanePoint |
point on the image plane | |
Transferfunction * | m_TransferFunc |
the transfer function |
|
Standard constructor.
|
|
Constructor.
|
|
Constructor.
|
|
Returns the halfway vector.
|
|
Calculates the normal voxel to plane distance of a given point.
|
|
Calculates the Color value for a given raysample.
|
|
Returns the ambient value.
|
|
Returns the first value for depth cueing.
|
|
Returns the second value for depth cueing.
|
|
Returns the diffuse value.
|
|
Returns the specular value.
|
|
Returns the specular exponent.
|
|
Returns the transfer function.
|
|
Sets an arbitrary image plane point (needed for calculation of normal voxel to plane distance).
|
|
Sets the current light.
|
|
Sets the current view direction.
|
|
Initialize viewing and lighting parameter all together to the given values.
|