erebus

diff liberebus/src/brdf.cc @ 4:93894c232d65

more changes across the board
author John Tsiombikas <nuclear@member.fsf.org>
date Tue, 29 Apr 2014 07:38:40 +0300
parents 474a0244f57d
children e49f4d7ad04c
line diff
     1.1 --- a/liberebus/src/brdf.cc	Mon Apr 28 15:44:59 2014 +0300
     1.2 +++ b/liberebus/src/brdf.cc	Tue Apr 29 07:38:40 2014 +0300
     1.3 @@ -1,108 +1,9 @@
     1.4  #include "brdf.h"
     1.5  #include "erebus_impl.h"
     1.6  
     1.7 -ReflAttrib::ReflAttrib()
     1.8 -	: value(1), color(1, 1, 1), map(0)
     1.9 -{
    1.10 -}
    1.11 -
    1.12 -ReflAttrib::ReflAttrib(const Color &col, Texture *tex)
    1.13 -{
    1.14 -	set_color(col);
    1.15 -	map = tex;
    1.16 -}
    1.17 -
    1.18 -void ReflAttrib::set_value(float val)
    1.19 -{
    1.20 -	value = val;
    1.21 -	color = Color{val, val, val};
    1.22 -}
    1.23 -
    1.24 -void ReflAttrib::set_color(const Color &col)
    1.25 -{
    1.26 -	color = col;
    1.27 -	value = color_luminance(col);
    1.28 -}
    1.29 -
    1.30 -void ReflAttrib::set_map(Texture *tex)
    1.31 -{
    1.32 -	map = tex;
    1.33 -}
    1.34 -
    1.35 -Texture *ReflAttrib::get_map() const
    1.36 -{
    1.37 -	return map;
    1.38 -}
    1.39 -
    1.40 -float ReflAttrib::get_value() const
    1.41 -{
    1.42 -	return value;
    1.43 -}
    1.44 -
    1.45 -float ReflAttrib::get_value(float u, float v) const
    1.46 -{
    1.47 -	return map ? value * color_luminance(map->lookup(u, v)) : value;
    1.48 -}
    1.49 -
    1.50 -const Color &ReflAttrib::get_color() const
    1.51 -{
    1.52 -	return color;
    1.53 -}
    1.54 -
    1.55 -Color ReflAttrib::get_color(float u, float v) const
    1.56 -{
    1.57 -	return map ? color * map->lookup(u, v) : color;
    1.58 -}
    1.59 -
    1.60  // ---- class Reflectance ----
    1.61 -ReflAttrib Reflectance::def_attrib;
    1.62 -
    1.63  Reflectance::Reflectance()
    1.64  {
    1.65 -	set_default_attribs();
    1.66 -}
    1.67 -
    1.68 -void Reflectance::set_attrib(const char *name, const Color &color, Texture *tex)
    1.69 -{
    1.70 -	attrib[name] = ReflAttrib{color, tex};
    1.71 -}
    1.72 -
    1.73 -ReflAttrib &Reflectance::get_attrib(const char *name)
    1.74 -{
    1.75 -	auto it = attrib.find(name);
    1.76 -	if(it == attrib.end()) {
    1.77 -		return def_attrib;
    1.78 -	}
    1.79 -	return it->second;
    1.80 -}
    1.81 -
    1.82 -const ReflAttrib &Reflectance::get_attrib(const char *name) const
    1.83 -{
    1.84 -	auto it = attrib.find(name);
    1.85 -	if(it == attrib.end()) {
    1.86 -		return def_attrib;
    1.87 -	}
    1.88 -	return it->second;
    1.89 -}
    1.90 -
    1.91 -float Reflectance::get_attrib_value(const char *name) const
    1.92 -{
    1.93 -	return get_attrib(name).get_value();
    1.94 -}
    1.95 -
    1.96 -float Reflectance::get_attrib_value(const char *name, float u, float v) const
    1.97 -{
    1.98 -	return get_attrib(name).get_value(u, v);
    1.99 -}
   1.100 -
   1.101 -Color Reflectance::get_attrib_color(const char *name) const
   1.102 -{
   1.103 -	return get_attrib(name).get_color();
   1.104 -}
   1.105 -
   1.106 -Color Reflectance::get_attrib_color(const char *name, float u, float v) const
   1.107 -{
   1.108 -	return get_attrib(name).get_color(u, v);
   1.109  }
   1.110  
   1.111  float Reflectance::sample(const Vector3 &norm, const Vector3 &outdir, Vector3 *indir) const
   1.112 @@ -112,12 +13,6 @@
   1.113  }
   1.114  
   1.115  // --- class LambertRefl ---
   1.116 -
   1.117 -void LambertRefl::set_default_attribs()
   1.118 -{
   1.119 -	set_attrib("color", Color(1, 1, 1));
   1.120 -}
   1.121 -
   1.122  Vector3 LambertRefl::sample_dir(const Vector3 &norm, const Vector3 &outdir) const
   1.123  {
   1.124  	Vector3 dir = Vector3{randf(-1, 1), randf(-1, 1), randf(-1, 1)}.normalized();