| The
Kribi Renderer
The renderer is the most
critical part of any 3D engine. It is responsible to do all the
computations required to produce pictures. Its typical inputs are a
description of the 3D model to be rendered and the observer’s data like
viewpoint & view direction. Typical renderers found in 3D game engines
or other realtime 3D graphics applications are made part of software
runing on classical processors and part of algorithms frozen in special
purpose hardware known as « graphics processors ». We think that such a
shaky architecture will not resist a long time the ever increased
complexity of 3D models and features set. We strongly believe that the
only way to not crash soon into a complexity wall is to bet on pure
software renderers. We are commited to do our best to be a key player
among these next generation renderers with Kribi.
The Kribi Renderer was
designed from the start, more than 10 years ago, for best possible
scalability with increased 3D models complexity. It has evolved
continuously until now through steady software optimization & numerous
refactoring of its program code for capitalizing on many new CPU
features. Pictures that were taking hours to compute in early days of
the Kribi Renderer are now generated at realtime frame rates, though
with exactly the same field-tested core architecture.
Our main goals for the
Kribi Renderer since project inception are :
-
State of the art
support for advanced description of the 3D models database. So-called
scene graphs are an example.
-
Fast and realistic
rendering of scenes of an ultra wide range of complexity. We want it
best in class for models made of hundreds of polygons to multi
billions of polygons.
-
Perfect portability
among target configurations. This include 100 % 3D-APIs and OS
independence. The key point here is to avoid entirely the infamous «drivers
issues».
-
Best possible
scalability with increased 3D models complexity. This include
increased polygons count, increased light sources count and more &
more features-rich model database schema.
-
Best possible
CPU
Scalability with increased clock rate and number of
processors in a system.
|