From 6c8f82758869cf8694c94a87e211f67fadee34e7 Mon Sep 17 00:00:00 2001 From: Samuel Williams Date: Sun, 22 Apr 2012 22:10:23 +0800 Subject: [PATCH] Update Sakura hearts demo to use new bindings based API. --- examples/Sakura Heart/Sakura Heart/main.cpp | 24 +++++++++++---------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/examples/Sakura Heart/Sakura Heart/main.cpp b/examples/Sakura Heart/Sakura Heart/main.cpp index 84544af..5a37b6b 100644 --- a/examples/Sakura Heart/Sakura Heart/main.cpp +++ b/examples/Sakura Heart/Sakura Heart/main.cpp @@ -79,7 +79,7 @@ namespace SakuraHeart { } void HeartParticles::add() { - const std::size_t DENSITY = 256 * 2.0; + const std::size_t DENSITY = 256; for (std::size_t i = 0; i < DENSITY; i += 1) { RealT t = real_random(0, R360); @@ -108,7 +108,7 @@ namespace SakuraHeart { _physics.push_back(particle); } - logger()->log(LOG_DEBUG, LogBuffer() << "Particles: " << _physics.size()); + //logger()->log(LOG_DEBUG, LogBuffer() << "Particles: " << _physics.size()); } // The high level renderer that manages associated textures/shaders: @@ -138,9 +138,10 @@ namespace SakuraHeart { _particle_program->set_attribute_location("color", HeartParticles::COLOR); _particle_program->link(); - _particle_program->enable(); - _particle_program->set_texture_unit("diffuse_texture", 0); - _particle_program->disable(); + { + auto binding = _particle_program->binding(); + binding.set_texture_unit("diffuse_texture", 0); + } } virtual ~SakuraHeartRenderer() { @@ -153,13 +154,14 @@ namespace SakuraHeart { glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - _particle_program->enable(); - _particle_program->set_uniform("display_matrix", _viewport->display_matrix()); - - _texture_manager->bind(0, _sakura_texture); - heart_particles->draw(); + { + auto binding = _particle_program->binding(); + binding.set_uniform("display_matrix", _viewport->display_matrix()); + + _texture_manager->bind(0, _sakura_texture); + heart_particles->draw(); + } - _particle_program->disable(); glDisable(GL_BLEND); glDepthMask(GL_TRUE);