簡體   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