Project Page |
|Welcome to the SoftPixel Engine
Welcome to the homepage of the SoftPixel Engine, a high-level real-time 3d engine written in C++ for Windows and Linux.
It is designed for writing 2d- and 3d games and graphics applications.
You will see the performance and the big collection of functions for rendering 3d worlds and drawing
primitives or complex 2d objects.
Look at the features to see the highlights!
|Follow us on ...
13th October 2013:
4th April 2013:
The SoftPixel Engine 3.2 has been released (over 152,000 LoC)
3rd April 2013:
After a year and a half I finally released a new version of the SoftPixel Engine. A lot of changes have been made.
News in brief:
- All New Animation System (Supports joint-groups, custom animation playback and animation blending)
- All New Network System (There is a tutorial using the new network system. Try this on two different computers in a local network)
- All New Collision System (There are new collision models such as the character controller and it's using a better tree hierarchy with kd-Trees)
- Added Integrated Deferred Renderer (Supports relief mapping, bloom filter, real-time shadows and global illumination)
- Added Interactive CommandLine User Interface (This new utility can be used to have an interactive command line prompt for debugging)
- Integrated OpenCL (Now GPGPU programming is also possible for OpenGL with OpenCL compute shaders)
- Integrated OpenAL (Finally nice real-time sound effects can be achieved with the new sound system)
- Multi RenderContext for OpenGL (Can be used for surround-gaming)
- New TextureMapping Architecture (More flexibility and faster)
- Multi-Threaded LightmapGenerator (Now lightmap generation can be done in parallel. Make use of this performance boost in the SoftPixel Sandbox 1.02+)
24th March 2013:
14th January 2013:
MadBit has released his particle system for the SoftPixel Engine (v.3.2): Pixie.
Thanks for this great project :-)
3rd January 2013:
Happy Birthday SoftPixel Engine! You are five years old (over 142,000 LoC).
20th October 2012:
The tutorial section has been updated and a new tutorial for building the engine via SVN and CMake has been added.
24th September 2012:
17th August 2012:
Now there is an SVN repository for the SoftPixel Sandbox on sourceforge.net, too.
26th July 2012:
For the SoftPixel Sandbox a separate project has been created on sourceforge.net.
This has been done particular to provide a separated SVN repository for the editor.
22th July 2012:
Finally an SVN repository has been created for the SoftPixel Engine on sourceforge.net.
13th July 2012:
A new forum has been created for the SoftPixel Engine and SoftPixel Sandbox: SoftPixel Forum.
The HLC Games Board is now declared as deprecated. You can no longer register at this old forum. So please use the new one.
Among others the new forum has better countermeasures for spambots.
14th May 2012:
19th February 2012:
The MeshViewer tool has been updated to version 1.2 and now supports an animation view. Also the SoftPixel Mesh Exporter has been updated to version 1.1
and finally supports skeletal animation.
7th February 2012:
The MeshViewer tool has been updated to version 1.1 and finally the first version of the
SoftPixel Mesh Exporter for Blender 2.5+ has been uploaded.
|Easy to handle
The SoftPixel Engine is very easy to handle such as the getting started example shows. With one function you can create
the following 'primitive' objects:
cube, cone, cylinder, sphere, icosphere, torus (ring), torusknot, pipe, spiral, disk, plane,
tetrahedron, cuboctahedron, octahedron, odecahedron, icosahedron, teapot ("Utah" teapot), supershape.
It is also very easy to use the virtual-reality. You can use a 3d glasses with the red-/ and the green glace.
Write applications with the simplicity of Basic languages but the power of C++ and OpenGL!
Getting started with a very small program (C++ & SoftPixel Engine v.3.2):
// SoftPixel Engine - Getting started
// Main namespace
// The softpixel-device opens the screen (windowed screen / fullscreen are possible)
SoftPixelDevice* spDevice =
dim::size2di(640, 480), 32,
spRenderer = spDevice->getRenderSystem(); // Render system for drawing operations
spContext = spDevice->getRenderContext(); // Render context for back buffer controll
spControl = spDevice->getInputControl(); // Controller for keyboard- and the mouse input events
spScene = spDevice->createSceneGraph(); // Scene graph system to handle a lots of scene objects
spScene->setLighting(true); // Activates global lighting
Cam = spScene->createCamera(); // Creates a camera to see our scene
Light = spScene->createLight(); // Creates a light (by default Directional light)
Obj = spScene->createMesh(scene::MESH_TEAPOT); // Creates one of the 16 standard objects
0, 2.5)); // Sets the object position (x, y, z)
// The main loop will update our device
while (spDevice->updateEvents() &&
spRenderer->clearBuffers(); // Clears the video buffers (pixel- and depth buffer)
spScene->renderScene(); // Renders the scene
1, 1)); // Rotates our object
spContext->flipBuffers(); // Swaps the video buffer, so we can see the current frame
deleteDevice(); // Deletes the device context and closes the screen