gpt4 book ai didi

c - 从世界位置获取屏幕位置

转载 作者:行者123 更新时间:2023-11-30 14:27:03 25 4
gpt4 key购买 nike

我想从 DirectX 中的世界位置获取屏幕位置。

我可以获得我的球的世界位置。但我不知道如何将其转换为屏幕位置。

最佳答案

您有一个 View /眼睛变换 V(“放置”您的“相机”的变换)和投影变换 P。

剪辑空间坐标达到

clip_position = P * V * world_space_position

从剪辑空间,您可以通过将剪辑空间坐标除以第四个剪辑空间坐标 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] 映射到视口(viewport)尺寸来达到视口(viewport) XY 坐标。 OpenGL 和 DirectX 之间的区别在于,在 OpenGL 中,深度范围 [-1,1] 映射到 [0, DEPTH_BUFFER_RESOLUTION],而在 DirectX 中,深度范围 [0, 1] 映射到深度缓冲区值范围。

关于c - 从世界位置获取屏幕位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8201260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com