簡體   English   中英

OpenGL 透視和光照問題

[英]OpenGL perspective and lighting problem

我有一個使用 OpenGL ES 1.1 渲染的示例 3d 場景。 這是當我有單位投影矩陣時得到的(我也使用法線和鏡面貼圖):

在此處輸入圖像描述

所以一切看起來都很好。

但是,如果我使用glFrustum設置透視圖,我會得到:

在此處輸入圖像描述

所以似乎法線被反轉了,如果我嘗試將它們乘以 -1,我會得到:

在此處輸入圖像描述

它的效果就像光線來自對面一樣。

我還應該提到,當使用單位投影矩陣時,我必須設置

glCullFace(GL_FRONT);

(我認為這是因為規范化的設備坐標是左撇子)。

我很樂意聽到有關如何解決此問題的任何建議。

編輯。 這是投影設置:

float right = 0.03;
float top = 0.045;
float near = 0.1;
float far = 100.0;

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustumf(-right, right, -top, top, near, far);

您的第二個屏幕截圖看起來不錯,我看不出您的問題出在哪里。 請在第二張圖片中突出顯示您認為不正確的內容。

請記住,在投影矩陣中應該只有投影,以及相機放置的種類。 “相機放置”屬於模型視圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM