Some months ago I started using Papervision3D. I like Papervision3D, it’s a innovative open source project, and the Core Team of PV3D are challenging the performance of the Flash Player. Who know correctly this 3D rendering engine, you can make a lot of innovatives dynamics back-ends 3D, it can be a way for a very interesting innovation. I’m already begun exploring Papervision3D.
I decided to share my firsts experiments:
- Construction of a3D triangle.

In this experiment I learned how to create a TriangleMesh3D, the process is simple, every point in space is an instance of the class Vertex3D, and the faces are based on these points. The way of mapping faces I’ll post later.
View. Source Code.
- My next step was to create a plane joining two triangles.

Papervision3D already exists in the Plane class, but I decided to do it manually, with the goal of learning how to build instances TriangleMesh3D.
View. Source Code.
- Then I started to experiment to create 3D games,

I used the Particles class to create particles at each vertex of the plane and it’s rotate around the y axis. The limitation is the very low framerate, it is necessary to optimize the code, but for a first experience was very nice. I was happy :D. To rotate and move the camera position, you can use your mouse and arrow keys
View. Source Code.
- My next experiment consisted in the construction of algebraic surfaces instanciating TriangleMesh3D class, and made my first integration with Tween Papervision3D in this experiment.
To rotate and move the camera, you can use your mouse and arrow keys. And press the space key to change the subject.
View. Source Code.
- The experiment quoted above simply play with the depth of Vertex3D points, I make a small modification so that the x and y components follow a sine curve, and the z component of the transition point.
Some objects are ugly, some rare, but gives an idea of what can be done with careful mathematical study of surfaces to create.
View. Source Code.
- There are many classes to create materials in Papervision3D, the basic tests that I made with Papervision3D materials used for the following types of materials:
flatShadedMaterial
gouraundMaterial
phongMaterial
cellMaterial
envMapMaterial

To view the types of materials listed above, you must re-compile the source code you must uncoment addChild methods.
View. Source Code.
- I was interested to make a small integration of sound materials.
Source Code.
- This example of cubes and spheres in Papervision3D was very easy to make, simply because using primitive objects.
You can use de arrows keys to see the 3D objects.
View. Source Code.
This is my first post about Papervision3D, I’ll post frequently about this.



