Panda3D Manual: Main Page

Table of Contents

  1. Introduction to Panda3D
    1. Installing Panda3D in Windows
    2. Installing Panda3D in Linux
    3. General Preparation
    4. Running your Program
    5. A Panda3D Hello World Tutorial
      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
      6. Tutorial End
    6. User Contributed Tutorials and Examples
    7. Video Tutorials
  2. Programming with Panda3D
    1. ShowBase
    2. The Scene Graph
      1. Scene Graph Manipulations
      2. Common State Changes
      3. Manipulating a Piece of a Model
      4. Searching the Scene Graph
      5. Instancing
    3. The Configuration File
      1. Configuring Panda3D
      2. List of All Config Variables
      3. Accessing Config Vars in a Program
    4. Models and Actors
      1. Loading Models
      2. Loading Actors and Animations
      3. Actor Animations
      4. Multi-Part Actors
      5. Attaching an Object to a Joint
      6. Controlling a Joint Procedurally
      7. Level of Detail
    5. Render Attributes
      1. List of All Attributes
      2. Lighting
      3. Materials
      4. Depth Test and Depth Write
      5. Fog
      6. Alpha Testing
      7. Color Write Masks
      8. Antialiasing
      9. Clip Planes
      10. Tinting and Recoloring
      11. Backface Culling and Frontface Culling
      12. Occlusion Culling
        1. Polygon Occluder Culling
        2. Portal Culling
      13. Light Ramps
      14. Auxiliary Bitplane Control
      15. Stencil Test/Write Attribute
    6. 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 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
      15. 3-D Textures
      16. Cube Maps
      17. Environment Mapping with Cube Maps
      18. Automatic Texture Animation
      19. Playing MPG and AVI files
      20. Stereo/Multiview Textures
      21. Transparency and Blending
      22. Texture Management
      23. Texture Compression
    7. Shaders
      1. Shader Basics
      2. List of Possible Cg Shader Inputs
      3. Shaders and Coordinate Spaces
      4. Known Shader Bugs and Limitations
      5. The Shader Generator
      6. Cg Shader Tutorial
        1. Cg Tutorial Part 1
        2. Cg Tutorial Part 2
    8. Camera Control
      1. The Default Camera Driver
      2. Lenses and Field of View
      3. Orthographic Lenses
    9. Sound
      1. Loading and Playing Sounds and Music
      2. Manipulating Sounds
      3. Audio Managers
      4. DSP Effects
      5. 3D Audio
      6. Multi-Channel
    10. Intervals
      1. Lerp Intervals
      2. Function Intervals
      3. Actor Intervals
      4. Sound Intervals
      5. Motion Path and Particle Intervals
      6. Sequences and Parallels
      7. Position, Rotation and Scale Intervals
      8. Projectile Intervals
    11. Tasks and Event Handling
      1. Tasks
      2. Task Chains
      3. Event Handlers
      4. Main Loop
    12. Text and Image Rendering
      1. Text Fonts
      2. Text Node
      3. OnscreenText
      4. OnscreenImage
      5. Embedded Text Properties
    13. DirectGUI
      1. DirectButton
      2. DirectCheckButton
      3. DirectRadioButton
      4. DirectDialog
      5. DirectEntry
      6. DirectFrame
      7. DirectLabel
      8. DirectOptionMenu
      9. DirectScrolledList
      10. DirectWaitBar
      11. DirectSlider
      12. DirectScrollBar
      13. DirectScrolledFrame
    14. Render Effects
      1. Compass Effects
      2. Billboard Effects
    15. Finite State Machines
      1. FSM Introduction
      2. Simple FSM Usage
      3. FSM with input
      4. Advanced FSM Tidbits
    16. Terrain
      1. The Heightfield Tesselator
      2. Geometrical MipMapping
    17. Advanced operations with Panda3D's internal structures
      1. How Panda3D Stores Vertices and Geometry
        1. GeomVertexData
        2. GeomVertexFormat
        3. GeomPrimitive
        4. Geom
        5. GeomNode
        6. BoundingVolume
      2. Procedurally Generating 3D Models
        1. Defining your own GeomVertexFormat
        2. Pre-defined vertex formats
        3. Creating and filling a GeomVertexData
        4. Creating the GeomPrimitive objects
        5. Putting your new geometry in the scene graph
      3. Other Vertex and Model Manipulation
        1. Reading existing geometry data
        2. Modifying existing geometry data
        3. MeshDrawer
        4. More about GeomVertexReader, GeomVertexWriter, and GeomVertexRewriter
        5. Creating New Textures from Scratch
        6. Writing 3D Models out to Disk
    18. Render-to-Texture and Image Postprocessing
      1. Common Image Filters
      2. Generalized Image Filters
      3. Dynamic Cube Maps
      4. Low-Level Render to Texture
    19. Panda3D Rendering Process
      1. Multithreaded Render Pipeline
      2. Introducing Graphics Classes
      3. The Graphics Pipe
      4. Creating Windows and Buffers
      5. Display Regions
      6. Creating New MouseWatchers for Display Regions
      7. Clearing Display Regions
      8. The 2D Display Region
      9. Stereo Display Regions
      10. Multi-Pass Rendering
      11. How to Control Render Order
    20. Panda3D Utility Functions
    21. Particle Effects
      1. Using the Particle Panel
      2. Loading Particle Systems
      3. Particle Effect Basic Parameters
      4. Particle Factories
      5. Particle Emitters
      6. Particle Renderers
    22. 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
    23. Garbage Collection
      1. Removing Custom Class Instances
    24. Hardware support
      1. Keyboard Support
      2. Mouse Support
      3. Joystick Support
      4. VR Helmets and Trackers
    25. Math Engine
      1. Matrix Representation
    26. Physics
      1. Panda3D Physics Engine
        1. Enabling physics on a node
        2. Applying physics to a node
        3. Types of forces
        4. Notes and caveats
      2. Using ODE with Panda3D
        1. Worlds, Bodies and Masses
        2. Simulating the Physics World
        3. Attaching Bodies using Joints
        4. Collision Detection with ODE
      3. Using Bullet with Panda3D
        1. Bullet Hello World
        2. Bullet Debug Renderer
        3. Bullet Collision Shapes
        4. Bullet Collision Filtering
        5. Bullet Continuous Collision Detection
        6. Bullet Queries
        7. Bullet Ghosts
        8. Bullet Character Controller
        9. Bullet Constraints
        10. Bullet Vehicles
        11. Bullet Softbodies
        12. Bullet Softbody Rope
        13. Bullet Softbody Patch
        14. Bullet Softbody Triangles
        15. Bullet Softbody Tetrahedron
        16. Bullet Softbody Config
        17. Bullet Config Options
        18. Bullet FAQ
        19. Bullet Samples
    27. Motion Paths
    28. Timing
      1. The Global Clock
    29. Networking
      1. Datagram Protocol
        1. Client-Server Connection
        2. Transmitting Data
      2. Downloading a File
      3. Distributed Networking
          DC File
    30. Multifiles
      1. Creating Multifiles
      2. Patching
      3. Loading resources from nonstandard sources
    31. File Reading
    32. Threading
    33. Subclassing
    34. Table of features supported per graphic renderer
    35. Artificial Intelligence (PANDAI)
      1. Getting Started
      2. Steering Behaviors
        1. Seek
        2. Flee
        3. Pursue
        4. Evade
        5. Wander
        6. Flock
        7. Obstacle Avoidance
        8. Path Follow
      3. Pathfinding
        1. Mesh Generation
        2. Static Obstacles
        3. Dynamic Obstacles
        4. Uneven Terrain
      4. Source Codes
  3. Distributing Panda3D Applications
    1. Introduction to p3d files
      1. Using packp3d
      2. Referencing packages
      3. Running p3d files
    2. Distributing via the web
      1. Embedding with an object element
      2. Embedding with RunPanda3D
      3. About certificates
        1. Public key, private key
        2. Self-signed certificates
        3. HTTPS (Apache) certificates
        4. Email certificates
      4. Signing your p3d files
    3. P3D file config settings
    4. Distributing as a self-contained installer
    5. The runtime Panda3D directory
    6. The package system
      1. Standard packages
      2. Installing packages
      3. More about referencing packages
      4. Building and hosting your own packages
        1. Using ppackage
        2. The pdef syntax
        3. Creating multiple packages
        4. Hosting packages
        5. SSL hosting
        6. Building multiplatform packages
        7. Building patches
    7. Advanced scripting techniques
      1. DetectPanda3D.js
      2. Advanced object tags
      3. Splash window tags
      4. Plugin notify callbacks
      5. AppRunner
        1. The appRunner.main object
        2. The appRunner.dom object
        3. Reading the HTML tokens
        4. Other appRunner members
      6. P3D origin security
      7. PackageInstaller
  4. Sample Programs in the Distribution
    1. Sample Programs: Asteroids
    2. Sample Programs: Ball in Maze
    3. Sample Programs: Boxing Robots
    4. Sample Programs: Carousel
    5. Sample Programs: Cartoon Shader
    6. Sample Programs: Chessboard
    7. Sample Programs: Disco Lights
    8. Sample Programs: Distortion
    9. Sample Programs: Fireflies
    10. Sample Programs: Fractal Plants
    11. Sample Programs: Glow Filter
    12. Sample Programs: Infinite Tunnel
    13. Sample Programs: Looking and Gripping
    14. Sample Programs: Media Player
    15. Sample Programs: Motion Trails
    16. Sample Programs: Music Box
    17. Sample Programs: Normal Mapping
    18. Sample Programs: Particles
    19. Sample Programs: Procedural Cube
    20. Sample Programs: Roaming Ralph
    21. Sample Programs: Shadows
    22. Sample Programs: Solar System
    23. Sample Programs: Teapot on TV
    24. Sample Programs: Texture Swapping
  5. Debugging
    1. Log Messages
    2. The Python Debugger
    3. Running Panda3D under the CXX Debugger
  6. Performance Tuning
    1. Basic Performance Diagnostics
    2. Measuring Performance with PStats
    3. The Rigid Body Combiner
    4. Performance Issue: Too Many Meshes
    5. Performance Issue: Too Many State Changes
    6. Performance Issue: Too Many Text Updates
    7. Performance Issue: Too Many Shader Instructions
    8. Performance Issue: Excessive Fill
    9. Performance Issue: Memory Full
    10. Performance Issue: Python Calculation
    11. Performance Issue: Failure to Garbage Collect
    12. Performance Issue: Collision System Misuse
    13. Performance Issue: Motherboard Integrated Video
    14. Performance Issue: Too Many Polygons
    15. Performance Issue: Miscellaneous
  7. Using CXX
    1. How to compile a CXX Panda3D program
      1. How to build a CXX Panda3D game using Microsoft Visual Studio 2008
      2. How to compile a CXX Panda3D program on Linux
      3. How to compile a CXX Panda3D program on Mac OS X
    2. The Window Framework
    3. Texturing in CXX
    4. Reference Counting
  8. Panda3D Tools
    1. The Scene Graph Browser
      1. Enhanced Mouse Navigation
    2. Interrogate
    3. Python Editors
      1. SPE
    4. Pipeline Tips
    5. 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
      10. Egg Syntax
    6. Previewing 3D Models in Pview
    7. Building an installer using packpanda
    8. The Scene Editor
      1. Scene Editor Lectures
  9. Building Panda3D from Source
    1. Troubleshooting ppremake on Windows
    2. Troubleshooting ppremake on Linux
    3. Troubleshooting makepanda on Windows
    4. Troubleshooting makepanda on Linux
    5. Tutorial: Compiling the Panda3D Source on Windows