| Description: |
A command-line program that calculates a quaternion Julia set and then writes the corresponding isosurface to a binary Stereo Lithography file.
Supports custom-defined iterative equations, such as:
Z = Z^4 + C
Z = sin(Z) + C * sin(Z)
Z = inverse(sinh(Z)) + C * inverse(sinh(Z))
etc.
See quaternion_math.h for a full list of supported quaternion functions.
Compiles using g++ and MSVC++ -- don't forget to link in the OpenGL/GLUT/GLU/GLEW libraries (ie. g++ *.cpp -lGL -lglut -lGLU -GLEW).
--------------------------------
If you wish to disable GPU acceleration, then use the -cpu command-line argument.
--------------------------------
Changes to v3:
- Altered the shaders to be truly compliant with GLSL 1.1 (in all sincerity, it's a good thing that the Intel GLSL compiler is so strict).
- Program now saves a copy of the two fragment shaders to "main_shader.txt" and "vertex_interp_shader.txt" -- this is not absolutely necessary, but is helpful for interpreting/debugging any GLSL compiler errors that may occur on your hardware.
- Changed vertex interpolation method from linear interpolation to adaptive interpolation -- makes for more accurate isosurfaces.
- Main shader now uses an RGB texture for output -- alpha-only textures aren't cross-platform compatible.
- Vertex interpolation shader now uses an RGBA texture for output -- using an RGB texture on AMD 6310 caused bit corruption.
- Added the capability to hollow out the mesh (including air holes) -- useful for Shapeways.
- Added the capability to add support pillars and slabs to the mesh -- useful for Shapeways.
|