2000-03-27 07:05:08 UTC
people have are already addressed in my mind. But you don't know it yet :-)
So here I present a list of all the things I (or someone else) plan to do on CS
to make it better on today's hardware.
First we need to support hardware accelerated transform as much as possible.
This can be accomplished with the functions DrawTriangleMesh (which is
already there but does not support hardware accelerated transforms yet)
and the upcoming function DrawPolygonMesh.
DrawTriangleMesh is used by sprites (3D triangle meshes) and will also be
used for terrain and curved surfaces. So this means that those important entities
in CS will be able to have optimal speed.
DrawPolygonMesh is a variant which is more similar to DrawPolygon and thus
is able to draw lightmapped polygons (instead of DrawTriangleMesh which draws
gouraud shaded triangles). I plan to use this for detail objects. Those are things
which will enhance detail of sectors. We already have these things but currently
they are just drawn like sector walls.
So this means that we can easily get hardware accelerated transform for
everything except sector walls. Changing those would be more fundamental.
However, I wonder if this is still a big problem. The sector walls should be few
and will only define the coarse boundaries of the rooms. They will help do
visibility culling and that's the main reason they need to be handled (i.e.
transformed) by the engine itself.
Personally I think that this is the best approach. All detail objects and triangle
meshes can have optimal speed that way while still keeping the c-buffer/clipping
visibility culling for culling large number of objects at once.
The above changes are also possible without fundamental engine changes.
In addition I'm working on a PVS for CS (Potentially Visible Set). This will
avoid having to use the c-buffer for almost everything. If it works well we
might even be able to avoid it at all. For software rendering or slow hardware
(where overdraw is reasonably expensive) we can still reenable the c-buffer
after the PVS to do fine culling. But on fast hardware the PVS alone will
be enough giving even more speed.
What do people think?
***@uz.kuleuven.ac.be, University Hospitals KU Leuven BELGIUM
Shadwell hated all southerners and, by inference, was standing at the
-- (Terry Pratchett & Neil Gaiman, Good Omens)