Original Post
Hi,
I''m experimenting with an interface for a game I''m working on and am having trouble deciding the best method. Basically, I''d like to have a console where the UI is around the center viewport, something like:
YYY
YxY
YYY
Y is control I/O area and X is the view into the game world. (Note that scale is not 1:1 as above
)
I''ve thought of two basic methods to do this:
1. Use viewports:
111
234
555
1,2,4,5 - UI controls, et al (Orthographic View)
3 - Main View window (Perspective View)
I like this idea because it is simple and reduces wastefull fill (see #2 below).
I don''t like this idea because it might be slow. I don''t know what the overhead and gotchas of of the viewport call are. I worry about stalling the pipeline.
2. Use one window and do the following
a. Render Perspective view of world for this frame,
b. Disable Depth buffer
c. Switch to Orthographic view
d. Enable blending
e. display controls, et al to screen, using blending to keep
a hole over the perspective view ''open''
I like this idea because it doesn''t require any fancy calculations and because it gets rid of the unknown issue of multiple viewport calls.
I don''t like this idea because it is a fill waster. After sending all the data in the perspective view down the pipe I cut out 30%+ by overlaying it with a mask. Considering that my current occlusion method is not 100% efficient (i.e. some overlap) this translates to a lot of waste fill.
Thanks for any ideas you might have.
-Ed
Life is short...live every day.