/******************************************************************/ /* This file is part of the homework assignments for CSCI-427/527 */ /* at The College of William & Mary and authored by Pieter Peers. */ /* No part of this file, whether altered or in original form, can */ /* be distributed or used outside the context of CSCI-427/527 */ /* without consent of either the College of William & Mary or */ /* Pieter Peers. */ /******************************************************************/ #include "phongReflectanceShader.h" ///////////////// // Constructor // ///////////////// phongReflectanceShader::phongReflectanceShader(const colorReflectanceParameter& albedo, const scalarReflectanceParameter& sharpness) : reflectanceShader_base() { _albedo = albedo; _sharpness = sharpness; } /////////////////////// // Protected Methods // /////////////////////// std::unique_ptr phongReflectanceShader::make_brdf(const vec2d& textureCoord) const { return std::unique_ptr(new phongBrdf( _albedo(textureCoord), _sharpness(textureCoord) )); } void phongReflectanceShader::_print(std::ostream& s) const { s << "Phong Reflectance: albedo=" << _albedo << ", sharpness=" << _sharpness; }