00001 /* 00002 toxic - A Global Illumination Renderer 00003 Copyright (C) 2003-2004 Francois Beaune 00004 Contact: http://toxicengine.sourceforge.net/ 00005 00006 This file is part of toxic. 00007 00008 toxic is free software; you can redistribute it and/or modify 00009 it under the terms of the GNU General Public License as published by 00010 the Free Software Foundation; either version 2 of the License, or 00011 (at your option) any later version. 00012 00013 toxic is distributed in the hope that it will be useful, 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 GNU General Public License for more details. 00017 00018 You should have received a copy of the GNU General Public License 00019 along with toxic; if not, write to the Free Software 00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00021 */ 00022 00023 #include "basicsurfaceshader.h" // include first 00024 #include "common/misc/iclonable.h" 00025 #include "ibdf.h" 00026 #include "iedf.h" 00027 00028 using namespace sheep; 00029 using namespace toxic; 00030 00031 BasicSurfaceShader::BasicSurfaceShader(const IEDF *edf, 00032 const Color3 &radiant_exitance, 00033 const IBDF *bdf, 00034 const ITexture *reflectance) : 00035 ISurfaceShader(edf, radiant_exitance), 00036 m_bdf(bdf), 00037 m_reflectance(reflectance) 00038 { 00039 assert(bdf); 00040 assert(reflectance); 00041 } 00042 00043 BasicSurfaceShader *BasicSurfaceShader::Clone() const { 00044 return new BasicSurfaceShader( 00045 clone(m_edf), 00046 m_radiant_exitance, 00047 clone(m_bdf), 00048 clone(m_reflectance)); 00049 }
1.3.6