OpenGLでシミュレーションの透明度を設定するときに問題が発生しました。シナリオは次のとおりです。
私は球で表される船を持っています。さて、船の周りに盾を追加することについて考えました。球も選択しましたが、半径を大きくして、アルファ係数を0.5(不透明度)に設定しました。ただし、シールドは表示されず、色はブレンドされません(あたかもそこになかったかのように)。
カメラは第1球の中心にあります。問題は私が球の中にいることだと思うので、openglはそれを無視します(描画しません)。
コードは次のようになります。
//ship colors setup with alpha 1.0f
glutSolidSphere(1, 100, 100); original sphere ( ship )
//shield colors setup with alpha 0.5f
glutSolidSphere(3, 100, 100); //the shield whose colors should blend with the rest of the scene
船の前に平行六面体を置いてシールドをシミュレートする必要があります。しかし、これは私が望むものではありません...
編集:私は間違いを見つけました。gluPerspective()のnearパラメータを高く設定しすぎていたため、アルファ値を正しく設定していても、カメラは常にオブジェクトの前にあり、それを見る方法がありませんでした。