40 lines
680 B
C++
40 lines
680 B
C++
#pragma once
|
|
#include <glm/glm.hpp>
|
|
#include <glm/gtc/constants.hpp>
|
|
#include <vector>
|
|
#include "GL/glew.h"
|
|
|
|
class Dataset
|
|
{
|
|
public:
|
|
Dataset() {}
|
|
~Dataset() {}
|
|
|
|
std::vector<glm::vec3> vertices;
|
|
std::vector<glm::vec3> normals;
|
|
std::vector<glm::vec3> colors;
|
|
std::vector<glm::vec2> tex_mapping;
|
|
std::vector<GLuint> indexes;
|
|
|
|
void clear()
|
|
{
|
|
vertices.clear();
|
|
normals.clear();
|
|
colors.clear();
|
|
tex_mapping.clear();
|
|
indexes.clear();
|
|
}
|
|
|
|
void sphere(float radius, GLuint slices, GLuint stacks);
|
|
|
|
void simpleCube();
|
|
|
|
void simpleFloor();
|
|
|
|
void checkeredFloor(float size, int squares,
|
|
glm::vec3 light_color, glm::vec3 dark_color);
|
|
|
|
private:
|
|
|
|
void genNormals();
|
|
}; |