From 21c6ab2f80de45c25f36f8b15bb08ae742c4b1d2 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Tue, 8 Nov 2016 22:17:47 +0100 Subject: [PATCH] [DEBUG] correct the VBO FULL implement --- ege/camera/View.cpp | 64 ++++++++++++++++++++++--------------------- ege/camera/View.hpp | 2 ++ ege/resource/Mesh.cpp | 4 +-- 3 files changed, 37 insertions(+), 33 deletions(-) diff --git a/ege/camera/View.cpp b/ege/camera/View.cpp index 7f19f52..c51ffeb 100644 --- a/ege/camera/View.cpp +++ b/ege/camera/View.cpp @@ -90,36 +90,38 @@ ege::Ray ege::camera::View::getRayFromScreen(const vec2& _offset) { return out; } -void ege::camera::View::drawDebug(ememory::SharedPtr _draw, ememory::SharedPtr _camera) { - mat4 mat; - if (_camera != sharedFromThis()) { +#ifndef __TARGET_OS__Web + void ege::camera::View::drawDebug(ememory::SharedPtr _draw, ememory::SharedPtr _camera) { + mat4 mat; + if (_camera != sharedFromThis()) { + mat.identity(); + vec2 angles = tansformPositionToAngle(-getViewVector()); + mat.rotate(vec3(0,0,1), angles.x() - M_PI/2.0f); + mat.rotate(vec3(1,0,0), -M_PI*0.5f + angles.y()); + mat.translate(vec3(0,0,getViewVector().length())); + mat.rotate(vec3(0,0,1), m_angle); + //mat.translate(vec3(m_eye.x(), m_eye.y(), m_eye.z())); + _draw->drawSquare(vec3(2,2,2), mat, etk::Color(0.0f, 0.0f, 1.0f, 1.0f)); + std::vector EwolVertices; + EwolVertices.push_back(vec3(0,0,0)); + EwolVertices.push_back(vec3(-5,-5,-5)); + EwolVertices.push_back(vec3(5,-5,-5)); + + EwolVertices.push_back(vec3(0,0,0)); + EwolVertices.push_back(vec3(5,-5,-5)); + EwolVertices.push_back(vec3(5,5,-5)); + + EwolVertices.push_back(vec3(0,0,0)); + EwolVertices.push_back(vec3(5,5,-5)); + EwolVertices.push_back(vec3(-5,5,-5)); + + EwolVertices.push_back(vec3(0,0,0)); + EwolVertices.push_back(vec3(-5,5,-5)); + EwolVertices.push_back(vec3(-5,-5,-5)); + _draw->draw(EwolVertices, etk::Color(0.0f, 0.0f, 1.0f, 0.5f), mat); + } mat.identity(); - vec2 angles = tansformPositionToAngle(-getViewVector()); - mat.rotate(vec3(0,0,1), angles.x() - M_PI/2.0f); - mat.rotate(vec3(1,0,0), -M_PI*0.5f + angles.y()); - mat.translate(vec3(0,0,getViewVector().length())); - mat.rotate(vec3(0,0,1), m_angle); - //mat.translate(vec3(m_eye.x(), m_eye.y(), m_eye.z())); - _draw->drawSquare(vec3(2,2,2), mat, etk::Color(0.0f, 0.0f, 1.0f, 1.0f)); - std::vector EwolVertices; - EwolVertices.push_back(vec3(0,0,0)); - EwolVertices.push_back(vec3(-5,-5,-5)); - EwolVertices.push_back(vec3(5,-5,-5)); - - EwolVertices.push_back(vec3(0,0,0)); - EwolVertices.push_back(vec3(5,-5,-5)); - EwolVertices.push_back(vec3(5,5,-5)); - - EwolVertices.push_back(vec3(0,0,0)); - EwolVertices.push_back(vec3(5,5,-5)); - EwolVertices.push_back(vec3(-5,5,-5)); - - EwolVertices.push_back(vec3(0,0,0)); - EwolVertices.push_back(vec3(-5,5,-5)); - EwolVertices.push_back(vec3(-5,-5,-5)); - _draw->draw(EwolVertices, etk::Color(0.0f, 0.0f, 1.0f, 0.5f), mat); + mat.translate(m_target); + _draw->drawSphere(1, 3, 3, mat, etk::Color(0.0f, 0.0f, 1.0f, 1.0f)); } - mat.identity(); - mat.translate(m_target); - _draw->drawSphere(1, 3, 3, mat, etk::Color(0.0f, 0.0f, 1.0f, 1.0f)); -} +#endif diff --git a/ege/camera/View.hpp b/ege/camera/View.hpp index d99b9da..53cc2a5 100644 --- a/ege/camera/View.hpp +++ b/ege/camera/View.hpp @@ -73,7 +73,9 @@ namespace ege { virtual vec3 getViewVector() const; public: virtual ege::Ray getRayFromScreen(const vec2& _offset); + #ifndef __TARGET_OS__Web virtual void drawDebug(ememory::SharedPtr _draw, ememory::SharedPtr _camera); + #endif virtual float getTetha(); virtual float getPsy(); }; diff --git a/ege/resource/Mesh.cpp b/ege/resource/Mesh.cpp index 4c10e33..7bd963f 100644 --- a/ege/resource/Mesh.cpp +++ b/ege/resource/Mesh.cpp @@ -60,7 +60,7 @@ void ege::resource::Mesh::init(const std::string& _fileName, const std::string& EGE_ERROR("can not instanciate VBO ..."); return; } - // TO facilitate some debugs we add a name of the VBO : + // TO facilitate some debugs we add a name of the VBO: m_verticesVBO->setName("[VBO] of " + _fileName); // load the curent file : std::string tmpName = etk::tolower(_fileName); @@ -148,7 +148,7 @@ void ege::resource::Mesh::draw(mat4& _positionMatrix, #else } #endif - // position : + // colors : m_GLprogram->sendAttributePointer(m_GLColor, m_verticesVBO, MESH_VBO_COLOR); // draw lights : m_light.draw(m_GLprogram);