私はPhongライティングモデルを組み込む必要があるOpenGL割り当てに取り組んでいます。しかし、私は2つの1x3ベクトルを一緒に乗算しようとするとちらつきが見えてきます。OpenGLベクトルが乗算されたときのちらつき
ダブルスワップが有効で、ミップマップも有効です。
例:
色=テクスチャ(myTextureSampler、UV).rgb * vec3(0.5、0.5、0.5)。
色=テクスチャ(myTextureSampler、UV).rgb * vec3(0.9、0.9、0.9)。
色=テクスチャ(myTextureSampler、UV).rgb * 0.9。
色=テクスチャ(myTextureSampler、UV).rgb * vec3(1.0、1.0、1.0)。
は
UPDATE(はい、それはGIF'S):これでも点滅:
色= vec3(0.9、0.1、0.2)。
完全なソースコードがopengl-tutorials.org codeに基づいていますが(うまくいけば)この質問は、問題の最小限の再生に非常にすぐに更新されますhereです。
乾杯
ベクトルをベクトルで掛けることは、メンバーの乗算によってメンバーを行います。したがって、それはあなたが思うとは思わないかもしれません。 代わりに1つの値で拡散色を乗算し、出力をvec4に設定してみてください:'out vec4 color;' 'color = vec4(MaterialDiffuseColor * 0.5,1。0); ' –
これは、乗算によるものよりもはるかにバグが多いようです。したがって、実際のソースコードを提供する必要があります。 –
@IanYoungはポインタをありがとう!私は 'GL_BLEND'をオンにしたが、' vec3'の出力を出したことが原因であることが分かります。私はこれを1日と呼び、これを明日の "解決策"として投稿します。もう一度ありがとう、私は最終的に安全かつ健全に眠ることができます。 –