簡體   English   中英

從世界位置獲取屏幕位置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM