void TestGame::init() { m_root.setEngine(m_engine); IndexedModel model = IndexedModel(); std::vector<Vertex> vertices; std::vector<unsigned int> indices; // vertices.push_back(Vertex(Vector3f(-1, -1, -1), Vector2f(1, 0))); // vertices.push_back(Vertex(Vector3f(-1, 1, -1), Vector2f(0, 0))); // vertices.push_back(Vertex(Vector3f( 1, 1, -1), Vector2f(0, 1))); // vertices.push_back(Vertex(Vector3f( 1, -1, -1), Vector2f(1, 1))); // // vertices.push_back(Vertex(Vector3f(-1, -1, 1), Vector2f(1, 0))); // vertices.push_back(Vertex(Vector3f(-1, 1, 1), Vector2f(0, 0))); // vertices.push_back(Vertex(Vector3f( 1, 1, 1), Vector2f(0, 1))); // vertices.push_back(Vertex(Vector3f( 1, -1, 1), Vector2f(1, 1))); // // vertices.push_back(Vertex(Vector3f(-1, -1, -1), Vector2f(0, 1))); // vertices.push_back(Vertex(Vector3f(-1, -1, 1), Vector2f(1, 1))); // vertices.push_back(Vertex(Vector3f( 1, -1, 1), Vector2f(1, 0))); // vertices.push_back(Vertex(Vector3f( 1, -1, -1), Vector2f(0, 0))); // // vertices.push_back(Vertex(Vector3f(-1, 1, -1), Vector2f(0, 1))); // vertices.push_back(Vertex(Vector3f(-1, 1, 1), Vector2f(1, 1))); // vertices.push_back(Vertex(Vector3f( 1, 1, 1), Vector2f(1, 0))); // vertices.push_back(Vertex(Vector3f( 1, 1, -1), Vector2f(0, 0))); // // vertices.push_back(Vertex(Vector3f(-1, -1, -1), Vector2f(1, 1))); // vertices.push_back(Vertex(Vector3f(-1, -1, 1), Vector2f(1, 0))); // vertices.push_back(Vertex(Vector3f(-1, 1, 1), Vector2f(0, 0))); // vertices.push_back(Vertex(Vector3f(-1, 1, -1), Vector2f(0, 1))); // // vertices.push_back(Vertex(Vector3f(1, -1, -1), Vector2f(1, 1))); // vertices.push_back(Vertex(Vector3f(1, -1, 1), Vector2f(1, 0))); // vertices.push_back(Vertex(Vector3f(1, 1, 1), Vector2f(0, 0))); // vertices.push_back(Vertex(Vector3f(1, 1, -1), Vector2f(0, 1))); // // indices.push_back(0); // indices.push_back(1); // indices.push_back(2); // indices.push_back(0); // indices.push_back(2); // indices.push_back(3); // // indices.push_back(6); // indices.push_back(5); // indices.push_back(4); // indices.push_back(7); // indices.push_back(6); // indices.push_back(4); // // indices.push_back(10); // indices.push_back(9); // indices.push_back(8); // indices.push_back(11); // indices.push_back(10); // indices.push_back(8); // // indices.push_back(12); // indices.push_back(13); // indices.push_back(14); // indices.push_back(12); // indices.push_back(14); // indices.push_back(15); // // indices.push_back(16); // indices.push_back(17); // indices.push_back(18); // indices.push_back(16); // indices.push_back(18); // indices.push_back(19); // // indices.push_back(22); // indices.push_back(21); // indices.push_back(20); // indices.push_back(23); // indices.push_back(22); // indices.push_back(20); vertices.push_back(Vertex(Vector3f(-1.0f, -1.0f, 0.5773f), Vector2f(0.0f, 0.0f))); vertices.push_back(Vertex(Vector3f(0.0f, -1.0f, -1.15475f), Vector2f(0.5f, 0.0f))); vertices.push_back(Vertex(Vector3f(1.0f, -1.0f, 0.5773f), Vector2f(1.0f, 0.0f))); vertices.push_back(Vertex(Vector3f(0.0f, 1.0f, 0.0f), Vector2f(0.5f, 1.0f))); indices.push_back(0); indices.push_back(3); indices.push_back(1); indices.push_back(1); indices.push_back(3); indices.push_back(2); indices.push_back(2); indices.push_back(3); indices.push_back(0); indices.push_back(1); indices.push_back(2); indices.push_back(0); model.addVertices(vertices, indices, true); Material material = Material(m_texture, Vector3f(1.0f, 1.0f, 1.0f), 2.0f, 32.0f); Mesh mesh0 = Mesh(model, material); // IndexedModel model1 = IndexedModel(); // model1.addVertex(Vertex(Vector3f(-5, -3, -5), Vector2f(0, 1))); // model1.addVertex(Vertex(Vector3f(-5, -3, 5), Vector2f(1, 1))); // model1.addVertex(Vertex(Vector3f( 5, -3, 5), Vector2f(1, 0))); // model1.addVertex(Vertex(Vector3f( 5, -3, -5), Vector2f(0, 0))); // model1.addFace(Vector3i(2, 1, 0)); // model1.addFace(Vector3i(3, 2, 0)); // Mesh mesh1 = Mesh(model1); // m_camera = new Camera(Vector3f(0.0f, 0.0f, -3.0f), Vector3f(0.0f, 0.0f, 1.0f), Vector3f(0.0f, 1.0f, 0.0f), 70.0f, m_engine->getWindow()->getAspectRatio(), 0.1f, 1000.0f); m_object0 = (new Entity())->addComponent(new MeshRenderer(mesh0)); add(m_object0); m_object0->getTransform().setRotation(Quaternion(Vector3f(1.0f, 0.0f, 1.0f).normalized(), MATH_PI)); // m_object1 = (new Entity())->addComponent(new MeshRenderer(mesh1)); // add(m_object1); add((new Entity())->addComponent(new CameraComponent(70.0f, m_engine->getWindow()->getAspectRatio(), 0.1f, 1000.0f)) ->addComponent(new FreeMove(0.2f)) ->addComponent(new FreeLook(m_engine->getWindow()->getCenter(), 0.2f))); m_engine->getRenderingEngine()->setAmbientLight(Vector3f(0.1f, 0.1f, 0.1f)); m_engine->getRenderingEngine()->setDirectionalLight(DirectionalLight(Light(Vector3f(1.0f, 1.0f, 1.0f), 0.8f), Vector3f(0.0f, 1.0f, 0.0f).normalized())); }