diff --git a/src/modules/Archimedes-Modules/Rubiks/Rubiks.cpp b/src/modules/Archimedes-Modules/Rubiks/Rubiks.cpp index c42d366..922509d 100644 --- a/src/modules/Archimedes-Modules/Rubiks/Rubiks.cpp +++ b/src/modules/Archimedes-Modules/Rubiks/Rubiks.cpp @@ -53,7 +53,7 @@ void Rubiks::onLoad() { ImGui::SetCurrentContext(im->aquireContext()); - window->getRenderer()->clearColor = { 0.2, 0.2, 0.4, 0.7 }; + window->getRenderer()->clearColor = { 0, 0, 0, 1.0f }; cubeShader = Archimedes::Shader(cubeVS, cubeFS, Archimedes::Shader::LoadType::FromSource); diff --git a/src/modules/Archimedes-Modules/Rubiks/Rubiks.h b/src/modules/Archimedes-Modules/Rubiks/Rubiks.h index 833ccf0..ce54160 100644 --- a/src/modules/Archimedes-Modules/Rubiks/Rubiks.h +++ b/src/modules/Archimedes-Modules/Rubiks/Rubiks.h @@ -54,10 +54,14 @@ class Rubiks : public Archimedes::Module { "uniform mat4 view;\n" "uniform mat4 proj;\n" "uniform vec4 color;\n" - "uniform float amblight;\n" "void main()\n" "{\n" - " FragColor = color;\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(20, 20, 20) - FragPos);\n" + " vec3 diff = max(dot(norm, lightdir), 0.0) * light;\n" + " FragColor = vec4((amblight + diff) * color.rgb, 1.0f);\n" "}\n\0"; Archimedes::Shader cubeShader; @@ -70,67 +74,97 @@ class Rubiks : public Archimedes::Module { Archimedes::Camera camera; - std::vector vertices = { - -0.5f, -0.5f, 0.5f, - 0.5f, -0.5f, 0.5f, - 0.5f, 0.5f, 0.5f, - -0.5f, 0.5f, 0.5f, + std::vector vertices = { + -0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f, + 0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f, + 0.5f, 0.5f, -0.5f, 0.0f, 0.0f, -1.0f, + 0.5f, 0.5f, -0.5f, 0.0f, 0.0f, -1.0f, + -0.5f, 0.5f, -0.5f, 0.0f, 0.0f, -1.0f, + -0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f, + -0.5f, -0.5f, 0.5f, 0.0f, 0.0f, 1.0f, + 0.5f, -0.5f, 0.5f, 0.0f, 0.0f, 1.0f, + 0.5f, 0.5f, 0.5f, 0.0f, 0.0f, 1.0f, + 0.5f, 0.5f, 0.5f, 0.0f, 0.0f, 1.0f, + -0.5f, 0.5f, 0.5f, 0.0f, 0.0f, 1.0f, + -0.5f, -0.5f, 0.5f, 0.0f, 0.0f, 1.0f, - -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, -1.0f, 0.0f, 0.0f, + -0.5f, 0.5f, -0.5f, -1.0f, 0.0f, 0.0f, + -0.5f, -0.5f, -0.5f, -1.0f, 0.0f, 0.0f, + -0.5f, -0.5f, -0.5f, -1.0f, 0.0f, 0.0f, + -0.5f, -0.5f, 0.5f, -1.0f, 0.0f, 0.0f, + -0.5f, 0.5f, 0.5f, -1.0f, 0.0f, 0.0f, - }; + 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 0.0f, + 0.5f, 0.5f, -0.5f, 1.0f, 0.0f, 0.0f, + 0.5f, -0.5f, -0.5f, 1.0f, 0.0f, 0.0f, + 0.5f, -0.5f, -0.5f, 1.0f, 0.0f, 0.0f, + 0.5f, -0.5f, 0.5f, 1.0f, 0.0f, 0.0f, + 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 0.0f, + + -0.5f, -0.5f, -0.5f, 0.0f, -1.0f, 0.0f, + 0.5f, -0.5f, -0.5f, 0.0f, -1.0f, 0.0f, + 0.5f, -0.5f, 0.5f, 0.0f, -1.0f, 0.0f, + 0.5f, -0.5f, 0.5f, 0.0f, -1.0f, 0.0f, + -0.5f, -0.5f, 0.5f, 0.0f, -1.0f, 0.0f, + -0.5f, -0.5f, -0.5f, 0.0f, -1.0f, 0.0f, + + -0.5f, 0.5f, -0.5f, 0.0f, 1.0f, 0.0f, + 0.5f, 0.5f, -0.5f, 0.0f, 1.0f, 0.0f, + 0.5f, 0.5f, 0.5f, 0.0f, 1.0f, 0.0f, + 0.5f, 0.5f, 0.5f, 0.0f, 1.0f, 0.0f, + -0.5f, 0.5f, 0.5f, 0.0f, 1.0f, 0.0f, + -0.5f, 0.5f, -0.5f, 0.0f, 1.0f, 0.0f + }; std::vector indices = { 0, 1, 2, - 2, 3, - 0, - - 4, 5, - 6, + + 6, 7, - 4, + 8, + 9, + 10, + 11, - 0, - 1, - 5, - 5, - 4, - 0, + 12, + 13, + 14, + 15, + 16, + 17, - 3, - 2, - 6, - 6, - 7, - 3, + 18, + 19, + 20, + 21, + 22, + 23, - 0, - 3, - 7, - 7, - 4, - 0, + 24, + 25, + 26, + 27, + 28, + 29, - 1, - 2, - 6, - 6, - 5, - 1, + 30, + 31, + 32, + 33, + 34, + 35, };