FAQ (Frequently Asked Questions)
General
- What is Horde3D?
- Under which license is Horde3D distributed?
- What are the minimum system requirements?
Technical
- Does Horde3D support bumpmapping?
- Does Horde3D use lightmaps?
- Does Horde3D support transparency?
- What is deferred shading?
- Is Horde3D using deferred shading?
What is Horde3D?
Horde3D is a small open source 3D rendering engine. It is written in an effort to create a graphics engine that offers the stunning visual effects expected in next-generation games while at the same time being as lightweight and conceptually clean as possible. Horde3D has a simple and intuitive interface accessible from virtually any programming language and is particularly suitable for rendering large crowds of animated characters in next-generation quality.
Under which license is Horde3D distributed?
Horde3D is distributed under the LGPL. See the licensing site for more information.
What are the minimum system requirements?
Horde3D requires a fully OpenGL 2.0 compatible graphics card. In terms of DirectX that means a card supporting at least Shader Model 2.0 or better SM 3.0. So the minimum hardware needed to run an application using Horde3D is a NVidia GeForce FX or ATI Radeon 9500 graphics accelerator.
Does Horde3D support bumpmapping?
Definitely, yes! Horde3D's lighting is completely based on per-pixel normal mapping with support for the full Phong model including specular highlights. You can even do parallax mapping (aka virtual displacement mapping) and many other advanced effects as to be seen in next-generation games.
Does Horde3D support transparency?
Horde3D has support for transparency but currently not for translucency. That means you can create textures like
e.g. a grid that have completely invisible pixels. Materials where you can see a bit through are not possible, since
there is no uncluttered technique for this which is compatible with the deferred shading used for rendering.
For creating a transparent material you can use the texture alpha channel and apply the discard keyword
in the fragment shader.
Does Horde3D use lightmaps?
There are no precalculated lightmaps in Horde3D as seen in older computer games like Quake or Unreal. Basically the lighting is completely dynamic and all calculations are done in a shader via deferred shading. Nevertheless it is possible to use some precalculated lighting information like ambience occlusion maps to increase the graphics effects and get a step closer to the quality of raytraced images.
What is deferred shading?
Deferred shading is a special rendering technique which does lighting calculations in a different way. The technique
renders in a first step all material attributes like diffuse reflection color (albedo) or the specular mask and
fragment specific attributes like the normal or the world-space position to a large buffer, the so called
G-Buffer. The actual lighting calculations are then done as a post processing step that uses the G-Buffer as input.
The main advantage of deferred shading is that it can handle a great number of light sources with much better performance
than conventional techniques. On the other hand it has one big drawback: it doesn't support hardware anti-aliasing.
Although this might at first sound pretty bad to some people it isn't so much of a problem any more since games are
usually played at higher resolutions. Besides that there are some tricks to simulate anti-aliasing which Horde3D will
probably offer in the future.
Is Horde3D using deferred shading?
Up to version 0.9 Horde had a pure deferred shading renderer. With version 0.10 Horde introduces a flexible and configurable rendering pipeline which makes it possible to use a plenty of different rendering techniques. It is now possible to use standard forward rendering as well as deferred shading, depending on the requirements of the application.