[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:01337] RE: [Q]グラデーションの内部計算
━◇一行広告◇━スーパーロト,百又のゴルフ場,阪神大震災5周年記念事業━◇
☆カリフォルニア州宝くじで一攫千金 http://www.dns-ml.co.jp/id.idc?id=462
◎お得な情報満載!ゴルフ,温泉,ボウリング http://www.hyakumata.co.jp
= ◆神戸の起業家が集結!http://www.hero.or.jp/hero/new/frame-5next.html
━━◇━━ インフォキャスト ━◇━ 【 役立つ情報がいっぱい!】━━◇━━
沼倉@xxxxxxxxxxです。
Java3Dでは(というよりはOpenGLでは)、最終的にレンダリングの
対象となるポリゴンは3角形だけです。したがって、補完は3角形の
補完式を使って行われます。ちなみに各頂点に異なる放線ベクトル
を設定した(かつSmoothシェーディングのとき)ときも、テクスチ
ャマッピングのときも同じ方法が使われます。
これについては、一般にs,tで表すテクスチャ座標について調べる
とよいでしょう。どっかのWebページで解説してそうですが...
それから、色は内部的にはRGB各色0.0から1.0で表しています。
_/_/_/ E-mail : numakura@xxxxxxxxxx _/_/_/
> 増井@xxxxxxxxxx日本総研です。
>
> java3Dで各点で異なる色情報(RGB)をもたせてポリゴンを描画すると
> 例)setShadeModel(ColoringAttributes.SHADE_GOURAUD)
> TriangleFanArray(pt.length, GeometryArray.COORDINATES |
> GeometryArray.NORMALS, vcnt)
> グラデーションのかかったポリゴンとなりますが、
> java3Dの内部でグラデーションの色はどのように計算されているのでしょうか?
>
> たとえば、各頂点はRGBであたえられるが、各頂点間(面)は以下のように計算さ
れ
> るのでしょうか?
> 1)そのままRGB 色空間で線形補間
> 2)内部で各頂点をHSVに変換して、HSV 色空間で線形補間
> 3)???
>
> 色々調べてみたのですが、
> APIのマニュアルに
> SHADE_GOURAUD (defaults) Smoothly interpolate the color at each vertex
> across the primitive.
> とかいてあるだけでよくわかりません。
>
> VRML(http://tech.webcity.ne.jp/~andoh/vrml/vrml2.0/spec-jp/part1/1)
> では上記2)?のようですが。
>
> なぜ、しりたいかといいますと
> もし上記1)だと、色情報により不自然なグラデーションになる可能性がある?た
> め、
> なにか修正が必要になると思ったからです。
> 上記2)だと問題ないとおもうのですが。
>
> 御教授お願いします。
>
>
>
> 株式会社日本総合研究所 増井 郁久
>
>
>
>