X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fmaterials%2Frenderpass.cpp;h=9a7ceef782075ee38821aa5ae9b45f1b6e13c425;hb=a92362ad19b65f66b98e0dc4d034da5e4eb5cf36;hp=4ab72b568d32a9704c1c56ff90dab503e7b8a297;hpb=45de0062950ad822ed0379ed4fe807d333e1b8f1;p=libs%2Fgl.git diff --git a/source/materials/renderpass.cpp b/source/materials/renderpass.cpp index 4ab72b56..9a7ceef7 100644 --- a/source/materials/renderpass.cpp +++ b/source/materials/renderpass.cpp @@ -9,7 +9,6 @@ #include "renderer.h" #include "texture.h" #include "texture2d.h" -#include "texturing.h" #include "uniform.h" using namespace std; @@ -22,7 +21,7 @@ RenderPass::RenderPass(): shprog_from_material(false), shdata(0), material(0), - back_faces(false), + face_cull(CULL_BACK), receive_shadows(false), image_based_lighting(false) { } @@ -31,7 +30,7 @@ void RenderPass::set_material_textures() { const Tag *material_texture_tags = material->get_texture_tags(); for(const Tag *tag=material_texture_tags; tag->id; ++tag) - set_texture(*tag, material->get_texture(*tag), material->get_sampler()); + set_texture(*tag, material->get_texture(*tag), material->get_sampler(*tag)); } void RenderPass::maybe_create_material_shader() @@ -125,9 +124,9 @@ int RenderPass::get_texture_index(const string &n) const return (shprog && i!=textures.end() ? shprog->get_uniform_binding(i->tag) : -1); } -void RenderPass::set_back_faces(bool bf) +void RenderPass::set_face_cull(CullMode fc) { - back_faces = bf; + face_cull = fc; } void RenderPass::set_receive_shadows(bool rs) @@ -142,7 +141,7 @@ void RenderPass::apply(Renderer &renderer) const renderer.set_shader_program(shprog, shdata.get()); if(material) renderer.add_shader_data(material->get_shader_data()); - renderer.set_reverse_winding(back_faces); + renderer.set_face_cull(face_cull); } void RenderPass::set_debug_name(const string &name) @@ -172,12 +171,12 @@ RenderPass::Loader::Loader(RenderPass &p, Collection &c): void RenderPass::Loader::init_actions() { + add("face_cull", &RenderPass::face_cull); add("shader", &Loader::shader); add("image_based_lighting", &RenderPass::image_based_lighting); add("material", &Loader::material_inline); add("material", &Loader::material); add("material_slot", &RenderPass::material_slot); - add("back_faces",&RenderPass::back_faces); add("receive_shadows", &RenderPass::receive_shadows); add("texture", &Loader::texture); add("uniforms", &Loader::uniforms);