查找 OpenGL 图像平面坐标

发布于 2024-10-09 19:37:36 字数 140 浏览 4 评论 0原文

我正在尝试实现一个使用任意相机位置和透视投影的光线追踪器。我有相机位置、观察位置、视场角,但我无法弄清楚必须拍摄光线的方向,以便每条光线对应一个像素。如果我能找到一种方法来找到图像平面的坐标,或者光线应该具有的方向向量,那么从那里开始就会走下坡路。任何帮助表示赞赏。

I am trying to implement a raytracer that uses an arbitrary camera position and perspective projection. I have the camera position, the look at position, the angle of field of view, but I cannot figure out the direction I have to shoot the rays so that each ray corresponds to a pixel. If I could find a way to find the coordinates of the image plane, or the direction vectors the rays should have, it would be downhill from there. Any help is appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

执手闯天涯 2024-10-16 19:37:36

我会做以下事情:想象你眼前有一个矩形网格。网格由一个点(网格的 (0;0) 点)和两个(三维)基向量 (x,y) 定义;有了这个,你可以将射线计算为(原点+ X坐标* x + Y坐标* y)-眼睛。通过调整你的视点和原点之间的距离;或者通过调整基向量的长度,您可以获得所需的视角。

I would do the following: imagine that there is a rectangular grid just in front of your eye. The grid is defined by one point (the (0;0) point of the grid) and two (three dimensional) base vectors (x,y); with this you can calculate a ray as (origin + Xcoordinate * x + Ycoordinate * y) - eye. By adjusting the distance between your eye point, and origin; or by adjusting the length of the base vectors you could get the desired angle of view.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文