Nice example of new code, however it’s not as fast as i want it yet:
Metaball code with GLSL fun
Posted in Uncategorized
Blobby Video Progress
Posted in Uncategorized
Complete Prototype
Please ignore the music, fraps captured the music that was playing when I made the video, then youtube moaned about it.
Posted in Uncategorized
Marching Cubes Prototype Progress
Figure 1 shows the current progress of the new Marching Cubes algorithm. it shows the smooth transitions between structures, and how the surface appears rounder than previous. The vertex normals are calculated from volumetric data, however they aren’t currently interpolated. Once normal interpolation is implemented I am going to get stuck into optimisation, and create a finished version of the metaball system, which is central to the morphing technique. Even though more is being calculated than previously, I am confident I can get higher framerates, through efficiency guidelines by nVidia.
Figure 1. Current Metaball progress.
Posted in Uncategorized
Adaptive Marching Cubes
The new approach of incorporating a VBO gave the possibility to make more dynamically generated Marching Cubes. This has now been implemented and the results show a great increase in aesthetics. The generated structures now animate smoother, and more importantly they look smoother and more spherical. figure 1 shows a comparison of the old rigid technique on the left, and the new dynamic approach on the right.
Figure 1. Comparison of old (left) and new (right) Marching cube generated structures.
While creating the marching cubes code I have found that the internet is lacking simple tutorials. After finishing this part of the project I will be creating a very simple to understand tutorial, including CUDA implementation tips. I may even offer my implementation, for people who don’t want to learn CUDA, but do want GPU accelerated Marching Cube generation. Offering this free would hopefully let people explore with the possibilities of this versatile algorithm.
Posted in Uncategorized
Development Update
Work is progressing to realise all the features of the system, features outlined in the original report.
Vertex Buffer Object incorporation
The majority of the work has gone into creating an alternative method of representation. The original system uses display lists to render the cubes. This method made vertex normals and other dynamic alterations to the cubes structure near impossible. The new direction incorporates a VBO, giving a dynamic structure. This new approach has taken me back to previous prototype code and is near to implementation in the system. However, there is an opportunity to create more continuous structures, and this will be experimented with during this prototype stage. Figure 1 shows an example screen shot from recent prototyping.
Figure 1 – VBO marching cubes prototype with single central influence field.
Custom shaders
The system uses alpha blending to transition away from the original object textures, to a morphing texture. This technique which only uses standard OpenGL 1.1 is a problematic part of the system. The settings required to pull off this transition affect the whole scene, making it hard to control lighting. The original idea was to create custom shaders for this operation using GLSL, however, due to time constraints there wasn’t enough time to implement this. I have started experimenting with GLSL again, Figure 2 shows some examples. I also see an opportunity for a vertex shader to distort the mesh during the morph.
Figure 2 – Top cell shader, middle per pixel shader, Bottom twisted vertex shader.
Posted in Uncategorized
VBO – Integration
The VBO structure that was highlighted as a possible improvement to the system is currently being added. The underlying structure has been coded, including new generated lookup tables for the Marching Cubes algorithm. This new system should give more control over normals so opening up the possibility of vertex normals being calculated from the volumetric data.
An interpolation is also being added into the marching cubes which will produce unique cubes for each voxel, based on the individual influences at each vertex. This improvement will give a fully rounded surface, a great improvement.
Once these changes have been added to the system it will be much closer to completion. However as progress storms on efficiency and elegance drop, so I will take the opportunity to clean up the code and make it as fast as possible before considering further features. Of which I have many many directions I want to take this exciting project.
Posted in Uncategorized
Sphere-tree structure
The custom file format has been dropped in favour of XML. The human readable format is much easier to work with. Whereas the previous format required separate files for differing resolutions, whereas the XML approach incorporates all resolutions within one structured file.
Posted in Uncategorized
SET Awards
Following the success of the dissertation, the paper is currently being prepared for the SET awards. The 2000 word summary report will be available on the site shortly. For more information on the SET awards follow this.
Posted in Uncategorized
Full project dissertation posted
The final dissertation project can now be downloaded from the published paper section.
Posted in Uncategorized




