Jump to content
  • Advertisement
Sign in to follow this  
Your1 Nightmare

2D Coordinates from 3D View and Projection Matricies

This topic is 2755 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

In a game I am developing with a team I ran into some issues regarding Matricies and finding coordinates in the game world based off of a resolution. I am trying to constrict a ship so that it does not leave the game screen, however these bounds will change based off of the resolution of the game screen. This is what we have been thinking so far:

V = view Matrix
P = projection Matrix
M = V * P

s = screen space coordinates
w = game world space coordinates

w * M = s

I then took the inverse of M with s so i could figure out the corner of the screen in "w". I split the coordinates using x = w.X * w.W and y = w.Y * w.W, because it was a 4th dimentional vector.

w= M^-1 * s

Share this post

Link to post
Share on other sites
Keep in mind, that your matrix M transforms each point into homogeneous clip space HCS, ranging from
x=-w..w, y=-w..w, z=-w..w,w=z, so you might want to devide each projected coordinate additionally by w, to get
your screen values in range x=-1..1,y=-1..1,z=-1..1, the normalized device coords ( NDC ).


M*w = c (in HCS)
s = c / c.w ( divide by homogeneous coordinate c.w )

To get back into world space, store your c.w per fragment/pixel/screen coord.

For each screen coord:
c = s * c.w
w = M^-1 * c

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!