2D graphics overlaying 3D

Blitz3D Forums/Blitz3D Programming/2D graphics overlaying 3D

Lorenzo(Posted 2004) [#1]
How do I get my 2D graphics or text to overlay my 3D background while the 3D background? An example of what I am talking about would be the start screen of Juno Nemesis, the way the menu is overlaying the moving 3D background. Is their a certain general rule on this? Thanks for any help.


Stevie G(Posted 2004) [#2]
Just place the 2d stuff after Renderworld() and before Flip and it should work.


LostCargo(Posted 2004) [#3]
i cant remember the code, but i know it is possible. You just have to draw the 2d after the draw of the 3d. im sure if you look at some of the code archives there are a few menu tools etc. that you could use as reference.

However, 2d over 3d slows things down considerably. I might suggest you use sprites as your menu just in front of the cameras FOV. This will allow you to adjust the alpha/transparency on the menus, which you really cant do with 2d overlays.


WolRon(Posted 2004) [#4]
Very easy actually. Just DrawImage your images after you've rendered the scene (RenderWorld).

Note that 2D graphics do not automatically scale to different resolutions. If this is not a problem then use the 2D commands.

If you need the "2D graphics" to scale to different resolutions, then a better option would be to create a 3D sprite and place it directly in front of the camera or draw it with CameraCLSMode to True after rendering the background first.


Beaker(Posted 2004) [#5]
The author of Juno Nemesis uses FONText. Which means it uses a single-surface bitmap-font mesh. Effectively this is 3D quads/sprites.


Lorenzo(Posted 2004) [#6]
OK. These answers will really help out. Thanks guys. Sounds like sprites in front of the camera is what I am wanting. Peace.