The FlexlineProgress has been slow but steady on the flexline. The most recent update was to change the buffers between stages to be more like queues than just normal arrays. The concept is to allow the previous pipeline stage to write new elements into the queue while the next pipeline stage can access previously written elements. This is being done with an eye toward eventually making the whole thing run on a multicore processor.
Unfortunately, I don't have a dual core machine. However, since my laptop is still on the fritz (its actually running off of the PS now, but it is not reliable by any means) I think a replacement is coming up in the near future. I was hoping to hold out for a DX10 capable video card, but I have no idea how long that will be from now. We'll see how long I can hold out, it shouldn't be that long, right???
In addition to this, I have the bare bones pixel shader implemented and working in the pipeline. So now the pipeline consists of a vertex shader, rasterizer, and pixel shader. The next two stages to be implemented will be a clipping/culling processor to be placed before the rasterizer, and a blending processor to be placed after the pixel shader for alpha blending and alpha testing capabilities.
Once these basic pipeline amenities are finished, I am going to start exploring how to best utilize the modularity of the system as a whole. This is not only for adding functionality to the pipeline, but also performance as well. When there is a modularity involved with interchangeable components, you can auto-optimize the components to use with a wide variety of algorithms. This could allow a program to optimize its pipeline based on performance measurements on a given users computer. This will certainly be the topic of a future post!
HydroGenI have still been thinking of HydroGen and how to move forward with it. I think I received a sign from the gaming gods to continue working on it though - it was pretty cool. This months Game Developer magazine has an article on how to do dynamic fluid simulations. You can get the sample source code from their download site here.
I have been planning on using this type of simulation in HydroGen and actually got started prior to the article. The main idea is to visually show the hydrogen content in the water in real time with a special viewing mode (hydrogen goggles [grin]). The article is pretty good at keeping the information simple and straight forward, but Mick West leaves out some of the important definitions. He uses the term conservation of mass when describing his velocity field calculations, which isn't immediately obvious what he means.
Anyhow, my implementation started out with a diffusion step instead of the advection step, and I had been planning on adding the velocity field at some point down the road. However, this article (and accompanying source code) reduces the amount of research that I will have to do to get the overall simulation working. It's certainly worth checking out!