YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Japanese subtitles

← Deferred Rendering

Get Embed Code
2 Languages

Showing Revision 1 created 03/11/2014 by Fran Ontanaya.

  1. ライトの数が増えると生じるのが負荷の問題です
  2. ライトが一つ増えればそれだけ計算量も増えるからです
  3. 遅延レンダリングはその解決法の一つです
  4. このデモには50のライトがあり問題なく機能しています
  5. 通常は表面をレンダリングし
    ピクセルごとの色情報を格納します
  6. これを前方レンダリングと呼びます
  7. 遅延レンダリングでは何らかの情報が
    各ピクセルに格納されます
  8. 遅延シェーディングや遅延ライティングとも言います
  9. 位置、法線、マテリアルの色や輝度の情報を
  10. 各ピクセルに格納します
    普段どおりZバッファも使います
  11. 詳しい説明は割愛しますが
    こういうことができるというのが重要です
  12. 形式の異なる画像データです
  13. 遅延レンダリングでは点光源のライトが届く距離の
  14. 上限が決まっています
    その距離は球体の形になります
  15. 各ライトがそれぞれの球体を描きます
    言い換えると各ライトが
  16. 空間の中の一定の部分に影響を及ぼすということです
  17. 各ライトが描く球体の中に入ったわずかな
    部分だけがライトの影響を受けます
  18. このようにして膨大な数のライトが
    及ぼす影響を計算しています
  19. 球体を描くことでライトの影響が及ぶ範囲を示し
  20. GPUがその情報を受け取り
    該当するピクセルを計算します
  21. 描く形は円でも長方形でも構いません
  22. ライトが届く範囲内と思われる限られたピクセルを
  23. 判断することが目的です 一方一般的なライトの場合は
  24. すべてのライトについて
    すべての表面をピクセル単位で計算します
  25. 遅延レンダリングの概略についてお話しました
  26. シェーダプログラミングの知識がないと難しいですが
  27. 考え方としてはライトをオブジェクトとして扱い
  28. すべての表面の値を記録してから
    ライティング計算を行います
  29. 透明性などの問題はありますが
  30. 多数のライトを設定できるというメリットがあります