Panda3D Manual: Main Page
Table of Contents
Introduction to Panda
Installing Panda in Windows
Installing Panda in Linux
General Preparation
How to use a Python Editor
A Panda "Hello World" using Python
Starting Panda3D
Loading the Grassy Scenery
Controlling the Camera
Loading and Animating the Panda Model
Using Intervals to move the Panda
A Panda "Hello World" using CXX
Starting Panda3D (CXX)
Loading the Grassy Scenery (CXX)
Controlling the Camera (CXX)
Loading and Animating the Panda Model (CXX)
Using Intervals to move the Panda (CXX)
User Contributed Tutorials and Examples
Video Tutorials
User Contributed Video Tutorials
Disney Video Lectures
Programming with Panda
The Scene Graph
Scene Graph Manipulations
Common State Changes
Manipulating a Piece of a Model
Searching the Scene Graph
Instancing
The Configuration File
Configuring Panda
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 and Optimizations
Pixel and Vertex Shaders
Shader Basics
List of Possible Shader Inputs
Shaders and Coordinate Spaces
Known Shader Bugs and Limitations
The Shader Generator
Camera Control
The Default Camera Driver
Lenses and Field of View
Orthographic Lenses
Sound
Loading and Playing Sounds and Music
Manipulating Sounds
DSP Effects
3DAudio
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
Event Handlers
Main Loop
Text and Image Rendering
Text Fonts
Text Node
OnscreenText
OnscreenImage
Embedded Text Properties
DirectGUI
DirectButton
DirectCheckButton
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 Panda's internal structures
How Panda3D Stores Vertices and Geometry
GeomVertexData
GeomVertexFormat
GeomPrimitive
Geom
GeomNode
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
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
Panda Rendering Process
The Graphics Pipe
The Graphics Engine
The GraphicsOutput class
Graphics Buffers and Windows
Multi-Pass Rendering
How to Control Render Order
Panda 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 Engine
Enabling physics on a node
Applying physics to a node
Types of forces
Notes and caveats
Motion Paths
Timing
The Global Clock
Networking
Datagram Protocol
Client-Server Connection
Transmitting Data
Multifiles
Creating Multifiles
Patching
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 Panda under the CXX Debugger
Performance Tuning
Basic Performance Diagnostics
Measuring Performance with PStats
Performance Issue: Too Many Meshes
Performance Issue: Too Many State Changes
Performance Issue: Too Many Pixel 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 CXX
How to compile a CXX Panda3D program
How to compile a CXX Panda3D program on Linux
The Window Framework
Texturing in CXX
Reference Counting
Panda Tools
Interrogate
The Scene Graph Browser
Enhanced Mouse Navigation
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 a Self-Extracting EXE using packpanda
Building Panda from Source
Troubleshooting ppremake on Windows
Troubleshooting ppremake on Linux
Troubleshooting makepanda on Windows
Troubleshooting makepanda on Linux
Tutorial: Compiling the Panda 3D Source on Windows
List of Panda Executables
More Panda Resources
Project Hosting
The IRC Channel
FAQ
Class Reference