Loving Coding & Visual Design

2009-08-24存档

AS3实时光影追踪渲染(Flash ActionScript 3.0 Raytracer)
p20090824101711
source: http://www.strille.net/works/as3/raytracer/
默认画面在双核2G处理器的电脑上不太流畅,双核2.6G十分流畅,内存均为2G. 用PV3D来尝试做出类似效果,先用ShadedMaterial和ShadowCaster测试,参考zupko.info的casting shadow:

shadowCaster.setType(ShadowCaster.DIRECTIONAL);
...
shader = new EnvMapShader(light, envMap.bitmapData, envMap.bitmapData, 0x333333);
bitmapMaterial = new BitmapMaterial(pv3dBitmap.bitmapData, false);
bitmapMaterial.smooth = true;
var shadedMaterial:ShadedMaterial = new ShadedMaterial(bitmapMaterial, shader);
shadedMaterial.interactive = true;
...
bmdEnvSphere.draw(viewport, matrixEnvSphere);

速度在2.0G的CPU上巨慢,效果也不太理想,改为环境材质伪造光线追踪:

var envBlur:BitmapData = new Bitmap(new rayTracingImg(200,200)).bitmapData
envBlur.applyFilter(envBlur, envBlur.rect, new Point(), new BlurFilter(4, 4, 3));
var em:EnvMapMaterial=new EnvMapMaterial(light, envBlur);
em.smooth=true;
em.tiled=true;

速度稍快,但是已经失去了光线追踪的意义,效果也是马马虎虎,看来要做到网页Flash实时三维渲染,我还有很长的路要走.


AS3 Phongshader材质渲染

高阶的光线追踪渲染可以看看这个CUDA的教程: CUDA ray tracing tutorial

基于MVC架构的Javascript免费开源框架 - JavaScriptMVC

CSS渐变背景(Firefox 3.6)



下一页


最 近 文 章

  1. 都是Vista SP2惹得祸 - Fri, 04 Dec 2009 17:04:44 +0000
  2. 升级Blender到2.49b出现的问题 - Sun, 29 Nov 2009 06:44:48 +0000
  3. 打造自己的FireFox插件(Add-ons) - Wed, 14 Oct 2009 16:07:36 +0000
  4. 初学OpenGL - Tue, 13 Oct 2009 02:36:03 +0000
  5. 游戏:Borderlands - Wed, 16 Sep 2009 04:17:18 +0000
  6. 老板与劣质虚拟主机 - Tue, 15 Sep 2009 07:47:58 +0000
  7. 用VC++测试OpenGL和DirectX9 - Thu, 10 Sep 2009 16:18:43 +0000
  8. 我被中国电信“省钱” - Thu, 10 Sep 2009 15:29:20 +0000
  9. 创新工场引导中国创新革命? - Mon, 07 Sep 2009 17:30:07 +0000
  10. GoogleAppEngine和GoogleCode继续测试 - Thu, 03 Sep 2009 05:44:26 +0000