Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <GL/glew.h>
- #include <GLFW/glfw3.h>
- #include "Arbol/TNode.h"
- #include "Arbol/TEntity.h"
- #include "Arbol/TTransform.h"
- #include "Arbol/TLight.h"
- #include "Arbol/TCamera.h"
- #include "Arbol/TEngine.h"
- #include "Arbol/TMesh.h"
- #include "Arbol/TShaderProgram.h"
- #include "ResourceManager/TResourceMesh.h"
- #include "ResourceManager/TResourceTexture.h"
- // Interfaz
- #include "Interfaces/ITEngine.h"
- #include <glm/gtc/type_ptr.hpp>
- #include <glm/gtc/constants.hpp>
- int main(){
- // Creamos el motor
- /*TEngine *rama = new TEngine();
- TNode* root = new TNode();
- TShaderProgram* shaderProgram = new TShaderProgram("../../media/shaders/vertexShader.glsl", "../../media/shaders/fragmentShader.glsl");
- TNode* shader = new TNode();
- shader->setEntity(shaderProgram);
- root->addChild(shader);
- TCamera* cam = new TCamera(0.1f, 1000.0f, 60.0f, 1.77777777f);
- cam->setCameraPosition(glm::vec3(0.0f,0.0f,-5.0f));
- cam->setTargetPosition(glm::vec3(0.0f,1.0f,10.0f));
- TNode* camera = new TNode();
- camera->setEntity(cam);
- root->addChild(camera);
- TResourceMesh *meshi = rama->createMesh("../../media/wheel.obj");
- TResourceTexture *texture = rama->createTexture("../../media/tire.png");
- TMesh *mesh = new TMesh(meshi, texture);
- TNode *nepe = new TNode();
- nepe->setEntity(mesh);
- root->addChild(nepe);*/
- //FOKLORE- USANDO LAS RAMAS FUNCIONA PERO PETA AL BORRAR
- //BORJA- POS A MI NO ME PETA USANDO RAMAS
- ITEngine* rama = ITEngine::getInstancia();
- rama->createShader("../../media/shaders/vertexShader.glsl", "../../media/shaders/fragmentShader.glsl");
- //glUniform1i(cache.getID(OBDEnums::OpenGLIDs::SAMPLER_DIFFUSE), loadedTextures);
- glm::vec3 pos=glm::vec3(0.0f,1.0f,5.0f);
- glm::vec3 tar=glm::vec3(0.0f,0.0f,0.0f);
- viewport v;
- v.near = 0.1f;
- v.far = 1000.0f;
- v.fov = 60.0f;
- v.ratio = 1.77777777f;
- ITCamera *cam = rama->createCamera(pos, tar, v);
- // Campo
- ITResourceMesh* campo = rama->createMesh("../../media/Campo_muro2.obj", "../../media/cubetexture.png");
- campo->setRotation(0,1,0,0);
- //malla->setRotation(0.f,1.f,0.f,3.14/2);
- //malla->setScale(1.f,2.f,1.f);
- //malla->setPosition(1.f,2.f,1.f);
- // Coche
- ITResourceMesh* coche = rama->createMesh("../../media/Coche.obj", "");
- coche->setPosition(0.0f,1.0f,0.0f);
- // Ruedas
- ITResourceMesh* wheelUL = rama->createMesh("../../media/wheel.obj", "../../media/tire.png");
- wheelUL->setPosition(1.3f,0.5f,-0.5f);
- //wheelUL->setScale(1.5f,1.5f,1.5f);
- //wheelUL->setRotation(0,0.5,0,180);
- ITResourceMesh* wheelUR = rama->createMesh("../../media/wheel.obj", "../../media/tire.png");
- wheelUR->setPosition(-0.2f,0.5f,-0.5f);
- ITResourceMesh* wheelDL = rama->createMesh("../../media/wheel.obj", "../../media/tire.png");
- wheelDL->setPosition(1.3f,0.5f,-3.0f);
- ITResourceMesh* wheelDR = rama->createMesh("../../media/wheel.obj", "../../media/tire.png");
- wheelDR->setPosition(-0.2f,0.5f,-3.0f);
- //rama->newHud("MainMenuHUD");
- //rama->getActiveHud()->addElement("fondo", "../../media/GUI/Fondo Menu.png");
- //rama->getActiveHud()->traslateElement("fondo", 1, 1);
- //rama->getActiveHud()->scaleElement("fondo", 1, 1);
- //rama->getActiveHud()->rotateElement("fondo", 45);
- //rama->getActiveHud()->addElement("local", "../../media/GUI/btn_local_normal.png");
- //rama->getActiveHud()->scaleElement("local", 10.0f, 10.0f);
- // Capturar la tecla ESC cuando sea presionada
- glfwSetInputMode(rama->getWindow(), GLFW_STICKY_KEYS, GL_TRUE);
- while(!glfwWindowShouldClose(rama->getWindow())){
- // Limpiamos buffer
- glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- // Movimiento camara con teclas
- if (glfwGetKey(rama->getWindow(), GLFW_KEY_W) == GLFW_PRESS) {
- cam->getCamera()->setCameraPosition(cam->getCamera()->getPosition() + glm::vec3(0, 0, -.5f));
- cam->getCamera()->setTargetPosition(cam->getCamera()->getTarget() + glm::vec3(0, 0, -.5f));
- }else if (glfwGetKey(rama->getWindow(), GLFW_KEY_S) == GLFW_PRESS) {
- cam->getCamera()->setCameraPosition(cam->getCamera()->getPosition() + glm::vec3(0, 0, .5f));
- cam->getCamera()->setTargetPosition(cam->getCamera()->getTarget() + glm::vec3(0, 0, .5f));
- }
- if (glfwGetKey(rama->getWindow(), GLFW_KEY_A) == GLFW_PRESS) {
- cam->getCamera()->setCameraPosition(cam->getCamera()->getPosition() + glm::vec3(.5f, 0, 0));
- cam->getCamera()->setTargetPosition(cam->getCamera()->getTarget() + glm::vec3(.5f, 0, 0));
- }else if (glfwGetKey(rama->getWindow(), GLFW_KEY_D) == GLFW_PRESS) {
- cam->getCamera()->setCameraPosition(cam->getCamera()->getPosition() + glm::vec3(-.5f, 0, 0));
- cam->getCamera()->setTargetPosition(cam->getCamera()->getTarget() + glm::vec3(-.5f, 0, 0));
- }
- rama->draw();
- //rama->drawHudMenus();
- // Intercambiamos buffers
- glfwSwapBuffers(rama->getWindow());
- // Comprueba los eventos
- glfwPollEvents();
- }
- delete rama;
- //delete rama;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement