Spidergl を使用して既に実装されているサンプル コードから webgl シャドウ マッピングを実装しようとしています。WebGLの上に直接実装しようとしています。
ほとんど同じようなコードを持っていると思いますが、結果が得られません。問題をコードの小さな部分に絞り込みました。私のシェーダー コードではa_position
、(頂点位置属性) を vec3; として定義しています。Spidergl コードでは vec4 として定義されています。Spidergl コードをくまなく調べて、xyz トリプレットである頂点位置属性が vec4 にどのように入力されているかを理解しました。vertexAttribPointer の呼び出しでトリックが見つかると思っていました。しかし、彼らが渡しているサイズとストライドの値は、予想通り 3 と 12 です。同じことを行うようにコードを変更しましたが、まだ同じ結果が得られていません。
位置トリプレットがマップされる基本的なメカニズムを誰かが説明できますかvec4
? 立方体の角の x、y、z 座標と共に w について言及しているコードも見たことがありませんが、a_position
asを取るシェーダーがありますvec4
。それでは、vec4 の 4 番目の float には何が埋められるのでしょうか?