Stage3Dの勉強をしてみた
Stage3Dの勉強中です。
私にとってStage3Dはとても難しいですが、こちらに丁寧に解説をして頂いているページがあり参考にさせて頂いています。
- Molehill Stage3D API 入門
- http://9ballsyndrome.blog.fc2.com/blog-entry-22.html
- Molehill Flash Tutorial
- AGAL Basics:http://pixelante.ca/index.php?b=molehill_flash_tutorial_agal_basics
- MolehillとPB3Dで遊んでみた
- http://level0.kayac.com/#!2011/03/molehillpb3d.php
- Stage3Dで霧表現(Perlin noise mist and depth fog)
- http://wonderfl.net/c/utOJ
まだまだ勉強がたりませんが、こんなの作って見ました。
http://demouth.net/sketch/072/
VertexShaderはこんな感じ
mov vt2, va0\n add vt1.x, va2.x, vc4.x\n add vt1.y, va2.x, vc4.x\n add vt1.z, va2.x, vc4.x\n sin vt1.x, vt1.x\n cos vt1.y, vt1.y\n cos vt1.z, vt1.z\n mul vt1.x, vt1.x, va2.y\n mul vt1.y, vt1.y, va2.y\n mul vt1.z, vt1.z, va2.y\n add vt2.z, vt2.z, vt1.y\n m44 vt0, vt2, vc0\n mov op, vt0\n mov v0, va1\n mov v1, vt0.z\n mov v2, vc0\n
FragmentShaderは「Stage3Dで霧表現」をそっくりそのまま使わせて頂きました。。
tex ft0, v0, fs0<2d,clamp,linear>\n mul ft1, fc0, v1\n add ft0, ft0, ft1\n sat oc ft0\n
this.context3D.setProgramConstantsFromMatrix(Context3DProgramType.VERTEX,0,matrix,true); this.context3D.setProgramConstantsFromVector(Context3DProgramType.VERTEX,4,Vector.<Number>([getTimer()*0.008,0,0,0]));