X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fmaterials%2Fpbrmaterial.cpp;h=4a5f0a419d370ef1bc935bdf15fc3ff0cd0929d5;hb=HEAD;hp=ebd3321f2268a05054c05f086c035e5b88fdb39a;hpb=904ca5cf3923da3b1e6f68af941e7fc9ad6b7ed4;p=libs%2Fgl.git diff --git a/source/materials/pbrmaterial.cpp b/source/materials/pbrmaterial.cpp index ebd3321f..4a5f0a41 100644 --- a/source/materials/pbrmaterial.cpp +++ b/source/materials/pbrmaterial.cpp @@ -27,6 +27,7 @@ PbrMaterial::PbrMaterial(): fresnel_sampler(Resources::get_global().get("_linear_clamp.samp")) { set_base_color(0.8f); + set_tint(1.0f); set_metalness(0.0f); set_roughness(0.5f); set_emission(0.0f); @@ -66,7 +67,7 @@ const Texture2D &PbrMaterial::get_or_create_fresnel_lookup() void PbrMaterial::fill_program_info(string &module_name, map &spec_values) const { - module_name = "cooktorrance.glsl"; + module_name = "pbr_material.glsl"; spec_values["use_base_color_map"] = (base_color.texture!=0); spec_values["use_normal_map"] = (normal.texture!=0); spec_values["use_metalness_map"] = (metalness.texture!=0); @@ -116,6 +117,12 @@ void PbrMaterial::set_base_color_map(const Texture *tex) base_color.texture = tex; } +void PbrMaterial::set_tint(const Color &color) +{ + tint.value = color; + shdata.uniform("pbr_material.tint", color); +} + void PbrMaterial::set_normal_map(const Texture *tex) { normal.texture = tex; @@ -177,6 +184,7 @@ void PbrMaterial::Loader::init_actions() add_property("roughness", &PbrMaterial::set_roughness, &PbrMaterial::set_roughness_map); add_property("occlusion", &PbrMaterial::set_occlusion_map); add_property("emission", &PbrMaterial::set_emission, &PbrMaterial::set_emission_map, false); + add_property("tint", &PbrMaterial::set_tint, 0, true); } } // namespace GL