[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] RE: [jfriends] Java3Dの混合処理





Numakuraです。

> > OpenGL1.1では、半透明のポリゴン(これをAとする)を描画した
> > 後で、その後ろに他のポリゴン(これをBとする)を描画すると、AとBの
> > 重なった部分は、Aしか表示されません(つまり半透明を表現でき
> > ていない。半透明を表現するには、Bの後にAを描かなくてはならない)。
>
> 手元に OpenGL の仕様が無いのですが、glMaterial*() ではなく
> glColor*() で RGBA で色指定したときですか?
>
> それと、特定環境で実際にこうなった、ということですか?
> それともこれが OpenGL 1.1 仕様なのでしょうか。
>
glMaterial*()では、transparencyを設定できません。glColor4*()で
設定したものです。手元にはOpenGL1.0の仕様しかないのですが、
これは環境によるわけではないようです(ここの部分は1.1も同じだ
と思いましたが)。

> Windows 98 で実行すると、シーンを回転させたときにも透明な物体が
> 正しい前後関係で描画されました。
少々説明不足でした。青のポリゴンのアルファ値を1.0に変更(完全に不
透明。Transparencyの設定は、この逆)して、シーンをマウスで回転し、
赤のポリゴンが手前にきたときに、TransparencyModeをFASTESTや
NICESTに変更したときに、青のポリゴンが手前に表示されます(という
より赤いポリゴンの重なった部分が表示されない)。
私の環境は、NT4.0(SP4)、JDK1.2、Java 3D 1.1.2 (OpenGL)です。

>よろしければ Java3Djp MLもどうぞ。
ちょっと、メールが多いのでパスさせてください。ただ、ひろい読みはした
いのですが...

_/_/_/     E-Mail:numakura@aie-res.co.jp    _/_/_/