📝

Xperia 1 II で発生した GLSL の不具合(?)

2022/02/08に公開

こんにちは、株式会社palanxR事業部 でエンジニアをやっている 笹井 です。

今回はハマりにハマりまくった端末関連の不具合(?)について紹介します。

何が起こったの?

テクスチャから取得した白色の r を、
最終的な出力の alpha に設定していた。

alpha は 1.0 なので半透明にならないはず...。
しかし、Xperia 1 II での出力は半透明だった。

vec4 white = texture2D( hogeTexture, hogeUv );
gl_FragColor = vec4( hogeColor, white.r );

どうやって解決したの?

白色の b を、最終的な出力の alpha に設定した。

原因は分からないが、alpha に設定した時だけ r と g は 0.8 くらいの値だった。

vec4 white = texture2D( hogeTexture, hogeUv );
gl_FragColor = vec4( hogeColor, white.b );

Discussion