velage/engine/simple-shapes.cpp
miri 792532a1bd at least there's a window
):

oh and i removed the mesh stuff so now we're using openmesh
2023-09-09 19:13:12 +02:00

82 lines
No EOL
2.5 KiB
C++

#include "simple-shapes.hpp"
#include "object.hpp"
#include <math.h>
/*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<OpMesh::VertexHandle> 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<GLfloat> vertices;
//std::vector<point> 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;
}*/