繁体   English   中英

OpenGL:跟随相机的光源?

[英]OpenGL: Light source that follows the camera?

伙计们,这怎么可能。 但在我之前的项目中,事实并非如此。 而且我不知道我是如何尝试这种效果的。 请告诉我真相。

第 18.050 节,如何让我的灯移动或不移动并控制灯的位置? :

首先,您必须了解 OpenGL 是如何变换光线位置的。

当您通过调用glLightfv( GL_LIGHTn, GL_POSITION, ... )指定灯光位置时,灯光位置会根据 ModelView 矩阵堆栈当前顶部的内容进行转换。 如果您稍后更改 ModelView 矩阵,例如当下一帧的视图发生变化时,灯光位置不会被 ModelView 矩阵的新内容自动重新转换。 如果你想更新灯光的位置,你必须通过调用glLightfv( GL_LIGHTn, GL_POSITION, ... )再次指定灯光位置。

...

  • 我怎样才能使我的灯光位置相对于我的眼睛位置保持固定? 如何制作头灯?

您需要在眼睛坐标空间中指定光线。 为此,请将 ModelView 矩阵设置为恒等式,然后指定您的灯光位置。 要制作头灯(看起来位于眼睛或靠近眼睛并沿着视线发光的灯),请将 ModelView 设置为 identity,将灯位置设置在(或靠近)原点,并将方向设置为负 Z 轴。

当灯光的位置相对于眼睛是固定的时,您不需要为每一帧重新指定灯光位置。 通常,您在程序初始化时指定一次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM