gordallott.com

Articles by category

Projects Archives

  1. July 2009

Recent comments

  1. Guance on First blog post
  2. bledlyalesNex on Activities Menu
  3. Blouse Down Peep on First blog post
  4. Don Nelson on Opengl Framebuffer Object patch for IoQuake3
  5. icesiurce on Activities Menu

    Articles in category Projects

  1. Activities Menu - posted by gord

    published on: July 16, 2009

    The activities menu was an experiment into constructing user interfaces using clutter. I based it on ideas presented in the gnome usability hackfest

    more

    Article Tags clutter, opengl, usability, python, experimental

  2. Cvis - posted by gord

    published on: July 16, 2009

    Cvis was a project I started in order to create an opengl based music visualization program, essentialy using music to generate graphical data.

    Engine Details

    The engine has two main componants, a feedback based movement engine and the main scene engine. the movement engine uses small programs to "push" an image in various ways, feeding the image that is created from that back into the movement engine create's nice looking effects.

    the scene engine then takes the output from the movement engine and creates a scene from it, the only scene I created is a tunnel scene with the movement output posted onto the sides with a randomly "bursting" box structure in the middle.

    Also of note there is glsl programs creating a bloom effect and providing colour filters on the movement output.

    more

    Article Tags opengl, C, experimental, glsl, code

  3. Opengl Framebuffer Object patch for IoQuake3 - posted by gord

    published on: July 6, 2009

    IoQuake 3 is a Free Software game engine that was originaly developed by ID Software for the commercial video game Quake 3 Arena. IoQuake 3 was set up by the community to maintain and improve this code-base.

    IoQuake 3 was developed in the late 90's and thus does not feature many advanced OpenGL technique's, Thus I set about developing a patch which would enable framebuffer objects and screen space post processing effects.

    This patch works by hooking into the quake 3 rendering main loop just after a frame is drawn, the code then unbinds the current framebuffer, draws it to the screen and binds a new one. This process allows all of the quake 3 graphical data to be rendered to the framebuffer instead of to the screen.

    more

    Article Tags opengl, C, quake3, games, glsl, graphics, code, patch

  4. The Unfortunate Undoing (CSL-II) - posted by gord

    published on: July 6, 2009

    CSL-II promo image

    The Unfortunate Undoing [1] was an entry for the PyWeek [2] game development competition. I was responsible for the entire gamecode whist Jeiel Aranal [3] developed the graphics and artwork. The game placed second in the contest.

    Graphics Engine

    CSL-II was built using a graphics engine I developed from scratch during development. The engine is built around the ideal's of OpenGL ES and Opengl 3.1 - As such I made an attempt to reduce the amount of fixed functionality OpenGL to a minimum. Whist i managed to avoid fixed functionality function's in most of the engine, I still used glColor, glTranslate and glScale - This decision was made in order to avoid the use of glsl shaders (for compatibility reason's) and so that I would not have to manipulate any OpenGL matrices in python, which would be a slow operation. The graphics engine also relied heavily on a custom built QuadTree system.

    The main problem ...

    more

    Article Tags python, pyweek, opengl, csl, games, code

  5. Littlest Goddess (CSL-I) - posted by gord

    published on: July 6, 2009

    Littlest Goddess promo image

    Littlest goddess [1] was a game I made with Jeiel Aranal [2] for the Pyweek game development competition [3].

    It was built from the ground up using the Python programming language and Opengl. The game engine was built around the Open Dynamics Engine and the level editor was built using inkscape and its ability to output svg.

    Graphics Engine

    pen stroke images used in the sketch shader

    The sketch shader uses these three images encoded in one RGB image

    The Opengl engine take's advantage of GLSL fragment shaders in a fairly advanced technique to provide a visual look similar to a sketch drawing. There are three different directions of pen stroke stored in an RBGA image. These pen stroke's are then applied to the final rendered image in a screenspace post processing glsl shader. Internally the shader uses the following code to apply this pen stroke effect.:

    
            vec3 saturatedScene = clamp((val - 0.1) * 1.5, 0.0, 1.0);
            vec3 negativeSketch = val * (1 ...
    more

    Article Tags python, pyweek, opengl, csl, games, code, glsl