Add README.md files for various directories

Closes: #10
This commit is contained in:
frainfreeze 2017-10-31 19:20:24 +01:00 committed by rdb
parent 0c0f9adab9
commit f22c0cdd83
6 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,28 @@
A key advantage of Panda3D is that it provides developers with the
ability to use both C++ and Python simultaneously. Essentially, Panda3D
gives programmers the best of both worlds, as they are able to take
advantage of the high performance and low-level programming found in
C++ in addition to the flexibility, interactive scripting, and
rapid-prototyping capabilities of Python. This feature is made possible
due to Pythons ability to call C libraries, and ultimately make use of
Panda3Ds Interrogate System: an automated C++ Extension Module
generation utility similar to SWIG. Although Python is the favored
scripting language of Panda3D, the engine is highly extensible in this
aspect, as any language that has a foreign function interface can make
use of the Interrogate System.
The Interrogate System works like a compiler by scanning and parsing
C++ code for the Panda3D-specific, “PUBLISHED” keyword. This keyword
marks the particular methods of a class that are to be exposed within a
C++ Extension Module for that class which is eventually generated. One
benefit of using the “PUBLISHED” keyword is that it alleviates the need
for an interface file that provides function prototypes for the class
methods that will be exposed within the extension module, as is the
case with SWIG. Interrogate turns a class into a loose collection of
Python interface wrapper functions that make up the C++ Extension
Module.
This package depends on the 'cppparser' package, which contains the
code that parses the C++ headers, and the 'interrogatedb' package,
which contains the intermediate representation of the interfaces that
can be saved to a database file for FFI generation tools to consume.

5
panda/src/chan/README.md Normal file
View File

@ -0,0 +1,5 @@
This package contains the animation channels. This defines the various
kinds of AnimChannels that may be defined, as well as the MovingPart
class which binds to the channels and plays the animation. This is a
support library for char, as well as any other libraries that want to
define objects whose values change over time.

3
panda/src/cull/README.md Normal file
View File

@ -0,0 +1,3 @@
This package contains the Cull Traverser. The cull traversal collects
all state changes specified, and removes unnecessary state change
requests. Also does all the depth sorting for proper alphaing.

View File

@ -0,0 +1,3 @@
This package defines and manages the data graph, which is the hierarchy
of devices, tforms, and any other things which might have an input or
an output and need to execute every frame.

View File

@ -0,0 +1,2 @@
This package contains the abstract display classes, including pipes,
windows, channels, and display regions.

View File

@ -0,0 +1,2 @@
This package handles all communication with the DirectX backend, and
manages state to minimize redundant state changes.