More Basics

without comments

Current Goals
The current direction for the LxEngine is to support simultaneous ray-tracing and rasterization from the same scene graph data structure.   The motivating factor is that I’m interested in both ray-tracing and rasterization, and also that this provides an interesting challenge to create a properly thread-safe (but also efficient) data structure.

Currently, the OpenGL 3.2 rasterizer is a separate project from the ray-tracer.  The plan is to build up the data structures into the rasterizer to support everything the ray-tracer could do (see prior blog posts) and then re-incorporate the ray-tracing code into the rasterizer project.

The goal eventually would be to have the two pictures below match as nearly as possible. One rendering in a window rasterized by OpenGL and the other rendering simultaneously using a software raytracer…

Screenshot from the ray-tracer (circa November)

Latest screenshot from the OpenGL 3.2 rasterizer
Progress
Needless to say the rasterizer has a bit of catching up to do.  On the other hand, while the final image is not exactly visually stunning, the internal architecture has been progressing solidly.
Since the last blog update, here are some of the changes to the rasterizer:
  • Load the scene from a JSON file
  • Support for planes
  • Support for object colors
  • Support for keyboard camera movement
  • Internal JSON-like variant data object for creating pluggable scene graph elements
  • Pluggable scene attributes (e.g., color, transform)
  • Pluggable scene nodes (e.g. sphere, triangle mesh)
The next steps are likely to improve the lighting and shading support (i.e. improve the current naive GLSL shader code), improve cube and sphere support (e.g. instancing support), and add material mapping.  From there the rasterizer will likely be close enough visually that integrating the ray-tracer into the same program would begin to make sense.  

Written by arthur

March 28th, 2010 at 10:44 am

Posted in lxengine

Tagged with , , ,

 

Leave a Reply