On 13-Jan-06, at 2:48 PM, Joseph Nastasi wrote:
I'd like some pointers on how to implement a generic text type
display that floats over a 3D scene. I got some ideas from Franks
cool overlay demo, but I'm wondering what's the best way to handle
text that will change on the fly. Looking to display real time
flight data.
One major reason I dropped Quesa is the lack of a true orthographic/
overlay mode. My Rb3D overlay demo does some fancy math to achieve
something that really should be a lot simpler (and not such a burden
on the CPU). It also suffers from the fact that the "overlays" are
actually 3D objects, and will be clipped by "real" 3D geometry if
you're not careful. This was (AFAIK) the only way to achieve this
affect with QD3D, but Quesa introduced a rasterize camera transform
API and also exposes the depth buffer in ways that allow more proper
overlays to be implemented.
Taking advantage of these new Quesa APIs in Rb3D means overloading
the Rb3DSpace.Update method and creating your own submit loop - I've
done this, as part of an Rb3DSpaceEx subclass which also contains an
Overlays "array" that works like the built-in Objects property. I
also have several Overlay classes and BitmapFont3D/BitmapText3D
classes that integrate with overlays to print fixed-width strings
efficiently (i.e. not creating and uploading a new texture every
frame). This was all coded within my Quesa Wrappers framework as it
requires a lot of support code, and mostly works, but a Quesa bug
prevents picking from working with objects that go through the
rasterize transform matrix (show stopper #1), and Quesa's monolithic
transparency sorter makes overlays pathetically slow (show stopper
#2). So, this stuff remains unreleased.
In the end I got sick and tired of all these Quesa hacks and wrote my
own OpenGL renderer from scratch. I'm *much* happier now - coding 3D
in RB no longer feels like a wrestling a hippo (in the mud) and image
quality doesn't suffer from the limitations of an API written before
GPUs existed.
Sorry if this isn't helpful, but there ya go!
Frank.
–––––––––––––––––––––––––––––––––
Open Source RB Goodies and Shareware
<http://developer.chaoticbox.com/>
<http://www.chaoticbox.com/>
–––––––––––––––––––––––––––––––––
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>
|