增加光源:
一个很简单的做法是直接在webglRender.js里,对于同一个mesh,用gl.blendFunc把不同光源下画出来的结果给blend就行了(需要先在loadOBJ.js里把每个mesh不同的light下的meshRender和shadowMeshRender存下来),shader部分完全不用动;
比较麻烦的做法:改phongShader
物体运动:
在engine.js的mainLoop()里更新mesh的translation,再直接用buildShadowMaterial()和buildPhongMaterial()计算新的material,赋值给renderer.shadowMeshes[i].material和renderer.meshes[i].material(具体写法可以参考loadOBJ.js);其中buildPhongMaterial需要用的colorMaps,mat.specular可以在loadOBJ.js里加行代码存下来
This post has received 2 votes up.