Feb/040
Another Week
I had a quiet weekend, I went to visit my parents and my girlfriend. The hours in the train was spent coding on my engine. I refactored the code some and was able to remove two components and moving their limited functionality to other components. Specifically it is now the responsibility of the application framework to swap the backbuffer in double buffered scenarious. The renderer will just draw on the active context and not worry about anything else. This makes sence conceptually also, the application should be able to control the buffers. All needed to move the engine to a new platform now is to fill in the OS specific bits in the application framework. If another renderer needs to be written a new version of the renderer class has to be written. As of now I have written an OpenGL renderer and a GLUT and a SDL application backend. I would like very much to write some more but that does not have top priority.
The engine also saw some new functionality added, a renderstate representing a light of some sort. When the light is added to the renderstates of a node it is regarded as "turned on" for that node itself and for all children. Conceptually there are no limits for what kind of light it could be, but it is currently limited to a simple directional light source with ambient, diffuse and specular components. In the OpenGL renderer the light is implemented using a normal OpenGL light but in the future it could also be used in a preprocessing step for lightmap calculation using some sort of global illumination/raytracing technique, the sky is the limit.
At work I am currently workning on a program which extracts frames from a DV camera using the ieee1394 (firewire) port of the host computer. To do that I choose the dv1394 high level kernel module for firewire input and the libdv codec for interpretation of the DV frames. Only problem is that the latter is horribly undocumented so using it is very hard without looking through the obscure source of programs accomplishing tasks similar to what I'm doing.
Well, that was another morning spent rambling, I'm leaving for uni now, see ya.