// This only works with opengl!!!! #include "Archimedes.h" #include "modules/WindowModule/WindowModule.h" #define GLEW_STATIC #include class TestTriangle : public Archimedes::Module { public: TestTriangle(Archimedes::App*, void*); TestTriangle() { name = "TestTriangle"; } ~TestTriangle(); void onLoad() override; void run() override; bool onEvent(const Archimedes::Event& e) override; private: Archimedes::Window* window; const char *vertexShaderSource = "#version 330 core\n" "layout (location = 0) in vec3 aPos;\n" "void main()\n" "{\n" " gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0);\n" "}\0"; const char *fragmentShaderSource = "#version 330 core\n" "out vec4 FragColor;\n" "void main()\n" "{\n" " FragColor = vec4(1.0f, 0.5f, 0.2f, 1.0f);\n" "}\n\0"; Archimedes::RenderTarget* rt; float vertices[9] = { -0.5f, -0.5f, 0.0f, // left 0.5f, -0.5f, 0.0f, // right 0.0f, 0.5f, 0.0f // top }; unsigned int indices[3] = { 0, // left 1, // right 2 // top }; unsigned int vao, vbo, ibo, shaderProgram; }; #ifdef TESTTRIANGLE_DYNAMIC typedef TestTriangle mtype; #include "endModule.h" #endif