Book Image

Papervision3D Essentials

Book Image

Papervision3D Essentials

Overview of this book

Papervision3D is a powerful real-time 3D engine for Flash. Papervision3D can take externally created 3D models and render them as Flash content, without requiring end-users to download or install an additional plug-in. It has an outstanding reputation within the Flash community and its ease of use has even impressed experienced 3D game developers. However, getting started with Papervision3D can be daunting and mastering it can be challenging. This book guides you through the easiest way to tackle challenges that you may normally face with Papervision3D and master them effectively. The book will show you how to build Papervision3D applications from scratch in the easiest way, providing plenty of examples that make sense even if you're not a Flash expert. Papervision3D Essentials serves as a comprehensive guide to getting you started, as well as being an invaluable reference for every Papervision3D user and developer. By the end of this book you will be able to create your own projects with real-time 3D rendering. Since the first release of Papervision3D in 2007, the authors have been involved in various commercial projects with Papervision3D, building up a deep understanding of the engine. In Papervision3D Essentials, the authors share their knowledge to help you create stunning 3D content in Flash and teach you how to work with one of the most exciting open-source Flash projects around. Papervision3D Essentials shows you how to download Papervsion3D and make it work in Flash, Flash Builder and Flex Builder. It provides a short introduction to Object Oriented Programming and classes for those who are new to non-timeline programming. Then, it takes a closer look at the engine, discussing a broad range of topics from how to work with built-in 3D objects to using and animating cameras, 3D objects, and light. Applying materials and textures, using filters and effects, particles and performance optimizations are also covered. Ultimately, this book will provide you with the information you need to build your first Papervision3D application. Covering the basics, but by no means limited to beginners, Papervision3D Essentials provides a thorough explanation of the engine and numerous tips and tricks, making it a valuable resource for every Papervision3D user.
Table of Contents (18 chapters)
Papervision3D Essentials
Credits
About the Authors
About the Reviewers
Preface

Gouraud shading


Gouraud shading is a more advanced shading technique compared to flat shading. Instead of using a single color fill on each triangle, the Gouraud shader draws a gradient on each triangle. The colors of the gradient are determined by the ambient color and a calculated color per vertex normal. These can then be interpolated by drawing a gradient.

Determining the color per vertex normal is similar to calculating the color of each triangle using flat shading. Gouraud shading calculates the angle between a vertex normal and a light source.

Because there are more vertex normals than triangle normals to be calculated and drawing a gradient is more CPU intensive than drawing a regular fill, this shader is a bit heavier on the CPU than flat shading.

Have a look at the following three spheres. The sphere on the left uses a flat shader. The sphere in the middle shows eight vertices that form six triangles. Based on the calculated color value of each vertex and the ambient color, a...