view mde/gl/draw.d @ 67:108d123238c0

Changes to work with tango r3700 (post 0.99.6). Changes to logging. Replaced many uses of PathView with FilePath.
author Diggory Hardy <diggory.hardy@gmail.com>
date Thu, 03 Jul 2008 12:40:31 +0100
parents 66d555da083e
children 25cb7420dc91
line wrap: on
line source

/* LICENSE BLOCK
Part of mde: a Modular D game-oriented Engine
Copyright © 2007-2008 Diggory Hardy

This program is free software: you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Foundation, either
version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>. */

/** The OpenGL draw loop.
*
* Everything here is really intended as makeshift code to enable GUI development. */
module mde.gl.draw;

import mde.gui.Gui;

import derelict.sdl.sdl;
import derelict.opengl.gl;

import tango.time.Time;     // TimeSpan (type only; unused)
import tango.util.log.Log : Log, Logger;

import mde.font.font;
private Logger logger;
static this () {
    logger = Log.getLogger ("mde.gl.draw");
}

//BEGIN Drawing loop
// Temporary draw function
void draw (TimeSpan) {
    glClear(GL_COLOR_BUFFER_BIT);
    
    gui.draw ();
    debug (drawGlyphCache) FontStyle.drawTexture;
    
    GLenum err = glGetError();
    while (err != GL_NO_ERROR) {
        logger.error ("GL error: {}", err);
        err = glGetError();
    }
    
    glFinish();		// Use Finish rather than Flush to make sure gl is ready to swap buffers
    SDL_GL_SwapBuffers();
}
//END Drawing loop