Recently in programming Category

A Hard Days Work

| 2 Comments | No TrackBacks
So, its been a while since my last post, but that is mostly because I am working hard (on this and other things!). I am at a stage in the code, where there is just a lot of grunt work that has to be done.

I have discovered that Prometheus is a much larger work that I initially wanted it to be. I am really working hard at figuring out an elegant architecture for the interpreter. The normal approach for engines, is that you start the engine, which then loads and interprets the game scripts as needed. For Prometheus I would really like it the other way around, so that it is the lisp code that kicks everything off. This way, you could easily design any kind of application around the code, and only the components that you actually need will be loaded. 

My biggest problem in this regard right now, is figuring out how to do a nice and elegant interop layer that works with a baseset of dlls. I have worked with a few scripting languages and even co-maintained once, have worked with swig, etc, so I have a pretty good idea how to do this. The problem is that none of the solutions I have seen so far, are really as elegant as I would like. If you have any good ideas, pointers, experiences you want to share, etc., feel free to contact me.

For Project Phoenix  I am rediscovering a lot of algorithms that I had long forgotten such as bresenham, painters algorithm, cbuffers, view frustum clipping, etc. I will probably put this project on the backburner a bit, as I don't want to have too many things going on at the same time.
I was a bit late to the software rendering game, and wrote my first 3D engine in 1995. It was in 680x0 assembly on my Amiga 1200, when I was just starting out on the demo scene. All datastructures and models were hardcoded, while the textures were linked directly into the .exe as raw binary files.

Now with the convergence of CPUs and GPUs, and multiprocessor computers becoming more and more common, people are again beginning to speak of software rendering. I have long been of the opinion that the the current rendering model is flawed, and have begun a small software realtime rendering prototype (this talk by Tim Sweeney was actually what inspired me to finally get started). I'll let you know as soon as I have something. 

The purpose of this exercise is many fold:

  • To see if I can achieve a different look than most games
  • To make an engine that requires less maintenance and less focus on working across a whole army of different graphics cards and different versions of OpenGL/DirectX
  • To experiment with other rendering models than scanline rendering
  • To improve the current model of using triangles for everything, and modelling detail with textures
  • Still achieving an acceptable framerate
I would really love to hear from anyone, who have any recent experiences with software rendering. Lets mingle, share experiences and all that.

About this Archive

This page is an archive of recent entries in the programming category.

production is the previous category.

project management is the next category.

Find recent content on the main index or look in the archives to find all content.

Pages

  • Games
OpenID accepted here Learn more about OpenID
Powered by Movable Type 5.01