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