Balloon 3D
Bert Freudenberg
bert at freudenbergs.de
Mon May 28 12:40:20 UTC 2007
On May 28, 2007, at 16:02 , Cesare Marilungo wrote:
> Bert Freudenberg wrote:
>> OTOH, the abstraction that B3D provides is still valuable - I for
>> one wouldn't mind if someone would bring it up to date and add
>> features, in particular because it works on both GL and D3D.
>>
>> - Bert -
> I second that.
>
> Not only for the abstraction layer it provides but also because it
> would be good to have something more versatile than Croquet, too.
> Croquet is a really interesting projects (and probably it is the
> future), but it is designed around the virtual reality paradigm,
> which is overkill sometimes.
>
> What would be needed to make Balloon3D up to date?
Well, first one would have to check if it still works in 3.9 and
3.10, and adapt it if needed - should not be too hard.
After that it's optimizing (like using newer APIs than DX7) and
adding features that someone may need - currently B3D only supports
single-textured Gouraud-shaded triangle meshes with Phong lighting
and fog, and I think stenciling. This is enough for many eductional
and scientific tasks, but for game-engine quality you would have to
add at least multi-texturing and texture combining (to allow dot3
bump mapping for example), allowing rendering quality as was standard
in about 2004. Vertex shader support would be next on my wish list,
which is a bit harder as there is no cross-API standard (except for
Cg ... maybe a Cg plugin would be an option). And finally pixel
shaders, which require relatively modern graphics boards (whereas
vertex shaders can be emulated in the driver).
The bad thing is that all of this requires hacking C code (twice, for
OpenGL and Direct3D), inventing new plugin interfaces etc. This is
*so* much nicer in Croquet where you do everything from Smalltalk,
and for OpenGL only ... But once the low-level work is done it should
be relatively simple to use.
Even the software renderer would be interesting if someone would try
giving it a bit of assembly-love to make it efficient enough on the
OLPC (which has no 3D hardware support at all).
As for higher-level optimizations, I believe B3D does only simple
frustum culling if at all. Efficient picking and collision detection
would be nice, etc.
And at an even higher level, Wonderland is still interesting but has
not seen much improvement since its initial release.
- Bert -
More information about the Squeak-dev
mailing list
|