English
17 March 2009 at 9:59 AM
Hola!!!
Está demás decirte que tu blog está simplemente G E N I A L!!!!
Te felicito por tan lindo e interesante emprendimiento. Estuve leyendo algo de tu trabajo…está súper bueno, aunque entienda casi nada al respecto jejeje, pero bueno eso se puede aprender
Éxitos!!
6 July 2009 at 5:44 PM
exelente trabajo, felicidades!
24 September 2009 at 2:38 AM
Nice site!
12 July 2010 at 10:37 PM
Hola, saludos desde México, estan muy interesante tus artículos sobre PaperVision….. algún tutorial que recomiendes y creas que es conveniente para empezar =).
Saludos!
13 July 2010 at 5:06 AM
Hola, muchas gracias!
Para empezar, podrías leerte este post
http://www.david5.com/interfaces-tridimensionales-en-los-navegadores-de-internet-papervision3d/
y también ver los ejemplos de código del sitio http://pv3d.org/ , allí hay muchos ejemplos interesantes.
Un saludo.
27 July 2010 at 8:14 PM
Muy bueno esta tu blog David! te felicito por el emprendimiento. Creo que ambos tenemos la misma idea, jajajajaja (vos me entendes):P
12 August 2010 at 10:16 PM
Hola David, como estas? Mi nombre es Rodolfo Vegas, Licenciado en Computación, de Valencia - VENEZUELA. Actualmente estoy haciendo mi tesis doctoral que consiste en una aplicación web hecha en flex que lea unos archivos de extensión c3d y a partir de los datos que consiga de ese archivo hacer una simulación en 3d.
Te explico, en algunos hospitales existen laboratorios de marcha, en esos laboratorios van pacientes con enfermedades neuro musculares, los doctores les colocan una serie de sensores alrededor de su cuerpo y la persona va caminando con esos sensores en su cuerpo, hay un sistema que recibe esa señal y va almacenandolo en los archivos que son los c3d.
Mi sistema fuyncionaría así: un médico registrado en el sistema escoge un archivo c3d, el sistema le proporcionara unos datos y nas graficas y a parte la simulacion en 3d de una personas con los sensores caminando sobre el plano y eso es lo que yo quisiera hacer en papervision, las coordenadas y el tiempo que va una persona caminando ya los tengo pero lo que no se hacer es la simulación y se que papervision es una aplicación para hacer aplicaciones en 3d, de verdad te agradecería que me ayudaras en esto, como te dije antes soy nuevo en esto y no tengo experiencia, lo mio es java, c++, opengl pero bueno me toco hacerlo web y en flex. Gracias!!!!
15 August 2010 at 7:58 AM
@laura: Gracias Lau! Espero que los ejemplos te sean útiles. Un saludo!
@Rodolfo: Tu tema de tesis está buenísimo. Si, se puede integrar flex con papervision3D, aqui encontraràs una pequeña integración de ambos:
http://www.david5.com/rigid-spheres-with-jigliflash-and-papervision3d/
Lògicamente, en tu trabajo la integración será mucho más compleja, pero dicho link te podría servir como punto de partida en dicha integración.
Con tu experiencia en java, c++ y opengl avanzarás muy rápido en este nuevo entorno. Podrías usar java del lado del servidor (con blazeDS por ejemplo), y si tienes código o bibliotecas en C o C++ que son de interés para tu proyecto podrías reutilizarlos ejecutándolos directamente en la máquina virtual Flash player gracias a Alchemy. Y el aprendizaje de PV3D será sencillo si conoces opengl. Para el proceso de aprendizaje de las herramientas que necesitas, te recomiendo iniciarte en AS3, luego pasas a PV3D, luego pasas a Flex y allí lo vas integrando con tu lenguaje del lado del servidor (java por ejemplo), y finalmente Alchemy, si es necesario.
Te recuerdo que PV3D tiene aceleración 3D por software, no por hardware como opengl, por lo tanto, podrás renderizar hasta 3000 o 5000 triángulos a la vez, dependiendo principalmente de que materiales y shaders utilizes. Siempre Alchemy y PixelBender serán tus aliados en caso de que necesitas cálculos que tengan un alto costo computacional para tu simulación, pero creo que tendrías que preparar las bibliotecas complementarias que necesites para esos casos. Si necesitas algo realmente potente te recomiendo utilizar Unity3D. Lo bueno de PV3D es la ubicuidad del Flash Player, en ese punto Unity3D falla.
Los archivos c3d los manipularías con los paquetes COLLADA de PV3D. Sería bueno que investigues si soporta dicho formato.
Hace un buen tiempo me tocó hacer una simulación de fluidos en PV3D,
http://forum.papervision3d.org/viewtopic.php?f=9&t=590
no lo terminé por falta de tiempo, pero por la experiencia que tuve en dicho experimento, podría decirte de que si es posible hacer simulaciones 3D via web con Flash/Flex, el desafío estará siempre en la optimización de tu código.
Suerte con el proyecto! Un saludo.
4 January 2012 at 2:26 PM
Wow, great post! Well-written, informative and eye-opening. Will definitely be checking out your blog more in the future
31 July 2012 at 6:02 AM
really impressed! everything is very open and very clear explanation of issues. it contains truly information. your website is very useful. thanks for sharing. looking forward to more!http://www.casaemail.com.br
4 October 2012 at 1:17 PM
Wonderful items from you, man. I have bear in mind your stuff previous to and you’re simply extremely excellent. I actually like what you’ve bought right here, certainly like what you are stating and the way
in which by which you assert it. You’re making it entertaining and you continue to care for to stay it sensible. I cant wait to read far more from you. This is actually a tremendous site.