#include "sparrowrenderer.h" #include #include #include "glassert.h" #include "camera.h" SparrowRenderer::SparrowRenderer(int width, int height) { glewExperimental = GL_TRUE; GLenum err = glewInit(); if (GLEW_OK != err) { std::cerr << "Warning: glewInit failed!" << std::endl; } if (!GLEW_ARB_vertex_program || !GLEW_ARB_fragment_program || !GLEW_ARB_texture_float || !GLEW_ARB_draw_buffers || !GLEW_ARB_framebuffer_object) { std::cerr << "Warning: Shaders not supported!" << std::endl; } std::cout << "OpenGL version " << glGetString(GL_VERSION) << std::endl; std::cout << "GLSL version " << glGetString(GL_SHADING_LANGUAGE_VERSION) << std::endl; glAssert(glEnable(GL_DEPTH_TEST)); glAssert(glEnable(GL_CULL_FACE)); glAssert(glEnable(GL_TEXTURE_2D)); glAssert(glViewport(0, 0, width, height)); } void SparrowRenderer::setScene(Scene* myScene) { scene = myScene; } void SparrowRenderer::resize(int width, int height) { glAssert(glViewport(0, 0, width, height)); if(scene != NULL) scene->getCamera()->resize(width, height); } void SparrowRenderer::render() { glAssert(glClearColor(0.60, 0.65, 0.75, 1.0)); glAssert(glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)); if(scene != NULL) scene->drawAll(); }