Muli3D is a platform-independent software rendering library, which implements features of current-generation graphics cards.
Muli3D is written in C/C++. The SDK, which is available for download, comes with documented source-code, an application framework and several samples which present different aspects of Muli3D.
Here are some key features of "Muli3D":
· 16/32bit color-output
· Wireframe and solid fill rendering
· Sub-pixel accuracy
· Vertex- and pixel shaders - Vertex shaders transform vertices to projection-space and set up registers for the pixel shader. Pixel shaders calculate a pixel's color and (optionally) its depth.
· Depth-correct interpolation of shader registers
· Support for triangle-lists, strips and fans
· Rendering of primitives through indexing into a vertex buffer
· 16-bit and 32-bit index buffer formats
· Multiple vertex data streams
· Three triangle-subdivision modes - Simply, smooth (simplified implementation of ATI's TruForm) and adaptive (base for displacement-mapping).
· Homogenous clipping
· Backface culling
· Floating point textures depth- and framebuffers - Muli3D supports floating point textures, which can serve as input for shaders or output as depth- or framebuffer.
· Standard 2d textures, cubemaps and volume textures
· Point-sampling, bilinear and trilinear filtering supported
· Wrap and clamp texture addressing modes
· Texture sampling in vertex- and pixelshaders
· No internal limits on texture dimensions - supported formats are single float up to four floats.
· Rendering to cubemap faces - they can be treated as standard 2d textures and therefore may be used as frame- or depthbuffers.
· Rendertargets are directly presented - no rendering to a backbuffer is necessary!
· Comprehensive math-library - with support for vectors, planes, quaternions and matrices.
What's New in This Release:
· Cleaned up project workspace.
· Depthbounding allows the restriction of drawing operations to a specified depth range.
· Fixed typo CMuli3DVertexFormat::iGetNumVertexElement[e]s().
· Added copy-constructors to math-classes.
· Other minor changes which resulted in negligible performance increase.