RiRayShader


[ Render | Source | Search | Keywords | Summary | Ancestors | All Members | Descendants ]

Quick Index

DESCRIPTION

Class Summary

class RiRayShader
{
public:
// Constructors and assignment
RiRayShader(RiRayObject *env , RiBackground *bg , int maxDepth );
// Members
RiSpectrum Shade(RiRay3 &ray, RiRayHit &hit, Ri2DSamplePatternIterator &samps, RiMedia *media, bool corl , int treeDepth );
RiRayObject *GetEnvironment() const;
void SetEnvironment(RiRayObject *obj);
RiBackground *GetBackground() const;
void SetBackground(RiBackground *bg);
void SetMaxRayDepth(int rayDepth);
void SetEmission(RiRayShadeStrategy *emit);
void SetDirectLighting(RiRayShadeStrategy *direct);
void SetTermination(RiRayShadeStrategy *terminate);
void SetSecondary(RiRayShadeStrategy *second);
void SetSpecular(RiRayShadeStrategy *spec);
RiRayShader *GetRayShader();
protected:
}; // RiRayShader


DESCRIPTION


RiRayShader(RiRayObject *env , RiBackground *bg , int maxDepth );

yShader(RiRayObject *env = NULL, RiBackground *bg = NULL, int maxDepth = NULL); GROUP: Constructors and assignment

    RiRayShader(RiRayObject *env = NULL, RiBackground *bg = NULL, int maxDepth = NULL);

RiSpectrum Shade(RiRay3 &ray, RiRayHit &hit, Ri2DSamplePatternIterator &samps, RiMedia *media, bool corl , int treeDepth );

Should have NO side effects.
in corl
Count only reflected light. Needed if the previous shader did anything special to sample lights

    virtual  RiSpectrum Shade(RiRay3 &ray, RiRayHit &hit, Ri2DSamplePatternIterator &samps,
			      RiMedia *media, bool corl = false, int treeDepth = 0);

RiRayObject *GetEnvironment() const;

    RiRayObject		*GetEnvironment() const;

void SetEnvironment(RiRayObject *obj);

    void 		 SetEnvironment(RiRayObject *obj);

RiBackground *GetBackground() const;

    RiBackground	*GetBackground() const;

void SetBackground(RiBackground *bg);

    void 		 SetBackground(RiBackground *bg);

void SetMaxRayDepth(int rayDepth);

    void		 SetMaxRayDepth(int rayDepth);

void SetEmission(RiRayShadeStrategy *emit);

    void		 SetEmission(RiRayShadeStrategy *emit);

void SetDirectLighting(RiRayShadeStrategy *direct);

    void		 SetDirectLighting(RiRayShadeStrategy *direct);

void SetTermination(RiRayShadeStrategy *terminate);

    void		 SetTermination(RiRayShadeStrategy *terminate);

void SetSecondary(RiRayShadeStrategy *second);

    void		 SetSecondary(RiRayShadeStrategy *second);

void SetSpecular(RiRayShadeStrategy *spec);

    void		 SetSpecular(RiRayShadeStrategy *spec);

RiRayShader *GetRayShader();

Return the shader to be used for shading secondary rays default implementation is to return itself

    virtual RiRayShader *GetRayShader();

All Members

public:
// Members
RiSpectrum Shade(RiRay3 &ray, RiRayHit &hit, Ri2DSamplePatternIterator &samps, RiMedia *media, bool corl , int treeDepth );
RiRayObject *GetEnvironment() const;
void SetEnvironment(RiRayObject *obj);
RiBackground *GetBackground() const;
void SetBackground(RiBackground *bg);
void SetMaxRayDepth(int rayDepth);
void SetEmission(RiRayShadeStrategy *emit);
void SetDirectLighting(RiRayShadeStrategy *direct);
void SetTermination(RiRayShadeStrategy *terminate);
void SetSecondary(RiRayShadeStrategy *second);
void SetSpecular(RiRayShadeStrategy *spec);
RiRayShader *GetRayShader();
protected:

Ancestors

Class does not inherit from any other class.


Descendants

Class is not inherited by any others.


Generated from source by the Cocoon utilities on Fri Feb 25 15:15:58 2000 .