void Renderer::init(GLSLProgram & shader) { setProjectionMatrix(30,1, 1, -100, projection); shader.use(); shader.setUniformMatrix4fv("projectionMatrix", projection); shader.unuse(); }
void draw() { glClearDepth(1.0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glGenBuffers(1, &_vboID); float vertexData[12]; float height = 1.0f; float width = 1.0f; float x = -1.0f; float y = -1.0f; //First Triangle vertexData[0] = x + width; vertexData[1] = y + height; vertexData[2] = x; vertexData[3] = y + height; vertexData[4] = x; vertexData[5] = y; //Second Triangle vertexData[6] = x; vertexData[7] = y; vertexData[8] = x + width; vertexData[9] = y; vertexData[10] = x + width; vertexData[11] = y + height; _Program.use(); glBindBuffer(GL_ARRAY_BUFFER, _vboID); glBufferData(GL_ARRAY_BUFFER, sizeof(vertexData), vertexData, GL_STATIC_DRAW); glEnableVertexAttribArray(0); glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, 0); glDrawArrays(GL_TRIANGLES, 0, 6); glDisableVertexAttribArray(0); glBindBuffer(GL_ARRAY_BUFFER, 0); _Program.unuse(); SDL_GL_SwapWindow(_window); }