src/rcrt/materials/DebugMaterial.cpp

Go to the documentation of this file.
00001 #include "DebugMaterial.h"
00002 
00003 namespace rcrt
00004 {
00005 
00006 DebugMaterial::DebugMaterial()
00007 {
00008 }
00009 
00010 DebugMaterial::~DebugMaterial()
00011 {
00012 }
00013 
00014 RGBColor DebugMaterial::sample(const Vec3D& wOut, const Vec3D& wInc,
00015                                 Intersection& is)
00016 {       
00017         //std::cout << "sampling"<< std::endl;
00018         if(is.backSide())
00019                 return RGBColor(1,1,1);
00020         Vec3D no = getShadingNormal(is).abs();
00021         //std::cout << "got shading normal"<< std::endl;
00022         return RGBColor(no.x(),no.y(),no.z());
00023 }
00024 
00025 
00026 bool DebugMaterial::hasDiffuse() const
00027 {
00028         return true;
00029 }
00030 
00031 bool DebugMaterial::hasSpecular() const
00032 {
00033         return false;
00034 }
00035 
00036 bool DebugMaterial::hasTransmissive() const
00037 {
00038         return false;
00039 }
00040 
00041 RGBColor DebugMaterial::getEmitted(const Vec3D& wOut, Intersection& is)
00042 {
00043         return 0;
00044 }
00045 
00046 RGBColor DebugMaterial::sampleDiffuse(const Vec3D& wOut, const Vec3D& wInc, Intersection& is)
00047 {
00048         return sample(wOut,wInc,is);
00049 }
00050 
00051 RGBColor DebugMaterial::sampleSpecular(const Vec3D& wOut, const Vec3D& wInc, Intersection& is)
00052 {
00053         return 0;
00054 }
00055 
00056 bool DebugMaterial::refracts() const
00057 {
00058         return false;
00059 }
00060 
00061 ScatterEvent DebugMaterial::scatterPhoton(Intersection& is, Photon* photon)
00062 {
00063         const Vec3D no = is.getSNormalW().abs();
00064         photon->setPower(RGBColor(no.x(),no.y(),no.z()));
00065         return STORE;
00066 }
00067 
00068 
00069 }

Generated on Thu Jan 31 19:26:19 2008 for RenderingCompetitionRayTracer by  doxygen 1.5.3