3D Framework

10/31/2005 9:44:14 PM

3D Framework

Chris Anderson points to the beginnings of a 3D application framework in Avalon. This is the sort of work that will make 3D effects pervasive on mainstream applications.

I use the free ray-tracer, POVRAY, to create three-dimensional images. Its scene description language is pretty high-level with a large number of object primitives and CSG modeling, although I do think it could be made even more high-level. The raytracing output is beautiful, but exceedingly slow.

Most of the 3D APIs that I have seen just seem too low-level and disconnected from the rest of the system. So, I built a while back a lightweight, high-level, POVRAY-like framework that allowed me to render 3D objects on top of GDI+. The framework also included perspective warping of images for texture mapping. The benefits were vector-based output, printing support, and trivial integration with 2D graphics. I didn’t want to learn Direct3D, didn’t need hardware acceleration, and didn’t care for the huge managed runtime.

I do care a lot about the user interface. I found that simple three-dimensional graphics can look more impressive that hand-crafted 2D images, and ironically it takes me less effort to construct and animate a 3D scene than to produce 2D artwork.

Even though I developed the framework very quickly, I did suspend that work to focus on the core parts of my application, but I may now ultimately end up waiting for Avalon. 







Net Undocumented is a blog about the internals of .NET including Xamarin implementations. Other topics include managed and web languages (C#, C++, Javascript), computer science theory, software engineering and software entrepreneurship.

Social Media