タグに「WebGL」を持つ
21〜30件目 / 42件
前へ 1 2 3 4 5 次へ

 WebGL動画その4 / magicien 

11月中にアップと書いておきながら、12月になってしまいました。


Twitter APIで取得したデータを吹き出しに表示してみました。
実はここ一ヶ月間、一文字もコーディングできてません!
コーディング以外の部分が少し進んではいるので、
年内にソース公開できるよう頑張ります。

2010/12/02(Thu) 01:25:16

 WebGL動画その3 / magicien 

3つ目の動画をアップしました。


無音だと再エンコードされるらしいので、BGMをつけてみました。
まだ動画に入れていないネタが残っているので、それらをまとめて11月にその4をアップする予定。
延びまくってますが、ソースは年内公開予定。
2010/10/19(Tue) 02:04:14

 Shadow Map勉強中 / magicien 

思ったより面倒そう...

1フレーム描画するために2回レンダリングするのは腰が引ける。
実装を始めると、いろいろと手間取りそうなんで、動画の準備を先に始めようかと思います。

2010/10/11(Mon) 17:45:47

 clearDepthの最大値 / magicien 

xファイルのテクスチャ読み込みと法線生成は完成。

大きなモデルを読み込んだせいで、モデルの表示が途中で切れてしまうため、
clearDepth(depth)の値を大きくしてみたところ、全く変化なし。
depthRange(near, far)のfarの値を大きくしてもだめ。
で、getParameter(DEPTH_CLEAR_VALUE)、getParameter(DEPTH_RANGE)で調べたところ、
depthの最大値は1っぽいことが判明。
depthは固定小数点数なのかも...
ということは、奥の方まで表示させるためには、全体のスケールを落とさないとだめ?

と思ったけど、そもそもカメラのprojection matrixで奥行きの上限を設定してた (というか、clearDepthが1であることを前提にした行列の計算をしてた...)ので、
その奥行きを変更すれば大丈夫でした。

2010/10/11(Mon) 04:06:18

 XファイルとMMDのサイズ / magicien 

Xファイルをそのまま読み込むと、MMDのモデルの1/10くらいのサイズになるっぽい。
とりあえず、Xファイルの頂点座標を全部10倍して読み込むことにしました。

あとXファイルの読み込みで実装が必要なのは、テクスチャ。
法線は自分で計算しなきゃだめなんだろうけど、共有してる頂点は全部ばらばらにしちゃうんだろうか。
ボーンとかアニメーションも未実装だけど、それは追々。
PMDモデルを見ても思うけど、カリングは無効の方がいいんだろうか。
カリング解除すると重くなりそうで嫌だなぁ。

左手系と右手系はどっちがどっちだかいつも分からなくなる。

2010/10/01(Fri) 01:36:27

 Xファイル法線 / magicien 

前回の続き。
同じ頂点で法線が異なる場合は、別頂点として新たに頂点を追加する、という処理は追加しました。

が、法線データの入っていないXファイルはどうすれば...

2010/10/01(Fri) 00:06:41

 Xファイル解析中 / magicien 

あやうく9月の記事が0になるところでした。

とりあえず、ボーンやアニメーションのないXファイルをWebGLで表示してみることにしました。

途中で引っかかったのが、MeshNormalsのfaceNormals。
詳細は省略しますが、Xファイルの記述を素直に受け取ると、1つの頂点が複数の法線を持つことに。
今作ってるプログラムでは、1頂点1法線なので、どうしようと思いGoogle先生に相談したところ、
「法線が違う頂点は、位置が同じだけの別の頂点です。」という単純明快な答えが。
というわけで、同じ頂点で法線が異なる場合は、別頂点としてデータを追加しなければならず、
実装の手間とメモリを余計に食いそうです。

予定としては9月中にWebGLのプログラム公開ですが...頑張ります

参考URLはこちら↓
http://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=53&vew=101
直リンクだとアクセス拒否されるっぽい。

2010/09/27(Mon) 23:39:05

 WebKit仕様変更再び... / magicien 

今度はシェーダのコンパイルで大量のエラーが...

最近仕様変更多くないですか...
新しい仕様が分かり次第記事を更新予定。

2010/09/08 追記:
vertex shaderからgl_FrontColorが無くなったような気がする...
とりあえず、varying vec4で代わりの変数を作ったら大丈夫でした。

fragment shaderの方のエラーは、
#ifdef GL_ES
precision mediump float;
#endif
と書いたらエラーが出なくなりました。
めでたしめでたし。

2010/08/24(Tue) 01:47:48

 WebKit仕様変更 / magicien 

いつものことではありますが、仕様変更があったのでメモ。

WebGLFloatArray、WebGLShortArray等が消えてしまいました。
代わりに、Float32Array, Int8Array, Int16Array, Int32Array, Uint8Array, Uint16Array, Uint32Arrayに。
Float32Arrayも前からあったような気もするけど、WebGLってついてるぐらいだから、WebGLFloatArrayの方が良かろうと思っていたら、消えてしまいました。

それと、なぜかnew Image()でエラーが発生してテクスチャがうまく表示できなくなってしまった...
こっちは要調査。

Image()ではなくて、texImage2Dでエラーが発生していました。
これについては、事前に仕様変更の予告があったので、納得。

これまで、
gl.texImage2D(gl.TEXTURE_2D, 0, image);
と書いていたところを、
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
にしたら動きました。

2010/08/16(Mon) 23:18:13

 WebGLアプリの開発状況 / magicien 

7/19あたりに、まともに動くようになった、と書いたときから、全然進展してません。

本当は内部構造を少し変更したので、逆に不具合が出ている状況。
でも、プログラムは作っては壊し、を繰り返すうちに良いものになる気がします(言い訳)。

というわけで、7月中の公開は難しそう。
コーディングの時間がもっと欲しいなぁ。

2010/07/30(Fri) 01:53:18