/***************
PRESENTATION NOTES
Getting Started with Papervision 3d 2.0
A presentation for the mn.swf code camp
APRIL 7th, 2008
4pm - 5pm
Minneapolis Central library
By Thomas Saunders of modern carpentry and puny entertainment
http://modern-carpentry.com
http://punyentertainment.com
***************/
//____________________________
hey all, my name is thomas. I'm an actionscript developer, or designer,
or devigner working here in minneapolis.
over the past year, I've also been doing some writing about flash and
actionscript on my blog- http://modern-carpentry.com
Looking around this site, you'll see that I've been doing a good amount
of work with the open source Papervision3d engine for flash actionscript
3. I've worked with nearly every corner of the pv3d library- materials,
objects, shaders, render layers, and effects.
And looking into my portfolio site, you'll see that i've been having
some fun with it! (http://modern-carpentry.com)
SO- with introductions complete- lets get started. Here's a quick outline
of what I'm going to be discussing today-
//____________________________
/*
-WHAT IS PAPERVISION?
*/
http://papervision3d.org
papervision3D is an open source 3D rendering engine for the Flash platform.
It was initially developed by Carlos Ulloa (carlos link) and later shared
with the open source community under the MIT Liscence.
Since Carlos released the engine, a small but committed and talented
group of developers, along with the community in general, have made
Papervision3D into the gem that it is today.
Papervision is noted for being both light-weight (I've compiled papervision
applications under 45 KB in size...) and well performing in the browser.
Its use of the modified painter's algorithm, while creating z-sorting
problems, speeds up the engine to a significant degree.
Papervision3D 2.0 is currently in public alpha, but you would never
know from the projects that have been developed with it.
/*
-WHY SHOULD I CARE?
*/
redbull flight lab
http://www.redbull.com/flightla
http://www.blog.lessrain.com/
white void
http://www.whitevoid.com/
http://www.andrestubbe.com/
physics
http://seraf.mediabox.fr/wow
http://papervision2.com
isometric gaming engine!
http://www.ffilmation.org
TOO MANY COOL THINGS TO LIST!!
/*
-GETTING STARTED
*/
PAPERVISION
svn checkout http://papervision3d.googlecode
TWEENER
svn checkout http://tweener.googlecode.com
MODERN-CARPENTRY // THIRDAVEDESIGN
svn checkout http://thirdavedesign.com/svn
follow this link to get started
http://wiki.papervision3d.org
also perhaps a better article:
http://insideria.com/2008/02
any svn questions?
CHANGE YOUR BUILD PATHS!
//_________________INTRO TO PAPERVISION OBJECTS
scene
http://www.flashbookmarks.com
the scene is the object to which all rendered items are added to.
example: scene.addChild(universe);
viewport
http://www.flashbookmarks.com
the viewport is added to stage as you would a sprite. you can add different
render layers to the viewport. you can access the viewport sprite by
accessing its' containerSprite property-
example: viewport.containerSprite
camera
http://www.flashbookmarks.com
the camera is important. you can move it around in space by changing
or tweening its x, y, and z values in order to change its perspective
renderEngine
http://www.flashbookmarks.com
the render engine gets the scene, viewport, and camera, and makes it
all happen
example: renderer.renderScene(scene, viewport, camera);
DisplayObject3D
http://www.flashbookmarks.com
this is the object that all 3D objects extend (primitives and models
alike)
example: var universe = new DisplayObject3D();
MaterialObject3D
http://www.flashbookmarks.com
this is the object that all materials extend (movieclips, bitmaps, videos,
shaders)
example var MM:MovieClipMaterial = new MovieClipMaterail(new MovieClip());
//____________________________
-HELLO 3D WORLD
create a simple sphere, apply a bitmap material to it, and render!
-HELLO 3D WORLD Extended
use different types of materials
explore mouse interaction
explore the importance of using different renderlayers
-PRIMITIVE OBJECTS
using spheres, cube, cylinder, cone, plane
-SHADER MATERIALS
using phong, gouraud, flat shade materials
-COLLADA
using collada (.dae) models in your papervision application
-PHYSICS
teaming up papervision with the WOW Physics engine
-MAKING A 360 PANORAMA
make a 360 panorama with papervision
-MORE? (IF time permits....)
//____________________________
ask questions, yo-
//____________________________
blog.papervision3d.org
pv3d.org
mailing list
zupko.info
flashbookmarks.com
seb's site
//____________________________
1. who started the papervision3d engine?
2 name 2 other 3d rendering engines for flash besides papervision
3 who is mr doob?
4. what is the difference between how a cube is constructed in the current
revision of papervision versus how it was done in the public papervision
1.5 release?