Fixed runtime
This commit is contained in:
+2
-2
@@ -29,7 +29,7 @@ GLenum to_gl(const blending_constant &c) {
|
||||
void set_material(std::shared_ptr<material> &mat) {
|
||||
// glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
|
||||
|
||||
mat->shader->use();
|
||||
mat->shader_->use();
|
||||
|
||||
// if (material->textures[TextureRole::Diffuse]) {
|
||||
// std::cout << "CAN has diffuse texture!!!!!!!!!11" << std::endl;
|
||||
@@ -86,7 +86,7 @@ void unset_material(std::shared_ptr<material> &mat) {
|
||||
// textureUnit++;
|
||||
// }
|
||||
|
||||
mat->shader->unuse();
|
||||
mat->shader_->unuse();
|
||||
|
||||
if (mat->transparent)
|
||||
glDisable(GL_BLEND);
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@ struct material {
|
||||
blending_constant blend_dst_fact = blending_constant::one_minus_src_alpha;
|
||||
|
||||
fill_mode_type fill_mode = fill_mode_type::solid;
|
||||
std::shared_ptr<shader> shader;
|
||||
std::shared_ptr<shader> shader_;
|
||||
texture_map textures;
|
||||
};
|
||||
|
||||
|
||||
@@ -199,7 +199,7 @@ scene_renderer::scene_renderer()
|
||||
first_pass_shadow_shader = std::make_shared<shader>(vs, ps);
|
||||
|
||||
first_pass_shadow_material = std::make_shared<material>();
|
||||
first_pass_shadow_material->shader = first_pass_shadow_shader;
|
||||
first_pass_shadow_material->shader_ = first_pass_shadow_shader;
|
||||
first_pass_shadow_material->zbuffer_write = true;
|
||||
first_pass_shadow_material->zbuffer_test = true;
|
||||
first_pass_shadow_material->transparent = false;
|
||||
@@ -209,7 +209,7 @@ scene_renderer::scene_renderer()
|
||||
second_pass_shadow_shader = std::make_shared<shader>(vs2, ps2);
|
||||
|
||||
second_pass_shadow_material = std::make_shared<material>();
|
||||
second_pass_shadow_material->shader = second_pass_shadow_shader;
|
||||
second_pass_shadow_material->shader_ = second_pass_shadow_shader;
|
||||
second_pass_shadow_material->diffuse = glm::vec4(1, 0, 0, 1);
|
||||
second_pass_shadow_material->zbuffer_write = true;
|
||||
second_pass_shadow_material->zbuffer_test = true;
|
||||
@@ -296,14 +296,14 @@ void scene_renderer::render(const scene_tree &scene, const std::string &cameraNa
|
||||
shader_consts.set(uniforms::MaterialSpecularColor, meshNode.material_->specular);
|
||||
shader_consts.set(uniforms::MaterialShininess, meshNode.material_->shininess);
|
||||
|
||||
shader_consts.apply_to(*second_pass_shadow_material->shader);
|
||||
shader_consts.apply_to(*second_pass_shadow_material->shader_);
|
||||
|
||||
if (meshNode.material_->textures[texture_role::diffuse]) {
|
||||
int textureUnit = 0;
|
||||
glActiveTexture(GL_TEXTURE0 + textureUnit);
|
||||
meshNode.material_->textures[texture_role::diffuse]->use();
|
||||
|
||||
second_pass_shadow_material->shader->setIntUniform(textureUnit, "diffuseMap");
|
||||
second_pass_shadow_material->shader_->setIntUniform(textureUnit, "diffuseMap");
|
||||
} else {
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
@@ -341,7 +341,7 @@ void scene_renderer::render_shadow_map(const scene_tree &scene, light_node &ligh
|
||||
if (!meshNode.material_->transparent && meshNode.material_->cast_shadows) {
|
||||
|
||||
shader_consts.set(uniforms::ModelToWorldMatrix, meshNode.model_to_world_space_matrix);
|
||||
shader_consts.apply_to(*first_pass_shadow_material->shader);
|
||||
shader_consts.apply_to(*first_pass_shadow_material->shader_);
|
||||
|
||||
meshNode.mesh_->render(first_pass_shadow_material->flat_shaded);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user