Panda3d Manual

Panda3d Manual

Panda3D Manual Panda3D Manual: Main Page Table of Contents I. Introduction to Panda II. Installing Panda III. Panda Bootstrap IV. Introductory Tutorials A. A Panda "Hello World" 1. Starting Panda3D 2. Loading the Grassy Scenery 3. Controlling the Camera 4. Loading and Animating the Panda Model 5. Using Intervals to move the Panda V. Programming with Panda A. The Scene Graph 1. Scene Graph Manipulations 2. Common State Changes 3. Manipulating a Piece of a Model 4. Searching the Scene Graph 5. Render Attributes 6. Instancing B. Panda Filename Syntax C. The Configuration File 1. Accessing Config Vars in a Program D. Actors and Characters 1. Loading Actors and Animations 2. Actor Animations 3. Attaching an Object to a Joint 4. Controlling a Joint Procedurally E. Camera Control 1. The Default Camera Driver 2. Lenses and Field of View 3. Orthographic Lenses F. Sound 1. Loading and Playing Sounds and Music 2. Manipulating Sounds 3. DSP Effects 4. 3DAudio 5. Multi-Channel G. Intervals 1. Lerp Intervals 2. Function Intervals 3. Actor Intervals file:///E|/manual/index.html (1 of 5)2006/11/21 ¤U¤È 06:00:23 Panda3D Manual 4. Sound Intervals 5. Motion Path and Particle Intervals 6. Sequences and Parallels 7. Projectile Intervals H. Tasks and Event Handling 1. Tasks 2. Event Handlers 3. Main Loop I. Fog and Lighting 1. Fog 2. Lighting 3. Example J. Text Rendering 1. Text Fonts 2. Text Node 3. OnscreenText 4. Embedded Text Properties K. DirectGUI 1. DirectButton 2. DirectCheckButton 3. DirectDialog 4. DirectEntry 5. DirectFrame 6. DirectLabel 7. DirectOptionMenu 8. DirectScrolledList 9. DirectWaitBar 10. DirectSlider 11. DirectScrollBar 12. DirectScrolledFrame L. Render Effects 1. Compass Effects 2. Billboard Effects M. Texturing 1. Simple Texturing 2. Choosing a Texture Size 3. Texture Wrap Modes 4. Texture Filter Types 5. Simple Texture Replacement 6. Multitexture Introduction 7. Texture Blend Modes 8. Texture Order 9. Texture Combine Modes 10. Texture Transforms 11. Multiple Texture Coordinate Sets 12. Automatic Texture Coordinates 13. Projected Textures 14. Simple Environment Mapping file:///E|/manual/index.html (2 of 5)2006/11/21 ¤U¤È 06:00:23 Panda3D Manual 15. 3-D Textures 16. Cube Maps 17. Environment Mapping with Cube Maps 18. Dynamic Cube Maps 19. Automatic Texture Animation 20. Playing MPG and AVI files 21. Transparency and Blending N. Pixel and Vertex Shaders 1. Shader Basics 2. List of Possible Shader Inputs 3. Shaders and Coordinate Spaces 4. Known Shader Bugs and Limitations O. Finite State Machines 1. FSM Introduction 2. Simple FSM Usage 3. FSM with input 4. Advanced FSM Tidbits P. Advanced operations with Panda's internal structures 1. How Panda3D Stores Vertices and Geometry a. GeomVertexData b. GeomVertexFormat c. GeomPrimitive d. Geom e. GeomNode 2. Procedurally Generating 3D Models a. Defining your own GeomVertexFormat b. Pre-defined vertex formats c. Creating and filling a GeomVertexData d. Creating the GeomPrimitive objects e. Putting your new geometry in the scene graph 3. Other Vertex and Model Manipulation a. Reading existing geometry data b. Modifying existing geometry data c. More about GeomVertexReader, GeomVertexWriter, and GeomVertexRewriter d. Creating New Textures from Scratch e. Writing 3D Models out to Disk f. Generating Heightfield Terrain Q. Panda Rendering Process 1. The Graphics Pipe 2. The Graphics Engine 3. The GraphicsOutput class 4. Graphics Buffers and Windows 5. Multi-Pass Rendering 6. Render to Texture 7. How to Control Render Order R. Panda Utility Functions S. Particle Effects file:///E|/manual/index.html (3 of 5)2006/11/21 ¤U¤È 06:00:23 Panda3D Manual 1. Using the Particle Panel 2. Particle Effect Basic Parameters 3. Particle Factories 4. Particle Emitters 5. Particle Renderers T. Collision Detection 1. Collision Solids 2. Collision Handlers 3. Collision Entries 4. Collision Traversers 5. Collision Bitmasks 6. Rapidly-Moving Objects 7. Pusher Example 8. Event Example 9. Bitmask Example 10. Clicking on 3D Objects 11. Example for Clicking on 3D Objects U. Hardware support 1. Keyboard Support 2. Mouse Support 3. Joystick Support 4. VR Helmets and Trackers 5. Jam-O-Drum V. Math Engine 1. Matrix Representation W. Physics Engine 1. Enabling physics on a node 2. Applying physics to a node 3. Types of forces 4. Notes and caveats X. Motion Paths Y. Timing 1. The Global Clock Z. Networking 1. Datagram Protocol a. Client-Server Connection b. Transmitting Data VI. Debugging and Performance Tuning A. The Python Debugger B. Running Panda under the CXX Debugger C. Log Messages D. Measuring Performance with PStats E. Graphics Card Performance VII. Panda Tools A. The Scene Graph Browser 1. Enhanced Mouse Navigation B. The Scene Editor C. Python Editors file:///E|/manual/index.html (4 of 5)2006/11/21 ¤U¤È 06:00:23 Panda3D Manual 1. SPE D. Pipeline Tips E. Model Export 1. Converting from 3D Studio Max 2. Converting from Maya 3. Converting from Blender 4. Converting from SoftImage 5. Converting from Milkshape 3D 6. Converting from GMax 7. Converting from other Formats 8. Converting Egg to Bam 9. Parsing and Generating Egg Files F. Previewing 3D Models in Pview G. Building a Self-Extracting EXE using packpanda VIII. Building Panda from Source A. Troubleshooting ppremake on Windows B. Troubleshooting ppremake on Linux C. Troubleshooting makepanda on Windows D. Troubleshooting makepanda on Linux IX. Video Lectures A. Disney Video Lectures B. Scene Editor Lectures C. Panda 3D Video Tutorial Series X. API Reference Materials XI. List of Panda Executables XII. More Panda Resources XIII. FAQ XIV. Examples Contributed by the Community XV. Start Guide For The Absolute Beginner file:///E|/manual/index.html (5 of 5)2006/11/21 ¤U¤È 06:00:23 Panda3D Manual Panda3D Manual: Introduction to Panda <<prev top next>> Panda3D is a 3D engine: a library of subroutines for 3D rendering and game development. The library is C++ with a set of Python bindings. Game development with Panda3D usually consists of writing a Python program that controls the Panda3D library. Panda3D is unusual in that its design emphasis is on supporting a short learning curve and rapid development. It is ideal whenever deadlines are tight and turnaround time is of the essence. For example, in a class called Building Virtual Worlds at the Entertainment Technology Center, interdisciplinary groups of four students are asked to create virtual worlds in two weeks each. Screenshots of their projects are visible throughout this site. Panda3D is what makes this rapid turnaround possible. Panda3D was developed by Disney for their massively multiplayer online game, Toontown. It was released as free software in 2002. Panda3D is now developed jointly by Disney and Carnegie Mellon University's Entertainment Technology Center. Panda3D's Free Software License Panda3D has a very simple License, which classifies as a free software license. That means that with few restrictions, anyone is free to download and use Panda3D at will: for commercial purposes, for teaching, or most any other use. Also importantly, anyone may view, use, and alter the source code. This allows for a strong community to work together to improve the engine. Who is Working on Panda3D There are a number of developers in the commercial and open-source community. Currently, the two most active members of the development community are Disney and the Entertainment Technology Center at Carnegie Mellon. Because both organizations have specific goals, Panda3D must necessarily serve both: ● Disney's primary interest in Panda3D is commercial. Panda3D is being used in the development of a number of Disney games and amusement-park exhibits. To serve Disney's needs, Panda3D must be a fully-featured engine, capable of all the performance and quality one expects in any 'A-grade' commercial title. ● The Entertainment Technology Center's primary goal is education. To serve the Entertainment Technology Center's needs, Panda3D must be well-suited for use in student projects. Since students have a unique talent for causing crashes, bulletproof reliability is needed. Since projects only last one semester, the learning curve must be very short, and prototyping must be very rapid. As it turns out, the two sets of goals are complementary. The rapid development and high reliability needed by the Entertainment Technology Center are also highly advantageous in a game-development studio, since they lower development time and costs. The good visual file:///E|/manual/Introduction_to_Panda.1.html (1 of 2)2006/11/21 ¤U¤È 06:00:25 Panda3D Manual quality and full feature set needed by Disney to make a professional-quality game also turn out to be useful in a university setting: with a broad range of features at their disposal, students can explore their creativity more fully than they could with a more limited engine. <<prev top next>> file:///E|/manual/Introduction_to_Panda.1.html (2 of 2)2006/11/21 ¤U¤È 06:00:25 Panda3D Manual Panda3D Manual: Installing Panda <<prev top next>> Panda3D comes as one file that includes everything that is needed to create and run Panda3D applications. The tutorial, examples, models, and animations can be found in subdirectories after the installation of Panda3D. For panda programming practice, many Creative Commons Licensed egg files of models, animations, and materials, all in many .zip files are available in the 3D Model Archive: 3D Models The Installation Process - Windows If you have already installed panda previously, you should uninstall it before installing a new version. Your next step is to download the "Windows Installer" from the download page. Run the installer, and follow the prompts. Next, proceed to the "Testing the Installation" section below. The Installation Process - Linux The easiest way to install panda is to use the RPM or DEB packages. This is only possible if your version of Linux is one of the provided versions of Linux.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    494 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us