Tama's Workshop

Logo

まったり開発もどき

View the Project on GitHub ttk1/tamas-workshop

WebGLではじめるGPGPU入門

カバー

著者

概要

問い合わせ先

本書の内容に関する問い合わせは、メールもしくはTwitterで受け付けています。

目次

サンプルコード

本書で紹介したコードはこちらからダウンロードできます

注意

補足

88ページ、3. 型付き配列をテクスチャとしてVRAMに転送する

pTex, vTex, aTex, mTex のテクスチャの大きさは、(N, 1) となるという説明が抜けていました。 1次元配列 P, V, A, M を横方向に細長い2次元配列に変換するというイメージです。

実際に横方向に細長いテクスチャを作成している箇所は、 createTexture() 関数の51-52行目の gl.texImage2D() メソッドです。 このメソッドは、テクスチャ領域の確保とVRAMへのデータの転送を行うために必要です。以下に gl.texImage2D() メソッドの引数の説明をします。

iformat によって、 format, type は決まります。 このことはWebGL 2.0 APIクイックリファレンスガイドの5ページに書かれています。 例えば、iformatgl.RGBA32Fを指定すると、formatgl.RGBA, typegl.FLOATにしなければなりません。

訂正

25ページ、リスト 2.6 の 13-15 行目

// float 値を 1 つだけ指定
mat2 d = mat2(1.0); // = mat2(1.0 * 2.0 + 3.0 * 3.0, 2.0 * 2.0 + 4.0 * 3.0,
                    //        1.0 * 4.0 + 3.0 * 5.0, 2.0 * 4.0 + 4.0 * 5.0)

となっていますが、正しくは

// float 値を 1 つだけ指定
mat2 d = mat2(1.0); // = mat2(1.0, 0.0,
                    //        0.0, 1.0)

でした。

おまけ