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
    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. Light Ramps
      13. Auxiliary Bitplane Control
      14. 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. Transparency and Blending
      21. Texture Management
      22. 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. Introducing Graphics Classes
      2. The Graphics Pipe
      3. Creating Windows and Buffers
      4. Display Regions
      5. Clearing Display Regions
      6. The 2D Display Region
        1. The Graphics Engine
        2. The GraphicsOutput class
        3. Graphics Buffers and Windows
        4. Multi-Pass Rendering
        5. 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. Hardware support
      1. Keyboard Support
      2. Mouse Support
      3. Joystick Support
      4. VR Helmets and Trackers
    24. Math Engine
      1. Matrix Representation
    25. 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
    26. Motion Paths
    27. Timing
      1. The Global Clock
    28. Networking
      1. Datagram Protocol
        1. Client-Server Connection
        2. Transmitting Data
      2. Downloading a File
      3. Distributed Networking
          DC File
    29. Multifiles
      1. Creating Multifiles
      2. Patching
      3. Loading resources from nonstandard sources
    30. File Reading
    31. Threading
    32. Subclassing
    33. Table of features supported per graphic renderer
    34. 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: Fireflies
    9. Sample Programs: Fractal Plants
    10. Sample Programs: Glow Filter
    11. Sample Programs: Infinite Tunnel
    12. Sample Programs: Looking and Gripping
    13. Sample Programs: Media Player
    14. Sample Programs: Motion Trails
    15. Sample Programs: Music Box
    16. Sample Programs: Normal Mapping
    17. Sample Programs: Particles
    18. Sample Programs: Procedural Cube
    19. Sample Programs: Roaming Ralph
    20. Sample Programs: Shadows
    21. Sample Programs: Solar System
    22. Sample Programs: Teapot on TV
    23. Sample Programs: Texture Swapping
  5. Debugging
    1. Log Messages
    2. The Python Debugger
    3. Running Panda3D under the C++ 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 C++
    1. How to compile a C++ Panda3D program
      1. How to build a C++ Panda3D game using Microsoft Visual Studio 2008
      2. How to compile a C++ Panda3D program on Linux
      3. How to compile a C++ Panda3D program on Mac OS X
    2. The Window Framework
    3. Texturing in C++
    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