[英]Get Screen Position From World Position
我希望從DirectX中的世界位置獲得屏幕位置。
我可以得到我的球的世界位置。 但我不知道如何將其轉換為屏幕位置。
你有一個視圖/眼睛變換V(“放置”你的“相機”)和投影變換P.
到達剪輯空間坐標
clip_position = P * V * world_space_position
通過將剪輯空間坐標除以第4個剪輯空間坐標w,即從剪輯空間到達NDC空間,即
ndc_x = clip_x / clip_w
ndc_y = clip_y / clip_w
ndc_z = clip_z / clip_w
ndc_w = clip_w / clip_w = 1
然后通過將范圍[-1,1]映射到視口尺寸來到達視口XY坐標。 OpenGL和DirectX之間的區別在於,在OpenGL中,深度范圍[-1,1]映射到[0,DEPTH_BUFFER_RESOLUTION],而在DirectX中,深度范圍[0,1]映射到深度緩沖區值范圍。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.