mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 16:58:40 -04:00
parent
0c0f9adab9
commit
f22c0cdd83
28
dtool/src/interrogate/README.md
Normal file
28
dtool/src/interrogate/README.md
Normal 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 Python’s ability to call C libraries, and ultimately make use of
|
||||||
|
Panda3D’s 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
5
panda/src/chan/README.md
Normal 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
3
panda/src/cull/README.md
Normal 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.
|
3
panda/src/dgraph/README.md
Normal file
3
panda/src/dgraph/README.md
Normal 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.
|
2
panda/src/display/README.md
Normal file
2
panda/src/display/README.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
This package contains the abstract display classes, including pipes,
|
||||||
|
windows, channels, and display regions.
|
2
panda/src/dxgsg9/README.md
Normal file
2
panda/src/dxgsg9/README.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
This package handles all communication with the DirectX backend, and
|
||||||
|
manages state to minimize redundant state changes.
|
Loading…
x
Reference in New Issue
Block a user