2015-04-16 48 views
0

我正在實施定向光源和相關的陰影貼圖。OpenGL方向光影貼圖;如何查找正確的shadowmap值?

我正在使用正交投影成功地渲染陰影貼圖。但這是我卡住的地方;在最終的渲染過程中,我如何從我的陰影貼圖獲取正確的紋理座標來進行採樣?然後,我如何確定這個對象是否在這個深度之後?

什麼我試過到目前爲止做:

  1. 通作我的對象
  2. 乘在頂點着色器中的對象頂點通過這個矩陣傳遞夜景景觀+投影矩陣的頂點着色器在片段着色器
  3. 這給我的片段着色頂點的位置,當它被吸引到陰影貼圖

所以,這個我可以品嚐陰影貼圖?

這給了我所有繪製的深度。

但它並沒有告訴我我是否落後於這個深度。

回答

1

執行完第二步之後,會得到一個4矢量(x,y,z,w)。讓我們假設你對它進行了透視分割,並且w = 1。然後你在光源空間中有一個頂點的x,y,z座標,並傳遞給你的片段着色器。

x和y用於在下一步中對陰影貼圖進行採樣,但z座標怎麼樣?那麼,這是來自光源PoV片段的可能深度值。這是你比較陰影圖樣本的值。如果它大於shadowmaps值(+ bias),則比你的片段在陰影中。否則它不是。

+0

哦,這太明顯了! – NeomerArcana