Estos días he estado incorporando una serie de novedades al motor de rendrizado 3D AL3D
Principalmente han sido 2 funcionalidades nuevas, además de corrección de una serie de fallos y mejora del rendimiento.
La primera novedad es la posibilidad de añadir mapas normales y mapas especulares, mientras que la segunda novedad se centra fundamentalmente en un nuevo sistema que permite el post procesado de los renders y volverlos a mostrar por pantalla, una persona como yo, interesada en el procesamiento de imágenes, estaba obligado a meter esta funcionalidad cuanto antes.
Un ejemplo de como crear una malla con mapas normales y especulares es el siguiente:
earthMaterial = new AL3D.BlinnMaterial({shininess : 128, diffuse : 0xFFAAAAAA, specular : 0xffffffff, shading : AL3D.PhongInterpolation, texture: './res/color-map.jpg', specularMap: './res/specular-map.jpg', normalMap: './res/normal-map1.jpg'}); | |
earth = new AL3D.Mesh.createSphere({radius: 1, height : 2, material : earthMaterial}); | |
earth.position = new ALMath.Vector3(0,0,-2); |
A continuación se muestra un ejemplo de post procesamiento
renderer = new AL3D.Renderer(window.innerWidth,window.innerHeight); | |
camera = new AL3D.PerspectiveCamera(40, window.innerWidth/window.innerHeight); | |
scene = new AL3D.Scene(); | |
scene.add(mesh); | |
scene.add(light); | |
renderer.addEffect(new AL3D.GreyScaleEffect()); | |
renderer.render(scene, camera); |
También he subido todo el código a github: https://github.com/RdlP/AL3D
Y aquí puede observarse un ejemplo en vivo http://angelluispg.es/AL3D/examples/Postprocessing/
Aunque en el Readme del gthub se pueden ver más ejemplos.