Add ability to generate cube with the radius of individual axis.
VAO now takes in that generated cube alongside triangles.main
parent
b486bd375f
commit
9e533a86f6
Binary file not shown.
|
@ -34,3 +34,10 @@
|
|||
1310 1378 1668324206276041556 Step_3 f055ce2b85635598
|
||||
1 1298 1668324222400504969 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o ce988de97a5cb51d
|
||||
1298 1369 1668324222472507037 Step_3 f055ce2b85635598
|
||||
1 1075 1668324349212149162 CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o 330ad35a6abf06c3
|
||||
1 1305 1668324349440155714 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o ce988de97a5cb51d
|
||||
1305 1374 1668324349508157669 Step_3 f055ce2b85635598
|
||||
1 1177 1668326424977049673 CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o 330ad35a6abf06c3
|
||||
1 1405 1668326425205056279 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o ce988de97a5cb51d
|
||||
1 1911 1668326425713070995 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 641dce3f86933e2e
|
||||
1912 2024 1668326425821074124 Step_3 f055ce2b85635598
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,3 +1,3 @@
|
|||
Start testing: Nov 13 02:23 EST
|
||||
Start testing: Nov 13 03:00 EST
|
||||
----------------------------------------------------------
|
||||
End testing: Nov 13 02:23 EST
|
||||
End testing: Nov 13 03:00 EST
|
||||
|
|
|
@ -83,6 +83,7 @@ class VAO {
|
|||
|
||||
explicit VAO(const std::vector<Raytracing::Triangle> &triangles);
|
||||
VAO(const std::vector<float>& verts, const std::vector<float>& uvs, const std::vector<unsigned int>& indices);
|
||||
VAO(const std::vector<float>& verts, const std::vector<float>& uvs);
|
||||
|
||||
void bind() const;
|
||||
void unbind();
|
||||
|
|
|
@ -223,6 +223,21 @@ VAO::~VAO() {
|
|||
}
|
||||
glDeleteBuffers(1, &instanceVBO);
|
||||
}
|
||||
VAO::VAO(const std::vector<float>& verts, const std::vector<float>& uvs): VaoID(createVAO()) {
|
||||
this->drawCount = (int)verts.size();
|
||||
glBindVertexArray(VaoID);
|
||||
// enable the attributes, prevents us from having to do this later.
|
||||
glEnableVertexAttribArray(0);
|
||||
glEnableVertexAttribArray(1);
|
||||
glEnableVertexAttribArray(2);
|
||||
// store vertex data
|
||||
storeData(0, 3, 3 * sizeof(float), 0, (int)verts.size(), verts.data());
|
||||
// store texture UV data
|
||||
storeData(1, 2, 2 * sizeof(float), 0, (int)uvs.size(), uvs.data());
|
||||
// store normal data
|
||||
//storeData(2, 3, 3 * sizeof(float), 0, (int)normals.size(), normals.data());
|
||||
unbind();
|
||||
}
|
||||
|
||||
Texture::Texture(){
|
||||
|
||||
|
|
|
@ -13,25 +13,144 @@ extern bool* pauseRaytracing;
|
|||
extern bool* haltRaytracing;
|
||||
|
||||
namespace Raytracing {
|
||||
|
||||
struct cubeVertexBuilder {
|
||||
std::vector<float> cubeVerticesRaw = {
|
||||
-0.5f, -0.5f, -0.5f,
|
||||
0.5f, -0.5f, -0.5f,
|
||||
0.5f, 0.5f, -0.5f,
|
||||
0.5f, 0.5f, -0.5f,
|
||||
-0.5f, 0.5f, -0.5f,
|
||||
-0.5f, -0.5f, -0.5f,
|
||||
|
||||
-0.5f, -0.5f, 0.5f,
|
||||
0.5f, -0.5f, 0.5f,
|
||||
0.5f, 0.5f, 0.5f,
|
||||
0.5f, 0.5f, 0.5f,
|
||||
-0.5f, 0.5f, 0.5f,
|
||||
-0.5f, -0.5f, 0.5f,
|
||||
|
||||
-0.5f, 0.5f, 0.5f,
|
||||
-0.5f, 0.5f, -0.5f,
|
||||
-0.5f, -0.5f, -0.5f,
|
||||
-0.5f, -0.5f, -0.5f,
|
||||
-0.5f, -0.5f, 0.5f,
|
||||
-0.5f, 0.5f, 0.5f,
|
||||
|
||||
0.5f, 0.5f, 0.5f,
|
||||
0.5f, 0.5f, -0.5f,
|
||||
0.5f, -0.5f, -0.5f,
|
||||
0.5f, -0.5f, -0.5f,
|
||||
0.5f, -0.5f, 0.5f,
|
||||
0.5f, 0.5f, 0.5f,
|
||||
|
||||
-0.5f, -0.5f, -0.5f,
|
||||
0.5f, -0.5f, -0.5f,
|
||||
0.5f, -0.5f, 0.5f,
|
||||
0.5f, -0.5f, 0.5f,
|
||||
-0.5f, -0.5f, 0.5f,
|
||||
-0.5f, -0.5f, -0.5f,
|
||||
|
||||
-0.5f, 0.5f, -0.5f,
|
||||
0.5f, 0.5f, -0.5f,
|
||||
0.5f, 0.5f, 0.5f,
|
||||
0.5f, 0.5f, 0.5f,
|
||||
-0.5f, 0.5f, 0.5f,
|
||||
-0.5f, 0.5f, -0.5f,
|
||||
};
|
||||
static cubeVertexBuilder getCubeExtends(float xRadius, float yRadius, float zRadius) {
|
||||
cubeVertexBuilder builder;
|
||||
builder.cubeVerticesRaw = {
|
||||
-0.5f, -0.5f, -zRadius,
|
||||
0.5f, -0.5f, -zRadius,
|
||||
0.5f, 0.5f, -zRadius,
|
||||
0.5f, 0.5f, -zRadius,
|
||||
-0.5f, 0.5f, -zRadius,
|
||||
-0.5f, -0.5f, -zRadius,
|
||||
|
||||
-0.5f, -0.5f, zRadius,
|
||||
0.5f, -0.5f, zRadius,
|
||||
0.5f, 0.5f, zRadius,
|
||||
0.5f, 0.5f, zRadius,
|
||||
-0.5f, 0.5f, zRadius,
|
||||
-0.5f, -0.5f, zRadius,
|
||||
|
||||
-xRadius, 0.5f, 0.5f,
|
||||
-xRadius, 0.5f, -0.5f,
|
||||
-xRadius, -0.5f, -0.5f,
|
||||
-xRadius, -0.5f, -0.5f,
|
||||
-xRadius, -0.5f, 0.5f,
|
||||
-xRadius, 0.5f, 0.5f,
|
||||
|
||||
// const std::vector<float> vertices = {
|
||||
// 1.0f, 1.0f, 0.0f, // top right
|
||||
// 1.0f, 0.0f, 0.0f, // bottom right
|
||||
// 0.0f, 0.0f, 0.0f, // bottom left
|
||||
// 0.0f, 1.0f, 0.0f // top left
|
||||
// };
|
||||
//
|
||||
// const std::vector<unsigned int> indices = {
|
||||
// 3, 1, 0, // first triangle
|
||||
// 3, 2, 1 // second triangle
|
||||
// };
|
||||
//
|
||||
// const std::vector<float> texCoords = {
|
||||
// 1.0f, 1.0f, // top right
|
||||
// 1.0f, 0.0f, // bottom right
|
||||
// 0.0f, 0.0f, // bottom left
|
||||
// 0.0f, 1.0f // top left
|
||||
// };
|
||||
xRadius, 0.5f, 0.5f,
|
||||
xRadius, 0.5f, -0.5f,
|
||||
xRadius, -0.5f, -0.5f,
|
||||
xRadius, -0.5f, -0.5f,
|
||||
xRadius, -0.5f, 0.5f,
|
||||
xRadius, 0.5f, 0.5f,
|
||||
|
||||
-0.5f, -yRadius, -0.5f,
|
||||
0.5f, -yRadius, -0.5f,
|
||||
0.5f, -yRadius, 0.5f,
|
||||
0.5f, -yRadius, 0.5f,
|
||||
-0.5f, -yRadius, 0.5f,
|
||||
-0.5f, -yRadius, -0.5f,
|
||||
|
||||
-0.5f, yRadius, -0.5f,
|
||||
0.5f, yRadius, -0.5f,
|
||||
0.5f, yRadius, 0.5f,
|
||||
0.5f, yRadius, 0.5f,
|
||||
-0.5f, yRadius, 0.5f,
|
||||
-0.5f, yRadius, -0.5f,
|
||||
};
|
||||
return builder;
|
||||
}
|
||||
};
|
||||
|
||||
std::vector<float> cubeUVs = {
|
||||
0.0f, 0.0f,
|
||||
1.0f, 0.0f,
|
||||
1.0f, 1.0f,
|
||||
1.0f, 1.0f,
|
||||
0.0f, 1.0f,
|
||||
0.0f, 0.0f,
|
||||
|
||||
0.0f, 0.0f,
|
||||
1.0f, 0.0f,
|
||||
1.0f, 1.0f,
|
||||
1.0f, 1.0f,
|
||||
0.0f, 1.0f,
|
||||
0.0f, 0.0f,
|
||||
|
||||
1.0f, 0.0f,
|
||||
1.0f, 1.0f,
|
||||
0.0f, 1.0f,
|
||||
0.0f, 1.0f,
|
||||
0.0f, 0.0f,
|
||||
1.0f, 0.0f,
|
||||
|
||||
1.0f, 0.0f,
|
||||
1.0f, 1.0f,
|
||||
0.0f, 1.0f,
|
||||
0.0f, 1.0f,
|
||||
0.0f, 0.0f,
|
||||
1.0f, 0.0f,
|
||||
|
||||
0.0f, 1.0f,
|
||||
1.0f, 1.0f,
|
||||
1.0f, 0.0f,
|
||||
1.0f, 0.0f,
|
||||
0.0f, 0.0f,
|
||||
0.0f, 1.0f,
|
||||
|
||||
0.0f, 1.0f,
|
||||
1.0f, 1.0f,
|
||||
1.0f, 0.0f,
|
||||
1.0f, 0.0f,
|
||||
0.0f, 0.0f,
|
||||
0.0f, 1.0f
|
||||
};
|
||||
|
||||
const std::vector<float> vertices = {
|
||||
1.0f, 1.0f, 0.0f, // top right
|
||||
1.0f, -1.0f, 0.0f, // bottom right
|
||||
|
|
Loading…
Reference in New Issue