add cubes
This commit is contained in:
@@ -53,21 +53,7 @@ void Rubiks::onLoad() {
|
|||||||
|
|
||||||
ImGui::SetCurrentContext(im->aquireContext());
|
ImGui::SetCurrentContext(im->aquireContext());
|
||||||
|
|
||||||
window->getRenderer()->clearColor = { 0, 0, 0, 1.0f };
|
window->getRenderer()->clearColor = { 0.2f, 0.2f, 0.2f, 1.0f };
|
||||||
|
|
||||||
|
|
||||||
cubeShader = Archimedes::Shader(cubeVS, cubeFS, Archimedes::Shader::LoadType::FromSource);
|
|
||||||
|
|
||||||
window->getRenderer()->setupShader(cubeShader);
|
|
||||||
|
|
||||||
cube = Archimedes::Body(
|
|
||||||
Archimedes::VertexBuffer(vertices),
|
|
||||||
Archimedes::IndexArray(indices),
|
|
||||||
layout,
|
|
||||||
cubeShader
|
|
||||||
);
|
|
||||||
|
|
||||||
window->getRenderer()->setupRenderTarget(cube.getMesh());
|
|
||||||
|
|
||||||
int w, h;
|
int w, h;
|
||||||
window->getSize(w, h);
|
window->getSize(w, h);
|
||||||
@@ -81,6 +67,8 @@ void Rubiks::onLoad() {
|
|||||||
|
|
||||||
camera.setPerspective(glm::perspective(glm::radians(45.0f), (float)w/(float)h, 0.1f, 100.0f));
|
camera.setPerspective(glm::perspective(glm::radians(45.0f), (float)w/(float)h, 0.1f, 100.0f));
|
||||||
//camera.setPerspective(glm::ortho(-(float)w / 2.0f, (float)w / 2.0f, -(float)h / 2.0f, (float)h / 2.0f, 0.1f, 100.0f));
|
//camera.setPerspective(glm::ortho(-(float)w / 2.0f, (float)w / 2.0f, -(float)h / 2.0f, (float)h / 2.0f, 0.1f, 100.0f));
|
||||||
|
|
||||||
|
rubiksCube.init(window->getRenderer());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Rubiks::run() {
|
void Rubiks::run() {
|
||||||
@@ -109,13 +97,16 @@ void Rubiks::run() {
|
|||||||
camPosPrev = camPos;
|
camPosPrev = camPos;
|
||||||
camRotPrev = camRot;
|
camRotPrev = camRot;
|
||||||
|
|
||||||
|
for(auto& b : rubiksCube.getBlocks()) {
|
||||||
window->getRenderer()->draw(
|
window->getRenderer()->draw(
|
||||||
cube.getMesh(),
|
b.getMesh(),
|
||||||
cube.getTransform(),
|
b.getTransform(),
|
||||||
camera.getTransform(),
|
camera.getTransform(),
|
||||||
camera.getPerspective(),
|
camera.getPerspective(),
|
||||||
color
|
color
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
ImGuiIO& io = ImGui::GetIO();
|
ImGuiIO& io = ImGui::GetIO();
|
||||||
@@ -179,10 +170,6 @@ bool Rubiks::onEvent(const Archimedes::Event& e) {
|
|||||||
|
|
||||||
Archimedes::ScrollWindowEvent event = (Archimedes::ScrollWindowEvent&) e;
|
Archimedes::ScrollWindowEvent event = (Archimedes::ScrollWindowEvent&) e;
|
||||||
|
|
||||||
cube.rotateRel(glm::vec3(glm::pi<float>() * event.dy / 50.0f, 0.0f, 0.0f));
|
|
||||||
|
|
||||||
cube.rotateRel(glm::vec3(0.0f, glm::pi<float>() * event.dx / 50.0f, 0.0f));
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} else if(type == app->getEventType(Archimedes::MouseMovedWindowEvent()) && !io.WantCaptureMouse) {
|
} else if(type == app->getEventType(Archimedes::MouseMovedWindowEvent()) && !io.WantCaptureMouse) {
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// This only works with opengl!!!!
|
// This only works with opengl!!!!
|
||||||
|
|
||||||
#ifndef JOBJECT_H
|
#ifndef RUBIKS_H
|
||||||
#define JOBJECT_H
|
#define RUBIKS_H
|
||||||
|
|
||||||
#include "Archimedes.h"
|
#include "Archimedes.h"
|
||||||
|
|
||||||
@@ -11,6 +11,9 @@
|
|||||||
#include "utils/Objects/Body.h"
|
#include "utils/Objects/Body.h"
|
||||||
#include "utils/Objects/Camera.h"
|
#include "utils/Objects/Camera.h"
|
||||||
|
|
||||||
|
#include "RubiksCube.h"
|
||||||
|
|
||||||
|
|
||||||
class Rubiks : public Archimedes::Module {
|
class Rubiks : public Archimedes::Module {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@@ -29,153 +32,12 @@ class Rubiks : public Archimedes::Module {
|
|||||||
private:
|
private:
|
||||||
|
|
||||||
Archimedes::Window* window;
|
Archimedes::Window* window;
|
||||||
|
|
||||||
std::string cubeVS = "#version 430 core\n"
|
|
||||||
"layout (location = 0) in vec3 aPos;\n"
|
|
||||||
"layout (location = 1) in vec3 aNorm;\n"
|
|
||||||
"layout (location = 2) in vec4 aCol;\n"
|
|
||||||
"uniform mat4 model;\n"
|
|
||||||
"uniform mat4 view;\n"
|
|
||||||
"uniform mat4 proj;\n"
|
|
||||||
"uniform vec4 color;\n"
|
|
||||||
"out vec3 Norm;\n"
|
|
||||||
"out vec3 FragPos;\n"
|
|
||||||
"out vec4 col;\n"
|
|
||||||
"void main()\n"
|
|
||||||
"{\n"
|
|
||||||
" gl_Position = proj * view * model * vec4(aPos, 1.0f);\n"
|
|
||||||
" Norm = mat3(transpose(inverse(model))) * aNorm;\n"
|
|
||||||
" FragPos = vec3(model * vec4(aPos, 1.0f));\n"
|
|
||||||
" col = aCol;\n"
|
|
||||||
"}\0";
|
|
||||||
|
|
||||||
std::string cubeFS = "#version 430 core\n"
|
|
||||||
"in vec3 Norm;\n"
|
|
||||||
"in vec3 FragPos;\n"
|
|
||||||
"in vec4 col;\n"
|
|
||||||
"out vec4 FragColor;\n"
|
|
||||||
"uniform mat4 model;\n"
|
|
||||||
"uniform mat4 view;\n"
|
|
||||||
"uniform mat4 proj;\n"
|
|
||||||
"uniform vec4 color;\n"
|
|
||||||
"void main()\n"
|
|
||||||
"{\n"
|
|
||||||
" vec3 light = vec3(1.0f, 1.0f, 1.0f);\n"
|
|
||||||
" vec3 amblight = 0.1f * light;\n"
|
|
||||||
" vec3 norm = normalize(Norm);\n"
|
|
||||||
" vec3 lightdir = normalize(vec3(10, 20, 20) - FragPos);\n"
|
|
||||||
" vec3 diff = max(dot(norm, lightdir), 0.0) * light;\n"
|
|
||||||
" FragColor = vec4((amblight + diff) * col.rgb, 1.0f);\n"
|
|
||||||
"}\n\0";
|
|
||||||
|
|
||||||
Archimedes::Shader cubeShader;
|
|
||||||
Archimedes::Body cube;
|
|
||||||
|
|
||||||
Archimedes::VertexLayout layout = Archimedes::VertexLayout({
|
|
||||||
Archimedes::LayoutElement(Archimedes::LayoutElement::Type::Float, 3),
|
|
||||||
Archimedes::LayoutElement(Archimedes::LayoutElement::Type::Float, 3),
|
|
||||||
Archimedes::LayoutElement(Archimedes::LayoutElement::Type::Float, 4)
|
|
||||||
});
|
|
||||||
|
|
||||||
Archimedes::Camera camera;
|
Archimedes::Camera camera;
|
||||||
|
|
||||||
std::vector<float> vertices = {
|
RubiksCube rubiksCube;
|
||||||
-0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f, //back
|
|
||||||
0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f,
|
|
||||||
0.5f, 0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f,
|
|
||||||
0.5f, 0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f,
|
|
||||||
-0.5f, 0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f,
|
|
||||||
-0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f,
|
|
||||||
|
|
||||||
-0.5f, -0.5f, 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, //front
|
|
||||||
0.5f, -0.5f, 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f,
|
|
||||||
0.5f, 0.5f, 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f,
|
|
||||||
0.5f, 0.5f, 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f,
|
|
||||||
-0.5f, 0.5f, 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f,
|
|
||||||
-0.5f, -0.5f, 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f,
|
|
||||||
|
|
||||||
-0.5f, 0.5f, 0.5f, -1.0f, 0.0f, 0.0f, 1.0f, 0.5f, 0.0f, 1.0f, //left
|
|
||||||
-0.5f, 0.5f, -0.5f, -1.0f, 0.0f, 0.0f, 1.0f, 0.5f, 0.0f, 1.0f,
|
|
||||||
-0.5f, -0.5f, -0.5f, -1.0f, 0.0f, 0.0f, 1.0f, 0.5f, 0.0f, 1.0f,
|
|
||||||
-0.5f, -0.5f, -0.5f, -1.0f, 0.0f, 0.0f, 1.0f, 0.5f, 0.0f, 1.0f,
|
|
||||||
-0.5f, -0.5f, 0.5f, -1.0f, 0.0f, 0.0f, 1.0f, 0.5f, 0.0f, 1.0f,
|
|
||||||
-0.5f, 0.5f, 0.5f, -1.0f, 0.0f, 0.0f, 1.0f, 0.5f, 0.0f, 1.0f,
|
|
||||||
|
|
||||||
0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, //right
|
|
||||||
0.5f, 0.5f, -0.5f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
|
|
||||||
0.5f, -0.5f, -0.5f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
|
|
||||||
0.5f, -0.5f, -0.5f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
|
|
||||||
0.5f, -0.5f, 0.5f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
|
|
||||||
0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
|
|
||||||
|
|
||||||
-0.5f, -0.5f, -0.5f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f, //bottom
|
|
||||||
0.5f, -0.5f, -0.5f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f,
|
|
||||||
0.5f, -0.5f, 0.5f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f,
|
|
||||||
0.5f, -0.5f, 0.5f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f,
|
|
||||||
-0.5f, -0.5f, 0.5f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f,
|
|
||||||
-0.5f, -0.5f, -0.5f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f,
|
|
||||||
|
|
||||||
-0.5f, 0.5f, -0.5f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f, //top
|
|
||||||
0.5f, 0.5f, -0.5f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f,
|
|
||||||
0.5f, 0.5f, 0.5f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f,
|
|
||||||
0.5f, 0.5f, 0.5f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f,
|
|
||||||
-0.5f, 0.5f, 0.5f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f,
|
|
||||||
-0.5f, 0.5f, -0.5f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f
|
|
||||||
};
|
};
|
||||||
|
|
||||||
std::vector<unsigned int> indices = {
|
#ifdef RUBIKS_DYNAMIC
|
||||||
0,
|
|
||||||
1,
|
|
||||||
2,
|
|
||||||
3,
|
|
||||||
4,
|
|
||||||
5,
|
|
||||||
|
|
||||||
|
|
||||||
6,
|
|
||||||
7,
|
|
||||||
8,
|
|
||||||
9,
|
|
||||||
10,
|
|
||||||
11,
|
|
||||||
|
|
||||||
|
|
||||||
12,
|
|
||||||
13,
|
|
||||||
14,
|
|
||||||
15,
|
|
||||||
16,
|
|
||||||
17,
|
|
||||||
|
|
||||||
|
|
||||||
18,
|
|
||||||
19,
|
|
||||||
20,
|
|
||||||
21,
|
|
||||||
22,
|
|
||||||
23,
|
|
||||||
|
|
||||||
|
|
||||||
24,
|
|
||||||
25,
|
|
||||||
26,
|
|
||||||
27,
|
|
||||||
28,
|
|
||||||
29,
|
|
||||||
|
|
||||||
|
|
||||||
30,
|
|
||||||
31,
|
|
||||||
32,
|
|
||||||
33,
|
|
||||||
34,
|
|
||||||
35,
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef SANDBOX_DYNAMIC
|
|
||||||
typedef Rubiks mtype;
|
typedef Rubiks mtype;
|
||||||
#include "endModule.h"
|
#include "endModule.h"
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
174
src/modules/Archimedes-Modules/Rubiks/RubiksCube.h
Normal file
174
src/modules/Archimedes-Modules/Rubiks/RubiksCube.h
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
// This only works with opengl!!!!
|
||||||
|
|
||||||
|
#ifndef RUBIKSCUBE_H
|
||||||
|
#define RUBIKSCUBE_H
|
||||||
|
|
||||||
|
#include "Archimedes.h"
|
||||||
|
|
||||||
|
#include "utils/Objects/Body.h"
|
||||||
|
|
||||||
|
#include "utils/Renderer/Renderer.h"
|
||||||
|
|
||||||
|
class RubiksCube {
|
||||||
|
|
||||||
|
public:
|
||||||
|
RubiksCube() {}
|
||||||
|
|
||||||
|
~RubiksCube() {}
|
||||||
|
|
||||||
|
void init(Archimedes::Renderer* r) {
|
||||||
|
|
||||||
|
shader = Archimedes::Shader(vs, fs, Archimedes::Shader::LoadType::FromSource);
|
||||||
|
|
||||||
|
r->setupShader(shader);
|
||||||
|
|
||||||
|
rt = Archimedes::RenderTarget(
|
||||||
|
Archimedes::VertexBuffer(vertices),
|
||||||
|
Archimedes::IndexArray(indices),
|
||||||
|
layout,
|
||||||
|
shader
|
||||||
|
);
|
||||||
|
|
||||||
|
r->setupRenderTarget(rt);
|
||||||
|
|
||||||
|
for(int i = 0; i < blocks.size(); i++) {
|
||||||
|
blocks.at(i) = Archimedes::Body(rt);
|
||||||
|
blocks.at(i).moveTo(positions.at(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<Archimedes::Body> getBlocks() { return blocks; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::vector<Archimedes::Body> blocks = std::vector<Archimedes::Body>(26);
|
||||||
|
|
||||||
|
std::vector<glm::vec3> positions = {
|
||||||
|
glm::vec3(-1.0f, 1.0f, 1.0f), glm::vec3(0.0f, 1.0f, 1.0f), glm::vec3(1.0f, 1.0f, 1.0f),
|
||||||
|
glm::vec3(-1.0f, 1.0f, 0.0f), glm::vec3(0.0f, 1.0f, 0.0f), glm::vec3(1.0f, 1.0f, 0.0f),
|
||||||
|
glm::vec3(-1.0f, 1.0f, -1.0f), glm::vec3(0.0f, 1.0f, -1.0f), glm::vec3(1.0f, 1.0f, -1.0f),
|
||||||
|
|
||||||
|
glm::vec3(-1.0f, 0.0f, 1.0f), glm::vec3(0.0f, 0.0f, 1.0f), glm::vec3(1.0f, 0.0f, 1.0f),
|
||||||
|
glm::vec3(-1.0f, 0.0f, 0.0f), glm::vec3(1.0f, 0.0f, 0.0f),
|
||||||
|
glm::vec3(-1.0f, 0.0f, -1.0f), glm::vec3(0.0f, 0.0f, -1.0f), glm::vec3(1.0f, 0.0f, -1.0f),
|
||||||
|
|
||||||
|
glm::vec3(-1.0f, -1.0f, 1.0f), glm::vec3(0.0f, -1.0f, 1.0f), glm::vec3(1.0f, -1.0f, 1.0f),
|
||||||
|
glm::vec3(-1.0f, -1.0f, 0.0f), glm::vec3(0.0f, -1.0f, 0.0f), glm::vec3(1.0f, -1.0f, 0.0f),
|
||||||
|
glm::vec3(-1.0f, -1.0f, -1.0f), glm::vec3(0.0f, -1.0f, -1.0f), glm::vec3(1.0f, -1.0f, -1.0f),
|
||||||
|
};
|
||||||
|
|
||||||
|
Archimedes::RenderTarget rt;
|
||||||
|
|
||||||
|
|
||||||
|
std::string vs = "#version 430 core\n"
|
||||||
|
"layout (location = 0) in vec3 aPos;\n"
|
||||||
|
"layout (location = 1) in vec3 aNorm;\n"
|
||||||
|
"layout (location = 2) in vec4 aCol;\n"
|
||||||
|
"uniform mat4 model;\n"
|
||||||
|
"uniform mat4 view;\n"
|
||||||
|
"uniform mat4 proj;\n"
|
||||||
|
"uniform vec4 color;\n"
|
||||||
|
"out vec3 Norm;\n"
|
||||||
|
"out vec3 FragPos;\n"
|
||||||
|
"out vec4 col;\n"
|
||||||
|
"void main()\n"
|
||||||
|
"{\n"
|
||||||
|
" gl_Position = proj * view * model * vec4(aPos, 1.0f);\n"
|
||||||
|
" Norm = mat3(transpose(inverse(model))) * aNorm;\n"
|
||||||
|
" FragPos = vec3(model * vec4(aPos, 1.0f));\n"
|
||||||
|
" col = aCol;\n"
|
||||||
|
"}\0";
|
||||||
|
|
||||||
|
std::string fs = "#version 430 core\n"
|
||||||
|
"in vec3 Norm;\n"
|
||||||
|
"in vec3 FragPos;\n"
|
||||||
|
"in vec4 col;\n"
|
||||||
|
"out vec4 FragColor;\n"
|
||||||
|
"uniform mat4 model;\n"
|
||||||
|
"uniform mat4 view;\n"
|
||||||
|
"uniform mat4 proj;\n"
|
||||||
|
"uniform vec4 color;\n"
|
||||||
|
"void main()\n"
|
||||||
|
"{\n"
|
||||||
|
" vec3 light = vec3(1.0f, 1.0f, 1.0f);\n"
|
||||||
|
" vec3 amblight = 0.1f * light;\n"
|
||||||
|
" vec3 norm = normalize(Norm);\n"
|
||||||
|
" vec3 lightdir = normalize(vec3(10, 20, 20) - FragPos);\n"
|
||||||
|
" vec3 diff = max(dot(norm, lightdir), 0.0) * light;\n"
|
||||||
|
" FragColor = vec4((amblight + diff) * col.rgb, 1.0f);\n"
|
||||||
|
"}\n\0";
|
||||||
|
|
||||||
|
Archimedes::Shader shader;
|
||||||
|
|
||||||
|
Archimedes::VertexLayout layout = Archimedes::VertexLayout({
|
||||||
|
Archimedes::LayoutElement(Archimedes::LayoutElement::Type::Float, 3),
|
||||||
|
Archimedes::LayoutElement(Archimedes::LayoutElement::Type::Float, 3),
|
||||||
|
Archimedes::LayoutElement(Archimedes::LayoutElement::Type::Float, 4)
|
||||||
|
});
|
||||||
|
|
||||||
|
std::vector<float> vertices = {
|
||||||
|
-0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f, //back
|
||||||
|
0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f,
|
||||||
|
0.5f, 0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f,
|
||||||
|
0.5f, 0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f,
|
||||||
|
-0.5f, 0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f,
|
||||||
|
-0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f,
|
||||||
|
|
||||||
|
-0.5f, -0.5f, 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, //front
|
||||||
|
0.5f, -0.5f, 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f,
|
||||||
|
0.5f, 0.5f, 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f,
|
||||||
|
0.5f, 0.5f, 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f,
|
||||||
|
-0.5f, 0.5f, 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f,
|
||||||
|
-0.5f, -0.5f, 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f,
|
||||||
|
|
||||||
|
-0.5f, 0.5f, 0.5f, -1.0f, 0.0f, 0.0f, 1.0f, 0.5f, 0.0f, 1.0f, //left
|
||||||
|
-0.5f, 0.5f, -0.5f, -1.0f, 0.0f, 0.0f, 1.0f, 0.5f, 0.0f, 1.0f,
|
||||||
|
-0.5f, -0.5f, -0.5f, -1.0f, 0.0f, 0.0f, 1.0f, 0.5f, 0.0f, 1.0f,
|
||||||
|
-0.5f, -0.5f, -0.5f, -1.0f, 0.0f, 0.0f, 1.0f, 0.5f, 0.0f, 1.0f,
|
||||||
|
-0.5f, -0.5f, 0.5f, -1.0f, 0.0f, 0.0f, 1.0f, 0.5f, 0.0f, 1.0f,
|
||||||
|
-0.5f, 0.5f, 0.5f, -1.0f, 0.0f, 0.0f, 1.0f, 0.5f, 0.0f, 1.0f,
|
||||||
|
|
||||||
|
0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, //right
|
||||||
|
0.5f, 0.5f, -0.5f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
|
||||||
|
0.5f, -0.5f, -0.5f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
|
||||||
|
0.5f, -0.5f, -0.5f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
|
||||||
|
0.5f, -0.5f, 0.5f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
|
||||||
|
0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
|
||||||
|
|
||||||
|
-0.5f, -0.5f, -0.5f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f, //bottom
|
||||||
|
0.5f, -0.5f, -0.5f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f,
|
||||||
|
0.5f, -0.5f, 0.5f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f,
|
||||||
|
0.5f, -0.5f, 0.5f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f,
|
||||||
|
-0.5f, -0.5f, 0.5f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f,
|
||||||
|
-0.5f, -0.5f, -0.5f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f,
|
||||||
|
|
||||||
|
-0.5f, 0.5f, -0.5f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f, //top
|
||||||
|
0.5f, 0.5f, -0.5f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f,
|
||||||
|
0.5f, 0.5f, 0.5f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f,
|
||||||
|
0.5f, 0.5f, 0.5f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f,
|
||||||
|
-0.5f, 0.5f, 0.5f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f,
|
||||||
|
-0.5f, 0.5f, -0.5f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f
|
||||||
|
};
|
||||||
|
|
||||||
|
std::vector<unsigned int> indices = {
|
||||||
|
0, 1, 2, 3, 4, 5,
|
||||||
|
|
||||||
|
|
||||||
|
6, 7, 8, 9, 10, 11,
|
||||||
|
|
||||||
|
|
||||||
|
12, 13, 14, 15, 16, 17,
|
||||||
|
|
||||||
|
|
||||||
|
18, 19, 20, 21, 22, 23,
|
||||||
|
|
||||||
|
|
||||||
|
24, 25, 26, 27, 28, 29,
|
||||||
|
|
||||||
|
|
||||||
|
30, 31, 32, 33, 34, 35,
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user