1

私はLWJGLを使用するMinecraftの非常に初期のバージョンに似た小さなブロックエンジンを持っています。実際に照明を実装したいと思います。私はそれがどのように機能するかを理解しています。私は照明をどのようにレンダリングすることになっているのか混乱しています。明るい地形をシミュレートするために、テクスチャの「明るさ」を変更する必要がありますか?クワッドの光の値を実際に変更する方法を尋ねていますが、チュートリアルがいくつかあるのではないでしょうか。スムーズな照明ではなく、ブロックごとに配置したいと思います。ブロックにはライト値が必要であることがわかりました。その隣のブロックごとに、そのライト値を「黒」になるまで少しずつ減らします。

4

1 に答える 1

0

(少なくとも)固定機能レンダラーを想定した2つのオプション:

  1. 単一のテクスチャ(デフォルトのGL_MODULATEtexenvを使用した基本的なテクスチャアトラス)を使用し、頂点ごとのグレースケールカラーを設定して、光のレベルに比例してテクスチャを暗くします。テクスチャを使用GL_MODULATEすると、RGBチャネルに頂点カラーのRGBチャネルが乗算されます。したがって、RGB(255,255,255)の頂点カラーは完全に点灯し、RGB(0,0,0)は真っ黒になり、RGB(128,128,128)は中間のどこかになります。

  2. 2つのテクスチャ(外観アトラスとライトマップアトラス)とマルチテクスチャを使用します。ライトレベルは、適切なライトマップスクエアを選択するテクスチャ座標を提供することにより、特定の面に設定されます。ライトマップをアニメーション化すると、ボリューム全体を反復処理することなく、「無料」で昼/夜のサイクルを取得できます。#1のように頂点の色を修正します。

于 2013-02-20T06:50:09.157 に答える