diff --git a/.ccls b/.ccls index 6f142bb..ac8e61e 100644 --- a/.ccls +++ b/.ccls @@ -1,6 +1,6 @@ clang++ --Iinclude --I. +-Isrc/include +-Isrc -Ivendor/imgui -Ivendor/notcurses/include -Ivendor/GameNetworkingSockets/include diff --git a/src/modules/Archimedes-Modules/Calculator/default.nix b/src/modules/Archimedes-Modules/Calculator/default.nix index 458c536..c148ac8 100644 --- a/src/modules/Archimedes-Modules/Calculator/default.nix +++ b/src/modules/Archimedes-Modules/Calculator/default.nix @@ -17,6 +17,10 @@ buildInputs = with pkgs; [ glfw glew + + glm + nlohmann_json + curl ]; buildPhase = '' @@ -28,12 +32,14 @@ $imgui/backends/imgui_impl_opengl3.cpp \ $imgui/misc/cpp/*.cpp \ $imgui/*.cpp \ - -DRENDERER=1 \ - -DWINDOW=1 \ + -DRENDERER_OPENGL=1 \ + -DWINDOW_GLFW=1 \ -DCALCULATOR_DYNAMIC \ -fpic -shared \ -I include -I $imgui -I . \ - -lEGL -lglfw -lGLEW \ + -lEGL -lGL -lglfw -lGLEW \ + $(curl-config --cflags) \ + $(curl-config --libs) \ -Wall \ -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 ''; diff --git a/src/modules/Archimedes-Modules/TestTriangle/TestTriangle.cpp b/src/modules/Archimedes-Modules/TestTriangle/TestTriangle.cpp index c5cd5d4..5091227 100644 --- a/src/modules/Archimedes-Modules/TestTriangle/TestTriangle.cpp +++ b/src/modules/Archimedes-Modules/TestTriangle/TestTriangle.cpp @@ -25,7 +25,6 @@ TestTriangle::~TestTriangle() { */ wm->releaseWindow(window); - delete rt; } } @@ -42,16 +41,18 @@ void TestTriangle::onLoad() { window->getRenderer()->clearColor = { 0.2, 0.2, 0.4, 0.7 }; - rt = window->getRenderer()->createRenderTarget( - vertices, - 9 * sizeof(float), - indices, - 3, + shader = Archimedes::Shader(vertexShaderSource, fragmentShaderSource, Archimedes::Shader::LoadType::FromSource); + + window->getRenderer()->useShader(shader); + + rt = Archimedes::RenderTarget( + Archimedes::VertexBuffer(vertices, 9 * sizeof(float)), + Archimedes::IndexArray(indices, 3), Archimedes::VertexLayout(), - vertexShaderSource, - fragmentShaderSource, - Archimedes::Shader::LoadType::FromSource - ); + shader + ); + + window->getRenderer()->useRenderTarget(rt); } diff --git a/src/modules/Archimedes-Modules/TestTriangle/TestTriangle.h b/src/modules/Archimedes-Modules/TestTriangle/TestTriangle.h index 19808b7..575b70c 100644 --- a/src/modules/Archimedes-Modules/TestTriangle/TestTriangle.h +++ b/src/modules/Archimedes-Modules/TestTriangle/TestTriangle.h @@ -42,7 +42,8 @@ class TestTriangle : public Archimedes::Module { " FragColor = vec4(1.0f, 0.5f, 0.2f, 1.0f);\n" "}\n\0"; - Archimedes::RenderTarget* rt; + Archimedes::RenderTarget rt; + Archimedes::Shader shader; float vertices[9] = { -0.5f, -0.5f, 0.0f, // left @@ -55,8 +56,6 @@ class TestTriangle : public Archimedes::Module { 1, // right 2 // top }; - - unsigned int vao, vbo, ibo, shaderProgram; }; #ifdef TESTTRIANGLE_DYNAMIC