WebGLでボリュームレンダリング 拡散方程式を再び [JavaScript・ソフト・ゲームなど]
お久しぶりで、dumboです。
さて、みなさまご察しの通り、WebGLにはまってました。
今日のお話は、ボリュームレンダリング(volume rendering)です。
さて、VMrendと言えば3Dテクスチャ(3D Texture Volume Rendering)ですが?、
残念ながらWebGLはGLSLのVer1.00ですので、使えないのでした。
通常は、レイキャスティング(Ray Casting Volume Rendering)というところでしょうが、
いろいろ示されているので、違った方法をということで、
2Dテクスチャで行ってみました。
結果は下図です。
以前のものとは違っていますが、まあこんなものでしょう。
Volume Renderingは、こちらが詳しいでしょうか?
(有名な方のようで、3Dテクスチャをアルファブレンディングしていますね)
正攻法は、Progressive Volume Rendering using WebGL and HTML5
by Lisa Tumbleton, B.Sc. Computer Scienceが詳しいでしょうか。
以前の記事は、ここと、ここと、ここです。
では、
あっ、ソフトは下記の追記をご覧ください。
Canvas+WebGLで、かなりのCPU負荷があると思いますので、別ページといたしました。
(64×64×64なのですがねぇ、C++で行えば、512×512×512でもぐりぐり動きます。
プログラミングの腕かなぁ?しかし、javascriptはデバッグしづらいですね・・・)
2Dテクスチャによる疑似ボリュームレンダリングです。
単に2Dテクスチャを重ねているだけですが、256を超えると隙間は全く解りませんが・・・64ですので。
WebGL Volume Rendering
どうです?動きました???
骨の内部が出来ていく感じでしょうか?ねっ。 クルミ?
追加)IEより、Chの方が早いですね。最適化されているのでしょうか?
さて、みなさまご察しの通り、WebGLにはまってました。
今日のお話は、ボリュームレンダリング(volume rendering)です。
さて、VMrendと言えば3Dテクスチャ(3D Texture Volume Rendering)ですが?、
残念ながらWebGLはGLSLのVer1.00ですので、使えないのでした。
通常は、レイキャスティング(Ray Casting Volume Rendering)というところでしょうが、
いろいろ示されているので、違った方法をということで、
2Dテクスチャで行ってみました。
結果は下図です。
以前のものとは違っていますが、まあこんなものでしょう。
Volume Renderingは、こちらが詳しいでしょうか?
(有名な方のようで、3Dテクスチャをアルファブレンディングしていますね)
正攻法は、Progressive Volume Rendering using WebGL and HTML5
by Lisa Tumbleton, B.Sc. Computer Scienceが詳しいでしょうか。
以前の記事は、ここと、ここと、ここです。
では、
あっ、ソフトは下記の追記をご覧ください。
Canvas+WebGLで、かなりのCPU負荷があると思いますので、別ページといたしました。
(64×64×64なのですがねぇ、C++で行えば、512×512×512でもぐりぐり動きます。
プログラミングの腕かなぁ?しかし、javascriptはデバッグしづらいですね・・・)
2Dテクスチャによる疑似ボリュームレンダリングです。
単に2Dテクスチャを重ねているだけですが、256を超えると隙間は全く解りませんが・・・64ですので。
どうです?動きました???
骨の内部が出来ていく感じでしょうか?ねっ。 クルミ?
追加)IEより、Chの方が早いですね。最適化されているのでしょうか?
コメント 0