質問: 質問はタイトルの通りですがわかりにくいので前置きを挟みます。 ピクセルシェーダーから色を出力する際に("gl_FragColor" or "out vec3 color")最終的な頂点の色は"元の色","太陽光","反射光"etc...をまとめて乗算または加算の計算をして出力します。 以下の画像(***Pic1***)はrgb(1,0,0)の画像を白い塗り壁テクスチャに(**Pic2**)射影マッピングしたものです。 本来であればマッピング部分はrgb(1,0,0)の元色で出力されてほしいものですが**白壁のテクスチャや環境光などと合わさって以下のような白と赤が混ざった色になります**。 ##### この2つのテクスチャの色を干渉させずに出力できるような方法はOpenGLであったりしますか? もしなければ同じ頂点情報をもつオブジェクトをもう一つ作成し、赤テクスチャを貼ろうかとも考えています。 (*これはオブジェクトの数が倍になるということにもなるのであまりやりたくはないのですが。今のところこれくらいしか代替案も出てこないです。*) --- Pic1 ![Pic1](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/d9875adc1028a0f00e04b4c5995d88e7.png) Pic2 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/dbe80c201cbca6ff960d373682631db7.jpeg)
回答: 元色を二重に乗算していたために出力色が薄くなっていたことがわかりました。