WebGLコンテンツがiPhoneだけ表示されない
仕事で簡単なglslを書いてデバッグしていたところ、
私物のiPhoneXで、なぜか表示されない・エラーログも吐かない
ということがあったのでここに記しておきます。
解決方法(僕のケースで)
フラグメントシェーダーの精度修飾子を変更した。
precision highp float;//改修後 precision mediump float;//改修前
PCは正常。iPhoneだけで表示されない
ということが続き、悩んでいました。
表示内容はパーリンノイズをuv座標と時間経過使ってゆらゆらさせているだけ。
サンプルと比較
threejsには優秀なサンプルとそのソースコードがあるので、
自分のものと比較しました。
https://threejs.org/examples/#webgl_shader
ソースの差は、
僕のものが「RawShaderMaterial」を、
サンプルが「ShaderMaterial」を使ってるぐらい・・・。
ということは自分が書いたカスタムシェーダーの中身に問題があるなと思い、 ちまちま直してたら上記結論に至りました。
少し腑に落ちませんが、まあ直ってよかった。。