Game Development Community

Render a billboard in front of everything... folow a curve

by Jeff Kelsey · in Torque 3D Professional · 04/29/2010 (9:21 am) · 2 replies

I am working on a medical application where a "Locator" object has to track down a curve (the digestive system). The locator needs to be visible at all times even when it would normally be occluded by 3d geometry between it and the camera.

I was able to get it mostly working using Konrad's "selection shader" resource: http://www.torquepowered.com/community/resources/view/17821

, although the colors are somwhat off and I really don't need anything other than to make sure my Billboard is rendered on top of everything regardless of position.

Is there an easy way to set a shape base to render in front of everything else?



See the screen shots that I have.

Image 1 -- Using a Billboard sprite with no post effects. The locator has the appearance I want, but is occluded by the geometry in front of it so it not an effective tracking technique. especially when it is occluded beyond its own sizewww.archiemdems.com/demo/img/SelectionShaderNoPosFX.jpg

Image 2- Using Konrad Kiss Selection shader HLSL post FX: http://www.torquepowered.com/community/resources/view/17821
Please note, the object is not actually in front of the esophagus, it is following a curve through the center of it and would normally be occluded. but is instead rendered in front. The only problem is that the shading is very different. My boss is specifically asking for a yellow focus circle with a semitransparent center.
www.archiemdems.com/demo/img/CurrentSelectionShader.jpg

What I need is basically a combination, where the image retains it's original appearance but is still rendered in front of geometry.

I think I just need an hlsl script that takes an object and redraws it on top of everything else without modifying it's appearence, and use this as a post effect.


Any help appreciated
thanks

#1
04/29/2010 (1:34 pm)
I would use a custom GUI control for something like this, instead of trying to use actual 3D objects. The GuiShapeNameHud class is a great example of how to draw 2D elements based on the positions of 3D objects.
#2
04/30/2010 (12:27 am)
Yes, same idea as Manoel : works in a Gui in front of the 3D scene.

Put your 2D yellow circle image (with alpha) at the screen projected location of your point of interest.

Nicolas Buquet
www.buquet-net.com/cv/