From 9e6b5a995aff780ac320e4f8cc0d1971f65d1ae1 Mon Sep 17 00:00:00 2001 From: devZoGok Date: Fri, 1 Nov 2019 20:30:24 +0200 Subject: [PATCH] removed dependency from directory --- light.cpp | 11 +++++++++-- material.cpp | 12 ++++++++++-- mesh.cpp | 14 +++++++++++++- node.cpp | 13 ++++++++++++- particleEmitter.cpp | 9 ++++++++- quad.cpp | 12 ++++++------ shader.cpp | 2 ++ shader.h | 1 + tags | 14 ++++++++------ text.cpp | 9 +++++++-- texture.cpp | 7 +++++-- texture.h | 1 + 12 files changed, 82 insertions(+), 23 deletions(-) diff --git a/light.cpp b/light.cpp index cfadae0..712116c 100755 --- a/light.cpp +++ b/light.cpp @@ -30,11 +30,18 @@ namespace vb01{ else cout<<"Complete\n"; - string basePath="/home/dominykas/c++/FSim/depthMap."; + string basePath="../../vb01/depthMap."; depthMapShader=new Shader(basePath+"vert",basePath+"frag"); } - Light::~Light(){} + Light::~Light(){ + glBindFramebuffer(GL_FRAMEBUFFER,0); + glDeleteFramebuffers(1,&depthmapFBO); + + delete depthMap; + + delete depthMapShader; + } void Light::update(){ Root *root=Root::getSingleton(); diff --git a/material.cpp b/material.cpp index 474c55d..05b82f1 100755 --- a/material.cpp +++ b/material.cpp @@ -7,7 +7,7 @@ namespace vb01{ Material::Material(Type type){ this->type=type; - string basePath="/home/dominykas/c++/vb01/",shaderName; + string basePath="../../vb01/",shaderName; switch(type){ case MATERIAL_2D: shaderName="texture."; @@ -28,7 +28,15 @@ namespace vb01{ shader=new Shader(basePath+shaderName+"vert",basePath+shaderName+"frag"); } - Material::~Material(){} + Material::~Material(){ + delete shader; + for(Texture *t : diffuseMapTextures) + delete t; + for(Texture *t : normalMapTextures) + delete t; + for(Texture *t : specularMapTextures) + delete t; + } void Material::update(){ shader->use(); diff --git a/mesh.cpp b/mesh.cpp index d7f1e5d..256d8c0 100755 --- a/mesh.cpp +++ b/mesh.cpp @@ -23,7 +23,19 @@ namespace vb01{ construct(); } - Mesh::~Mesh(){} + Mesh::~Mesh(){ + for(Mesh *m : meshes) + delete m; + + delete material; + + glDeleteVertexArrays(1,&VAO); + glDeleteBuffers(1,&EBO); + glDeleteBuffers(1,&VBO); + + delete[] indices; + delete[] vertices; + } void Mesh::construct(){ glGenVertexArrays(1,&VAO); diff --git a/node.cpp b/node.cpp index 516d0c6..d0b519a 100755 --- a/node.cpp +++ b/node.cpp @@ -15,7 +15,18 @@ namespace vb01{ this->orientation=orientation; } - Node::~Node(){} + Node::~Node(){ + for(Light *l : lights) + delete l; + for(Mesh *m : meshes) + delete m; + for(ParticleEmitter *p : emitters) + delete p; + for(Text *t : texts) + delete t; + for(Node *c : children) + delete c; + } void Node::update(){ if(visible){ diff --git a/particleEmitter.cpp b/particleEmitter.cpp index 87b70df..33b9c1c 100755 --- a/particleEmitter.cpp +++ b/particleEmitter.cpp @@ -64,7 +64,14 @@ namespace vb01{ glEnableVertexAttribArray(1); } - ParticleEmitter::~ParticleEmitter(){} + ParticleEmitter::~ParticleEmitter(){ + glDeleteVertexArrays(1,&VAO); + glDeleteBuffers(1,&VBO); + + delete material; + + delete[] particles; + } void ParticleEmitter::update(){ Root *root=Root::getSingleton(); diff --git a/quad.cpp b/quad.cpp index d5503f7..27e86f6 100755 --- a/quad.cpp +++ b/quad.cpp @@ -36,22 +36,22 @@ namespace vb01{ v6.pos=Vector3(size.x,0,0); } v1.norm=Vector3(0,0,-1); - v1.texCoords=Vector2(1,0); + v1.texCoords=Vector2(1,1); v2.norm=Vector3(0,0,-1); - v2.texCoords=Vector2(0,0); + v2.texCoords=Vector2(0,1); v3.norm=Vector3(0,0,-1); - v3.texCoords=Vector2(0,1); + v3.texCoords=Vector2(0,0); v4.norm=Vector3(0,0,-1); - v4.texCoords=Vector2(0,1); + v4.texCoords=Vector2(0,0); v5.norm=Vector3(0,0,-1); - v5.texCoords=Vector2(1,1); + v5.texCoords=Vector2(1,0); v6.norm=Vector3(0,0,-1); - v6.texCoords=Vector2(1,0); + v6.texCoords=Vector2(1,1); indices[0]=0; indices[1]=1; diff --git a/shader.cpp b/shader.cpp index 231fd05..115d92e 100755 --- a/shader.cpp +++ b/shader.cpp @@ -29,6 +29,8 @@ namespace vb01{ loadShaders(); } + Shader::~Shader(){} + void Shader::editShader(bool vertexShader, char firstChar, char secondChar, string insertion){ int firstCharId=-1,secondCharId=-1; for(int i=0;i