#include "Renderer.h" Renderer::Renderer(Window& parent) : OGLRenderer(parent) { triangle = Mesh::GenerateTriangle(); basicShader = new Shader("basicVertex.glsl", "colourFragment.glsl"); if (!basicShader->LoadSuccess()) { return; } init = true; } Renderer::~Renderer(void) { delete triangle; delete basicShader; } float newC[] = { 0.0f, 1.0f, 3.0f, 1.0f}; float increment = 0.001f; void Renderer::RenderScene() { glClearColor(0.2f, 0.2f, 0.2f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); /*Q3) glMapBuffer*/ if (newC[0] > 1.0f) { increment = -0.001f; } else if(newC[0] < 0.0f){ increment = 0.001f; } newC[0] += increment; newC[1] += increment; newC[2] += increment; glBindBuffer(GL_ARRAY_BUFFER, NORMAL_BUFFER); // Colour void* ptr = glMapBuffer(GL_ARRAY_BUFFER, GL_READ_WRITE); memcpy(ptr, newC, sizeof(newC)); glUnmapBuffer(GL_ARRAY_BUFFER); /**/ BindShader(basicShader); triangle->Draw(); } // glBindBuffer(GL_ARRAY_BUFFER, COLOUR_BUFFER); // Vertex