From: Peter Schaefer Date: Tue, 28 Jun 2016 04:29:12 +0000 (+0200) Subject: enable DEAD Texture for Boar X-Git-Url: https://git.leopard-lacewing.eu/?a=commitdiff_plain;h=9f16c9cff7991a372d3f70b16b8ab0e358f9bdcf;p=cgue_weave.git enable DEAD Texture for Boar --- diff --git a/Weave/Scene/Boar.cpp b/Weave/Scene/Boar.cpp index 9b1c76f..4afe270 100644 --- a/Weave/Scene/Boar.cpp +++ b/Weave/Scene/Boar.cpp @@ -65,41 +65,41 @@ void Boar::update(float _deltaT) } } -//void Boar::draw(drawTarget _target) const -//{ -// switch (_target) -// { -// case DRAW_ModelMotionBlur: -// //upload new->old model -// Shader::getShader(SH_ACTIVE)->setUniformLocation("uCur2OldModel", oldModelMat * glm::inverse(modelMat)); -// case DRAW_Model: -// default: -// if (alive) -// texture->useTexture(); -// else -// texture_dead->useTexture(); -// -// if (timeresistant) -// Shader::getShader(SH_ACTIVE)->setUniformLocation("uAddGlow", true); -// model->drawModel(modelMat, dr_Model, vec4(0.9f, 0.f, 0.f, 1.f), currentAnimation, AnimationTime); -// if (timeresistant) -// Shader::getShader(SH_ACTIVE)->setUniformLocation("uAddGlow", false); -// break; -// case DRAW_Wire: -// if (alive) -// texture->useTexture(); -// else -// texture_dead->useTexture(); -// model->drawModel(modelMat, dr_WireT, vec4(0.9f, 0.f, 0.f, 1.f), currentAnimation, AnimationTime); -// break; -// case DRAW_Coll: -// if (collision != nullptr) -// collision->drawModel(modelMat, dr_WireC, vec4(0.9f, 0.f, 0.f, 1.f), currentAnimation, AnimationTime); -// break; -// } -// /* Draw Object*/ -// -//} +void Boar::draw(drawTarget _target) const +{ + switch (_target) + { + case DRAW_ModelMotionBlur: + //upload new->old model + Shader::getShader(SH_ACTIVE)->setUniformLocation("uCur2OldModel", oldModelMat * glm::inverse(modelMat)); + case DRAW_Model: + default: + if (alive) + texture->useTexture(); + else + texture_dead->useTexture(); + + if (timeresistant) + Shader::getShader(SH_ACTIVE)->setUniformLocation("uAddGlow", true); + model->drawModel(modelMat, dr_Model, vec4(0.9f, 0.f, 0.f, 1.f), currentAnimation, AnimationTime); + if (timeresistant) + Shader::getShader(SH_ACTIVE)->setUniformLocation("uAddGlow", false); + break; + case DRAW_Wire: + if (alive) + texture->useTexture(); + else + texture_dead->useTexture(); + model->drawModel(modelMat, dr_WireT, vec4(0.9f, 0.f, 0.f, 1.f), currentAnimation, AnimationTime); + break; + case DRAW_Coll: + if (collision != nullptr) + collision->drawModel(modelMat, dr_WireC, vec4(0.9f, 0.f, 0.f, 1.f), currentAnimation, AnimationTime); + break; + } + /* Draw Object*/ + +} void Boar::collides(SceneObject * _other, btPersistentManifold * _contactManifold, float _deltaT) { @@ -141,7 +141,7 @@ void Boar::collides(SceneObject * _other, btPersistentManifold * _contactManifol } - if (normal[1] <= .3f && pdist<0 && pdist > -1) + if (normal[1] <= .4f && pdist<0 && pdist > -1) { _other->move(-pdist * (float).5 * vec3(normal[0], 0.f, normal[2])); _other->move_delta = 0; diff --git a/Weave/Scene/Boar.h b/Weave/Scene/Boar.h index fc3b807..82e2055 100644 --- a/Weave/Scene/Boar.h +++ b/Weave/Scene/Boar.h @@ -11,7 +11,7 @@ public: ~Boar(); virtual void update(float) override; - //virtual void draw(drawTarget target = DRAW_Model) const override; + virtual void draw(drawTarget target = DRAW_Model) const override; virtual void collides(SceneObject* other, btPersistentManifold* contactManifold, float deltaT = 1.f) override;