GClasses
|
Represents a source of light in a ray-tracing scene. More...
#include <GRayTrace.h>
Public Types | |
enum | LightType { Directional = 0, Point, Area } |
Public Member Functions | |
GRayTraceLight (G3DReal r, G3DReal g, G3DReal b) | |
GRayTraceLight (GDomNode *pNode) | |
virtual | ~GRayTraceLight () |
virtual GDomNode * | serialize (GDom *pDoc, GRayTraceScene *pScene)=0 |
virtual LightType | lightType ()=0 |
virtual void | colorContribution (GRayTraceScene *pScene, GRayTraceRay *pRay, GRayTraceMaterial *pMaterial, bool bSpecular)=0 |
Static Public Member Functions | |
static GRayTraceLight * | deserialize (GDomNode *pNode, GRayTraceScene *pScene) |
Protected Member Functions | |
GDomNode * | baseDomNode (GDom *pDoc) |
Protected Attributes | |
GRayTraceColor | m_color |
Represents a source of light in a ray-tracing scene.
GClasses::GRayTraceLight::GRayTraceLight | ( | GDomNode * | pNode | ) |
virtual GClasses::GRayTraceLight::~GRayTraceLight | ( | ) | [virtual] |
virtual void GClasses::GRayTraceLight::colorContribution | ( | GRayTraceScene * | pScene, |
GRayTraceRay * | pRay, | ||
GRayTraceMaterial * | pMaterial, | ||
bool | bSpecular | ||
) | [pure virtual] |
Implemented in GClasses::GRayTraceDirectionalLight, GClasses::GRayTracePointLight, and GClasses::GRayTraceAreaLight.
static GRayTraceLight* GClasses::GRayTraceLight::deserialize | ( | GDomNode * | pNode, |
GRayTraceScene * | pScene | ||
) | [static] |
virtual LightType GClasses::GRayTraceLight::lightType | ( | ) | [pure virtual] |
Implemented in GClasses::GRayTraceDirectionalLight, GClasses::GRayTracePointLight, and GClasses::GRayTraceAreaLight.
virtual GDomNode* GClasses::GRayTraceLight::serialize | ( | GDom * | pDoc, |
GRayTraceScene * | pScene | ||
) | [pure virtual] |
Implemented in GClasses::GRayTraceDirectionalLight, GClasses::GRayTracePointLight, and GClasses::GRayTraceAreaLight.
GRayTraceColor GClasses::GRayTraceLight::m_color [protected] |