]> git.leopard-lacewing.eu Git - cgue_weave.git/commitdiff
cleanup in Game.cpp
authorPeter Schaefer <schaeferpm@gmail.com>
Thu, 30 Apr 2015 12:34:59 +0000 (14:34 +0200)
committerPeter Schaefer <schaeferpm@gmail.com>
Thu, 30 Apr 2015 12:34:59 +0000 (14:34 +0200)
BBox kollisionen passen fürs erste (können Aber noch optimiert werden)

Weave/Game.cpp
Weave/Graphix/Model/BBox.cpp
Weave/Graphix/Model/Model.cpp

index b24c49dd81faf96208b11a8e95da8e73a4999707..912f028d9528bcf1454bae2f663fe3a126784929 100644 (file)
@@ -49,64 +49,26 @@ Game::Game() : playing(true)
 
        //Allg Shader
        Shader* shader1 = new Shader("basicTexture_VS.hlsl", "lightingTexture_FS.hlsl");
-//     Shader* shaderSky = new Shader("skybox_VS.hlsl", "skybox_FS.hlsl");
 
        // load LVL
        SceneObject* tmp_world = new SceneObject(shader1, scale(3.f * vec3(1.f, .3f, 1.f)), vec4(4.0f, 1.0f, 1.0f, 2.0f), "level_test.dae", "model_levelTest_2D.png");
        tmp_world->ignore = true;
        current_world->addObject(tmp_world);
 
-       current_world->addObject(new SceneObject(shader1, translate(vec3(-3.f, 1.f, 0.f)), vec4(1.0f, 1.0f, 1.0f, 3.0f), new BBox(), ""));
+//     current_world->addObject(new SceneObject(shader1, translate(vec3(-3.f, 1.f, 0.f)), vec4(1.0f, 1.0f, 1.0f, 3.0f), new BBox(), ""));
 
        //Player
        SceneObject* tmp_playerObject = new Marvin(shader1, translate(vec3(1.f, 3.f, 1.f))*rotate((float)M_PI_4,vec3(0.f,1.f,0.f)));
 
        tmp_playerObject->yStatic= false;
 
-       //tmp_playerObject->setIntelligenz(new PlayerI(tmp_playerObject));
        current_world->addObject(tmp_playerObject);
        current_world->setLookAt(tmp_playerObject);
-       //player1 = Player(tmp_playerObject);
-
-       // World
-       //SceneObject* tmp_world = new SceneObject(shader1, scale(vec3(15.f)), "sphere/sphere.dae", "sky_withstars.png",1.f,1.f,1.f,vec3(0.f));
-       //tmp_world->setCollision(false);
-
-       //SceneObject::setTextureDanger("model_cow.jpg");
-       //SceneObject::setTextureSave("model_cow.jpg");
-
-       //current_world->addObject(tmp_world);
-
-       //int size = 5;
-       //int steps = 10;
-
-       //vec3 pos;
-
-       //SceneObject* tmp_enemy;
-       //for (auto i = 0; i < 10;++i)
-       //{
-       //      pos = vec3(((float)(rand() % (size*steps * 2)) / steps - size), ((float)(rand() % (size*steps * 2)) / steps - size), ((float)(rand() % (size*steps * 2)) / steps - size));
-       //      if (VektorAbs(pos) < 2)
-       //      {
-       //              --i;
-       //              continue;
-       //      }
-       //      tmp_enemy = new SceneObject(shader1, translate(pos), "cow/cow.dae", "", (float)(rand() % 10 + 2) / 10.f);
-       //      tmp_enemy->setEnemy(true);
-       //      current_world->addObject(tmp_enemy);
-       //      //cout << ((float)(rand() % (size*steps * 2)) / steps - size) << ((float)(rand() % (size*steps * 2)) / steps - size) << ((float)(rand() % (size*steps * 2)) / steps - size) << endl;
-       //}
-       //ein Gegner
+
        //current_world->addObject(new SceneObject(shader1, glm::mat4(1.0f), "Player.dae", "model_player.png"));
        //current_world->addObject(new SceneObject(shader1, translate(vec3(-3.f, .4f, 0.f))*scale(vec3(3.f)), "cow/cow.dae", "model_cow_2D.jpg"));
        current_world->addObject(new SceneObject(shader1, translate(vec3(-3.f, .4f, 0.f))*scale(vec3(.4f)), vec4(3.0f, 0.5f, 0.4f, 1.5f), "duck.dae", "model_duck_2D.png"));
 
-
-       //import("level_test.dae", current_world, shader1);
-
-
-       
-
 }
 
 
index 2f04e36ca2337dbb4b8eed244a549fb7838a29c4..a9596859ada6893ece0fb0e3b859aeaed37d9bd0 100644 (file)
@@ -8,6 +8,10 @@ BBox::BBox()
 
        float vertex[] { -.5f, -.5f, -.5f, .5f, -.5f, -.5f, .5f, .5f, -.5f, -.5f, .5f, -.5f, -.5f, -.5f, .5f, .5f, -.5f, .5f, .5f, .5f, .5f, -.5f, .5f, .5f };
 
+       BBmin = vec3(-.5f);
+       BBmax = vec3(.5f);
+       updateBB(BBmin, BBmax);
+
        //import("skybox.dae", numvertices, numfaces, vertex, uvs, normals, index, 0);
 
        genBuffer(vertexBuffer, numvertices * 3 * sizeof(float), (void*)vertex);
index 15a0eae1753cb3680487d4ed27717e2d029002e0..c79aa3967ff6a00386096584212ddc92512e6256 100644 (file)
@@ -108,13 +108,12 @@ void Model::drawBBox(Shader* _shader,const mat4& _modelMat) const
        if (BoundingBox==nullptr)
        {
                BoundingBox = new BBox();
-//             BBoxShader = new Shader("basic_FS.hlsl", "basic_VS.hlsl");
+               //BBoxShader = new Shader("basic_FS.hlsl", "basic_VS.hlsl");
                BoundingBox->bindShader(Graphix::shader_BBox);
 
-               //auto tmp = Graphix::shader_BBox->getUniformLocation("uFragmentColor");
+               //int tmp = Graphix::shader_BBox->getUniformLocation("uFragmentColor");
                //if (tmp >= 0)
-               //      glUniform4fv((int)Graphix::shader_BBox, 1, value_ptr(vec4(.3f,.9f,.9f,1.f)));
-               
+               //      glUniform4fv(Graphix::shader_BBox->getHandle(), 1, value_ptr(vec4(.3f, .9f, .9f, 1.f)));
        }
 //     BoundingBox->bindShader(_shader);
        BoundingBox->drawModel(Graphix::shader_BBox, (Texture*)nullptr, _modelMat*translate(BBposition)*scale(BBsize), vec4(1.0f, 1.0f, 1.0f, 3.0f));
@@ -251,8 +250,8 @@ void Model::isColliding(int& _overlap, int& _inside, const Model* _model,const m
        getBBsp(sizeA, posA);
        _model->getBBsp(sizeB, posB);
 
-       posA = (vec3)(_modelMatThis*vec4(posA, 1.f)); //transpose sollte eigentlich reichen
-       posB = (vec3)(_modelMatOther*vec4(posB, 1.f));
+       posA = posA+(vec3)(_modelMatThis[3]); //transpose sollte eigentlich reichen
+       posB = posB+(vec3)(_modelMatOther[3]);
 
        sizeA = rotateSize(sizeA, _modelMatThis);
        sizeB = rotateSize(sizeB, _modelMatOther);