Papervision3D's bumpmapping error?->EnvMapShader.renderLayer/renderTri error?
昨日上げたコードは大きすぎてquestionには不向きでした。
基本に立ち返り、ミニマムコードを。 (海面の奴は別の機会にあげます)
オブジェクトにPhongShaderやEnvMapShaderを割り当てて
bumpmapを適用すると、3角ポリゴンのエッジ周辺のbumpの一部にエラー(極端に暗くなる)が
表示されます。
[Question]この原因がわからない(法線ベクトル関連だと思うのですが・・・)ので、
解決法をご存知の方、よろしくお願いします
※昨日のコードでは 3角ポリゴンのエッジ以外にもエラーが出ていましたが、とりあえず3角ポリゴンの
エッジに注目して考えてます。 個人的には法線ベクトル。おそらくスムージング角度の問題じゃない
かと思うのですが、スムージング角度の設定方法がわかりません
※なんかそもそもテクスチャがずれているような・・・このあたりを重点的に調べてみます
※bumpには関係なく、phongshaderを適用した時点でエッジが黒くなっていて、
その影響をbumpが受けている模様
※ShadedMaterialのCompositeModeをShaderCompositeModes.PER_TRIANGLE_IN_BITMAP
にするとエッジの線が消える。・・・・けどbumpmapが消える。 papervisionのソースを見る限り、
現在進行形で修正中のようす。ここまでかな
- forked:2
- favorite:4
- lines:146
- license : MIT License
- modified : 2010-04-21 00:25:36
オブジェクトにPhongShaderや EnvMapShaderを割り当ててbumpmapを適用すると、ポリゴン端の方の bumpの一部にエラー(極端に暗くなる)が
表示されます。この原因がわかりません
- by
zendenmushi
- at 2010/04/20 23:14:01
Papervisionのソースを見たところ、どうやらEnvMapShader (PhongShaderの親クラス)の
renderLayerで描く3角ポリゴンにエッジが描画されてしまう(座標計算の誤差?)バグがあるもよう。
かといって、renderTriメソッドが使われるように設定すると、バンプが適用されない。
おそらく、現在進行形で修正中の場所のようです。(もう少し調べますが、このままcloseかな)
- by
zendenmushi
- at 2010/04/21 00:29:15
ポリゴン描画をSpriteで行っているようなので、メッシュを描画し終わる前に個別ポリゴンのエッジにAAがかかってしまっているのか?(確証なし)
一旦調査停止
- by
zendenmushi
- at 2010/04/21 01:19:01
F10
:
[3dPapervison, отражение] зеркальная пирамидка


