投稿者 tel | 2011年7月7日

WebGLでテクスチャを作る

WebGLでテクスチャを作るときにはまったのでメモ。

通常、テクスチャを表示する場合はHTMLImageElementとかを使うが、画像データをJavaScriptで生成してテクスチャを作りたい場合がある。その場合はtexImage2Dの引数に画像データの配列を渡す必要がある。このときのtexImage2Dメソッドの引数はOpenGL ESのものと同じ。

ただし画像データの配列はGoogle Chromeで動かすなら

Uint8Array

を使わなければならない。他のオブジェクトにした場合はtexImage2D関数を呼び出すとOpenGLのINVALID_OPERATIONエラーが発生する。Firefox 5ではUnit32Arrayでもエラーは出ない。

このエラーを2日くらい調べていたけど、プロシージャルテクスチャのサンプルがKhronosのページにあったので解決した。もっと早く調べておけばよかった。

http://khronos.org/webgl/wiki/Demo_Repository


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

カテゴリー

%d人のブロガーが「いいね」をつけました。