[gameprogrammer] Re: selection / picking on terrain geometry

On Wed, 2006-03-29 at 21:00 +0800, Josh Stewart wrote:
> I must be working on a project because, thats right folks, I have 
> another question :)
> :)
> 
> Assuming standard 3D RTS with 3D terrain and a 3rd person 45 degree 
> camera (fixed or not, I havent decided yet)
> 
> Using OpenGL selection / picking it seems that selection of units in an 
> RTS game, using a mouse, is relatively easy.
> However I am having trouble figuring out the best way to click on a 
> point on the screen where there are no units, and have the game know the 
> point on the terrain, where the user clicked.
> The terrain is 1 large piece of geometry that is generated from 
> heightmap and optimised. I cannot just give it a name as clicking 
> anywhere will just return the selection stack with the name of the terrain.
> How can I find the point on the terrain where I was directing my click.
> 
> An example might be selecting some units and then clicking on an empty 
> space to "move here"
> 
> Any help or suggestions, including further reading links to books or 
> sites that tackle the subject, is appreciated.
> Thankyou
> 
> Josh Stewart

The basis of 3D graphics is the transformation matrix. All your terrain
and unit coordinates are converted into screen coordinates by use of a
transformation matrix. The inverse of that matrix can be used to
transform screen coordinates back to the original coordinate system.

A good description of the process in OpenGL is described at
http://www.opengl.org/resources/faq/technical/selection.htm

                Bob Pendleton

> 
> 
> ---------------------
> To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> 
> 
> 
-- 
+--------------------------------------+
+ Bob Pendleton: writer and programmer +
+ email: Bob@xxxxxxxxxxxxx             +
+ web: www.GameProgrammer.com          +
+ www.Wise2Food.com                    +
+ nutrient info on 7,000+ common foods +
+--------------------------------------+



---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html


Other related posts: