3
3
Introduction to Panda3D
4
4
=======================
5
5
6
- Panda3D Basics
7
- --------------
8
-
9
- Panda3D is a 3D engine: a library of subroutines for 3D rendering and game
10
- development. The library is C++ with a set of Python bindings. Game development
11
- with Panda3D usually consists of writing a Python or C++ program that controls
12
- the Panda3D library.
6
+ Why Panda3D?
7
+ ------------
13
8
14
9
Panda3D was created for commercial game development and is still used for
15
10
developing commercial games. Because of this, the engine needs to emphasize four
16
- areas: power, speed, completeness, and error tolerance. Everyone knows what
17
- power and speed are. But completeness and error tolerance deserve some extra
18
- commentary.
11
+ areas: power, speed, completeness, and error tolerance.
19
12
20
13
Completeness means that Panda3D contains many unexciting but essential tools:
21
14
scene graph browsing, performance monitoring, animation optimizers, and so
@@ -27,54 +20,39 @@ mistake. Too many engines will just crash if you pass the wrong value to a
27
20
function. Panda3D almost never crashes, and much code is dedicated to the
28
21
problem of tracking and isolating errors.
29
22
30
- Finally, to come back to power and speed: to gauge Panda3D's capabilities you
31
- can take a look at the :ref: `Sample Programs <samples >`. These are short
32
- programs that demonstrate a sampling of Panda3D's capabilities. The screenshots
33
- have frame-rates in the upper-right corner, taken on a Radeon X700. Note that
34
- some samples are old and use placeholder art and so are not great examples of
35
- Panda3D's visual capabilities.
23
+ Finally, to come back to power and speed: Panda3D is very powerful because it
24
+ let's you structure your project in the way you want and imposes very few design
25
+ choices on you. As for speed Panda3D is very lightweight in both download
26
+ size and system requirements. It doesn't even need a GPU to render.
27
+
28
+ Samples
29
+ ------
30
+ You can view Panda3D's samples here: :ref: `Sample Programs <samples >`.
31
+
32
+ History
33
+ -------
36
34
37
35
Panda3D was developed by Disney for their massively multiplayer online game,
38
36
Toontown Online. It was released as free software in 2002. Carnegie Mellon
39
37
University's Entertainment Technology Center, which currently hosts the website
40
38
and other Panda3D services, was actively involved in the development of Panda3D
41
- into an open source project. It is now developed jointly by Disney and
42
- contributors from around the world.
39
+ into an open source project.
43
40
44
- You can read more about Panda3D's :ref: `features `.
41
+ Who is Working on Panda3D
42
+ -------------------------
43
+
44
+ There are a number of developers in the commercial and open-source community.
45
+ Currently, besides the active contributions from the open-source community, the
46
+ most active member of the development community is Disney. Disney's primary
47
+ interest in Panda3D is commercial. Panda3D is being used in the development of a
48
+ number of Disney games and amusement-park exhibits. To serve Disney's needs,
49
+ Panda3D must be a fully-featured engine, capable of all the performance and
50
+ quality one expects in any 'A-grade' commercial title.
45
51
46
- Panda3D is not a Beginner's Tool or a Toy
47
- -----------------------------------------
48
-
49
- To successfully use Panda3D, you must be a skilled programmer. If you do not
50
- know what an "API" is, or if you don't know what a "tree" is, you will probably
51
- find Panda3D overwhelming. This is no point-and-click game-maker: this is a tool
52
- for professionals. While it is important to point that out so you have accurate
53
- expectations, it's also relevant to be aware that Panda3D is one of the easiest
54
- and most powerful engines you will ever use, and we welcome your participation.
55
-
56
- If you are just getting started with programming, we suggest that your best
57
- option is to start with a class on programming. Alternately, you could try
58
- teaching yourself using a training tool like `Alice <https://www.alice.org >`__,
59
- from CMU.
60
-
61
- Panda3D supports the full range of what modern engines should: it provides
62
- convenient support for normal mapping, gloss mapping, HDR, cartoon shading and
63
- inking, bloom, and a number of other things. It also allows you to write your
64
- own shaders.
65
-
66
- People sometimes have the mistaken impression that Panda3D is written in Python,
67
- which would make it very slow. But Panda3D is not written in Python; it's
68
- written in C++. Python is just used for scripting. Developers usually write the
69
- performance-intensive bits, if any, in C++ or something similar
70
- `Cython <https://www.panda3d.org/blog/panda3d-and-cython/ >`__. To see what kind
71
- of framerate a small Panda3D program typically gets, take a look at the
72
- screenshots of the :ref: `Sample Programs <samples >`. Those were taken using an
73
- old Radeon x700. Of course, only a sample program can run at 400 fps like that,
74
- but for a real game, 60 fps is quite attainable. One caveat, though: to get that
75
- kind of performance, you need to understand 3D cards and 3D performance
76
- optimization. It doesn't happen automatically. Panda3D includes profiling tools
77
- you need to hit 60 fps.
52
+ The most supported language is Python. Though you can use C++ too, the
53
+ documentation is mostly aimed at Python use.
54
+
55
+ You can read more about Panda3D's :ref: `features `.
78
56
79
57
Panda3D's Software License
80
58
--------------------------
@@ -95,19 +73,6 @@ also comes with OpenAL which you can use instead of FMOD.
95
73
96
74
You can read `Panda3D's License <https://www.panda3d.org/license/ >`__.
97
75
98
- Who is Working on Panda3D
99
- -------------------------
100
-
101
- There are a number of developers in the commercial and open-source community.
102
- Currently, besides the active contributions from the open-source community, the
103
- most active member of the development community is Disney. Disney's primary
104
- interest in Panda3D is commercial. Panda3D is being used in the development of a
105
- number of Disney games and amusement-park exhibits. To serve Disney's needs,
106
- Panda3D must be a fully-featured engine, capable of all the performance and
107
- quality one expects in any 'A-grade' commercial title.
108
-
109
- The most supported language is Python. Though you can use C++ too, the
110
- documentation is mostly aimed at Python use.
111
76
112
77
The Introductory Chapter
113
78
------------------------
0 commit comments