Download the original attachment



/***************

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/talk
http://punyentertainment.com

***************/

//_____________________________________________INTRO


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/talk. If you're ever interested in learning about what I'm up to lately, or downloading the source of some sweet tutorial on papervision, you'll find it there.

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-


//_____________________________________________GENERAL:



/*




-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/flightlab
http://www.blog.lessrain.com/?p=627

white void

http://www.whitevoid.com/
http://www.andrestubbe.com/

physics

http://seraf.mediabox.fr/wow-engine/as3-3d-physics-engine-wow-engine/
http://papervision2.com/physics-in-papervision/

isometric gaming engine!

http://www.ffilmation.org/website/demos/example-1/


TOO MANY COOL THINGS TO LIST!!

/*


-GETTING STARTED



*/

PAPERVISION
svn checkout http://papervision3d.googlecode.com/svn/trunk/ papervision3d-read-only

TWEENER
svn checkout http://tweener.googlecode.com/svn/trunk/ tweener-read-only

MODERN-CARPENTRY // THIRDAVEDESIGN
svn checkout http://thirdavedesign.com/svn/pv3d



follow this link to get started

http://wiki.papervision3d.org/index.php?title=Getting_Started_FAQ

also perhaps a better article:
http://insideria.com/2008/02/papervision3d-part-1-foundatio.html

any svn questions?
CHANGE YOUR BUILD PATHS!



//_________________INTRO TO PAPERVISION OBJECTS

scene

http://www.flashbookmarks.com/PV3D-Effects-DOC/org/papervision3d/core/proto/SceneObject3D.html

the scene is the object to which all rendered items are added to.

example: scene.addChild(universe);

viewport

http://www.flashbookmarks.com/PV3D-Effects-DOC/org/papervision3d/view/Viewport3D.html

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.buttonMode = true;

camera

http://www.flashbookmarks.com/PV3D-Effects-DOC/org/papervision3d/core/proto/CameraObject3D.html

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/PV3D-Effects-DOC/org/papervision3d/render/BasicRenderEngine.html

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/PV3D-Effects-DOC/org/papervision3d/objects/DisplayObject3D.html

this is the object that all 3D objects extend (primitives and models alike)

example: var universe = new DisplayObject3D();

MaterialObject3D

http://www.flashbookmarks.com/PV3D-Effects-DOC/org/papervision3d/core/proto/MaterialObject3D.html

this is the object that all materials extend (movieclips, bitmaps, videos, shaders)

example var MM:MovieClipMaterial = new MovieClipMaterail(new MovieClip());



//______________________________________________EXAMPLES

-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....)

//______________________________________________QUESTIONS
ask questions, yo-

//______________________________________________FURTHER RESOURCES

blog.papervision3d.org
pv3d.org
mailing list
zupko.info
flashbookmarks.com
seb's site


//______________________________________________GIVE_AWAY_QUESTIONS!!!
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?