Panda3D Manual: Main Page
Table of Contents
Introduction to Panda3D
Installing Panda3D in Windows
Installing Panda3D in Linux
General Preparation
Running your Program
A Panda3D Hello World Tutorial
Starting Panda3D
Loading the Grassy Scenery
Controlling the Camera
Loading and Animating the Panda Model
Using Intervals to move the Panda
Tutorial End
User Contributed Tutorials and Examples
Video Tutorials
Programming with Panda3D
ShowBase
The Scene Graph
Scene Graph Manipulations
Common State Changes
Manipulating a Piece of a Model
Searching the Scene Graph
Instancing
The Configuration File
Configuring Panda3D
List of All Config Variables
Accessing Config Vars in a Program
Models and Actors
Loading Models
Loading Actors and Animations
Actor Animations
Multi-Part Actors
Attaching an Object to a Joint
Controlling a Joint Procedurally
Render Attributes
List of All Attributes
Lighting
Materials
Depth Test and Depth Write
Fog
Alpha Testing
Color Write Masks
Antialiasing
Clip Planes
Tinting and Recoloring
Backface Culling and Frontface Culling
Light Ramps
Auxiliary Bitplane Control
Stencil Test/Write Attribute
Texturing
Simple Texturing
Choosing a Texture Size
Texture Wrap Modes
Texture Filter Types
Simple Texture Replacement
Multitexture Introduction
Texture Modes
Texture Order
Texture Combine Modes
Texture Transforms
Multiple Texture Coordinate Sets
Automatic Texture Coordinates
Projected Textures
Simple Environment Mapping
3-D Textures
Cube Maps
Environment Mapping with Cube Maps
Automatic Texture Animation
Playing MPG and AVI files
Transparency and Blending
Texture Management
Texture Compression
Shaders
Shader Basics
List of Possible Cg Shader Inputs
Shaders and Coordinate Spaces
Known Shader Bugs and Limitations
The Shader Generator
Cg Shader Tutorial
Cg Tutorial Part 1
Cg Tutorial Part 2
Camera Control
The Default Camera Driver
Lenses and Field of View
Orthographic Lenses
Sound
Loading and Playing Sounds and Music
Manipulating Sounds
Audio Managers
DSP Effects
3D Audio
Multi-Channel
Intervals
Lerp Intervals
Function Intervals
Actor Intervals
Sound Intervals
Motion Path and Particle Intervals
Sequences and Parallels
Position, Rotation and Scale Intervals
Projectile Intervals
Tasks and Event Handling
Tasks
Task Chains
Event Handlers
Main Loop
Text and Image Rendering
Text Fonts
Text Node
OnscreenText
OnscreenImage
Embedded Text Properties
DirectGUI
DirectButton
DirectCheckButton
DirectRadioButton
DirectDialog
DirectEntry
DirectFrame
DirectLabel
DirectOptionMenu
DirectScrolledList
DirectWaitBar
DirectSlider
DirectScrollBar
DirectScrolledFrame
Render Effects
Compass Effects
Billboard Effects
Finite State Machines
FSM Introduction
Simple FSM Usage
FSM with input
Advanced FSM Tidbits
Terrain
The Heightfield Tesselator
Geometrical MipMapping
Advanced operations with Panda3D's internal structures
How Panda3D Stores Vertices and Geometry
GeomVertexData
GeomVertexFormat
GeomPrimitive
Geom
GeomNode
BoundingVolume
Procedurally Generating 3D Models
Defining your own GeomVertexFormat
Pre-defined vertex formats
Creating and filling a GeomVertexData
Creating the GeomPrimitive objects
Putting your new geometry in the scene graph
Other Vertex and Model Manipulation
Reading existing geometry data
Modifying existing geometry data
MeshDrawer
More about GeomVertexReader, GeomVertexWriter, and GeomVertexRewriter
Creating New Textures from Scratch
Writing 3D Models out to Disk
Render-to-Texture and Image Postprocessing
Common Image Filters
Generalized Image Filters
Dynamic Cube Maps
Low-Level Render to Texture
Panda3D Rendering Process
Introducing Graphics Classes
The Graphics Pipe
Creating Windows and Buffers
Display Regions
Clearing Display Regions
The 2D Display Region
The Graphics Engine
The GraphicsOutput class
Graphics Buffers and Windows
Multi-Pass Rendering
How to Control Render Order
Panda3D Utility Functions
Particle Effects
Using the Particle Panel
Loading Particle Systems
Particle Effect Basic Parameters
Particle Factories
Particle Emitters
Particle Renderers
Collision Detection
Collision Solids
Collision Handlers
Collision Entries
Collision Traversers
Collision Bitmasks
Rapidly-Moving Objects
Pusher Example
Event Example
Bitmask Example
Clicking on 3D Objects
Hardware support
Keyboard Support
Mouse Support
Joystick Support
VR Helmets and Trackers
Math Engine
Matrix Representation
Physics
Panda3D Physics Engine
Enabling physics on a node
Applying physics to a node
Types of forces
Notes and caveats
Using ODE with Panda3D
Worlds, Bodies and Masses
Simulating the Physics World
Attaching Bodies using Joints
Collision Detection with ODE
Motion Paths
Timing
The Global Clock
Networking
Datagram Protocol
Client-Server Connection
Transmitting Data
Downloading a File
Distributed Networking
DC File
Multifiles
Creating Multifiles
Patching
Loading resources from nonstandard sources
File Reading
Threading
Subclassing
Table of features supported per graphic renderer
Artificial Intelligence (PANDAI)
Getting Started
Steering Behaviors
Seek
Flee
Pursue
Evade
Wander
Flock
Obstacle Avoidance
Path Follow
Pathfinding
Mesh Generation
Static Obstacles
Dynamic Obstacles
Uneven Terrain
Source Codes
Distributing Panda3D Applications
Introduction to p3d files
Using packp3d
Referencing packages
Running p3d files
Distributing via the web
Embedding with an object element
Embedding with RunPanda3D
About certificates
Public key, private key
Self-signed certificates
HTTPS (Apache) certificates
Email certificates
Signing your p3d files
P3D file config settings
Distributing as a self-contained installer
The runtime Panda3D directory
The package system
Standard packages
Installing packages
More about referencing packages
Building and hosting your own packages
Using ppackage
The pdef syntax
Creating multiple packages
Hosting packages
SSL hosting
Building multiplatform packages
Building patches
Advanced scripting techniques
DetectPanda3D.js
Advanced object tags
Splash window tags
Plugin notify callbacks
AppRunner
The appRunner.main object
The appRunner.dom object
Reading the HTML tokens
Other appRunner members
P3D origin security
PackageInstaller
Sample Programs in the Distribution
Sample Programs: Asteroids
Sample Programs: Ball in Maze
Sample Programs: Boxing Robots
Sample Programs: Carousel
Sample Programs: Cartoon Shader
Sample Programs: Chessboard
Sample Programs: Disco Lights
Sample Programs: Fireflies
Sample Programs: Fractal Plants
Sample Programs: Glow Filter
Sample Programs: Infinite Tunnel
Sample Programs: Looking and Gripping
Sample Programs: Media Player
Sample Programs: Motion Trails
Sample Programs: Music Box
Sample Programs: Normal Mapping
Sample Programs: Particles
Sample Programs: Procedural Cube
Sample Programs: Roaming Ralph
Sample Programs: Shadows
Sample Programs: Solar System
Sample Programs: Teapot on TV
Sample Programs: Texture Swapping
Debugging
Log Messages
The Python Debugger
Running Panda3D under the C++ Debugger
Performance Tuning
Basic Performance Diagnostics
Measuring Performance with PStats
The Rigid Body Combiner
Performance Issue: Too Many Meshes
Performance Issue: Too Many State Changes
Performance Issue: Too Many Text Updates
Performance Issue: Too Many Shader Instructions
Performance Issue: Excessive Fill
Performance Issue: Memory Full
Performance Issue: Python Calculation
Performance Issue: Failure to Garbage Collect
Performance Issue: Collision System Misuse
Performance Issue: Motherboard Integrated Video
Performance Issue: Too Many Polygons
Performance Issue: Miscellaneous
Using C++
How to compile a C++ Panda3D program
How to build a C++ Panda3D game using Microsoft Visual Studio 2008
How to compile a C++ Panda3D program on Linux
How to compile a C++ Panda3D program on Mac OS X
The Window Framework
Texturing in C++
Reference Counting
Panda3D Tools
The Scene Graph Browser
Enhanced Mouse Navigation
Interrogate
Python Editors
SPE
Pipeline Tips
Model Export
Converting from 3D Studio Max
Converting from Maya
Converting from Blender
Converting from SoftImage
Converting from Milkshape 3D
Converting from GMax
Converting from other Formats
Converting Egg to Bam
Parsing and Generating Egg Files
Egg Syntax
Previewing 3D Models in Pview
Building an installer using packpanda
The Scene Editor
Scene Editor Lectures
Building Panda3D from Source
Troubleshooting ppremake on Windows
Troubleshooting ppremake on Linux
Troubleshooting makepanda on Windows
Troubleshooting makepanda on Linux
Tutorial: Compiling the Panda3D Source on Windows
Cheat Sheets
List of Panda3D Executables
Getting Started on OSX
More Panda3D Resources
License Info
Project Hosting
The IRC Channel
FAQ
© Carnegie Mellon University 2010