#include "simple-shapes.hpp" #include "object.hpp" #include /*gameobject velage::makeSphere(GLuint resolution, shader *render_shader) { OpMesh mesh; OpMesh::VertexHandle vhandle[8]; vhandle[0] = mesh.add_vertex(OpMesh::Point(-1, -1, 1)); vhandle[1] = mesh.add_vertex(OpMesh::Point(1, -1, 1)); vhandle[2] = mesh.add_vertex(OpMesh::Point(1, 1, 1)); vhandle[3] = mesh.add_vertex(OpMesh::Point(-1, 1, 1)); vhandle[4] = mesh.add_vertex(OpMesh::Point(-1, -1, -1)); vhandle[5] = mesh.add_vertex(OpMesh::Point(1, -1, -1)); vhandle[6] = mesh.add_vertex(OpMesh::Point(1, 1, -1)); vhandle[7] = mesh.add_vertex(OpMesh::Point(-1, 1, -1)); std::vector face_vhandles; face_vhandles.clear(); face_vhandles.push_back(vhandle[0]); face_vhandles.push_back(vhandle[1]); face_vhandles.push_back(vhandle[2]); face_vhandles.push_back(vhandle[3]); mesh.add_face(face_vhandles); face_vhandles.clear(); face_vhandles.push_back(vhandle[7]); face_vhandles.push_back(vhandle[6]); face_vhandles.push_back(vhandle[5]); face_vhandles.push_back(vhandle[4]); mesh.add_face(face_vhandles); face_vhandles.clear(); face_vhandles.push_back(vhandle[1]); face_vhandles.push_back(vhandle[0]); face_vhandles.push_back(vhandle[4]); face_vhandles.push_back(vhandle[5]); mesh.add_face(face_vhandles); face_vhandles.clear(); face_vhandles.push_back(vhandle[2]); face_vhandles.push_back(vhandle[1]); face_vhandles.push_back(vhandle[5]); face_vhandles.push_back(vhandle[6]); mesh.add_face(face_vhandles); face_vhandles.clear(); face_vhandles.push_back(vhandle[3]); face_vhandles.push_back(vhandle[2]); face_vhandles.push_back(vhandle[6]); face_vhandles.push_back(vhandle[7]); mesh.add_face(face_vhandles); face_vhandles.clear(); face_vhandles.push_back(vhandle[0]); face_vhandles.push_back(vhandle[3]); face_vhandles.push_back(vhandle[7]); face_vhandles.push_back(vhandle[4]); mesh.add_face(face_vhandles); gameobject go(render_shader); std::vector vertices; //std::vector normals; for (auto face : mesh.faces()) { for (auto vertex : mesh.fv_range(face)) { OpMesh::Point point = mesh.point(vertex); //OpMesh::Point normal = mesh.normal(face); GLfloat *a=point.data(); vertices.push_back(a[0]); vertices.push_back(a[1]); vertices.push_back(a[2]); //normals.push_back(normal); } } go.genVbo(vertices.data(), vertices.size()); //go.genEbo(GLuint *elements, GLuint size) return go; }*/