gpt4 book ai didi

opengl - 定义光坐标

转载 作者:行者123 更新时间:2023-12-02 08:58:36 26 4
gpt4 key购买 nike

我几天前参加了计算机图形学考试,其中有如下额外的学分问题:

A light can be defined in one of two ways. It can be defined in world coordinates, e.g. a street light, or in the viewer (eye coordinates), e.g., a head-lamp worn by a miner. In either case the viewpoint can freely change. Describe how the light should be transformed different in these two cases.

由于我要到春假后才能看到结果,所以我想我会在这里问。

似乎所使用的类比具有误导性 - 您不能像在眼睛坐标中一样定义位于世界坐标中观看者眼睛处的光源吗?我一直在研究 OpenGL 如何处理光线,似乎它总是使用眼睛坐标 - ModelView 矩阵将应用于世界坐标中的任何光线。

在这种情况下,答案可能就是您必须使用 ModelView 矩阵之类的东西将世界坐标中定义的光转换为眼睛坐标,而眼睛坐标中定义的光只需要通过投影矩阵进行转换。

话又说回来,我可能完全没有思考(或过度思考)。

我的另一个想法是它决定了渲染阴影的方式,但这更多地与灯光的位置及其类型(点、方向、发射等)有关,而不是与它所表示的坐标有关。

有什么想法吗?

最佳答案

灯光的位置由定义灯光时处于事件状态的模型 View 矩阵进行转换。

如果模型 View 矩阵在该点是恒等的,您将在眼睛坐标中获得光线。

如果模型 View 矩阵是相机矩阵的逆矩阵,您将获得世界空间中的光线。

关于opengl - 定义光坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2427931/

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