Initial revision
This commit is contained in:
parent
5c52580edd
commit
41876b5829
|
|
@ -0,0 +1,38 @@
|
|||
// This is a sample Config.pp that you may wish to use for your own
|
||||
// needs. For a longer list of configuration variables that you may
|
||||
// set in your own Config.pp file, see dtool/Config.pp.
|
||||
|
||||
|
||||
|
||||
// What level of compiler optimization/debug symbols should we build?
|
||||
// The various optimize levels are defined as follows:
|
||||
//
|
||||
// 1 - No compiler optimizations, full debug symbols
|
||||
// 2 - Full compiler optimizations, full debug symbols
|
||||
// (if the compiler supports this)
|
||||
// 3 - Full compiler optimizations, no debug symbols
|
||||
// 4 - Full optimizations, no debug symbols, and asserts removed
|
||||
//
|
||||
// Setting this has no effect when BUILD_TYPE is "stopgap". In this
|
||||
// case, the compiler optimizations are selected by setting the
|
||||
// environment variable OPTIMIZE accordingly at compile time.
|
||||
#define OPTIMIZE 3
|
||||
|
||||
|
||||
|
||||
// If you have installed the DirectX SDK in a particular location on
|
||||
// your machine (currently, Panda requires DirectX 8.1 in order to
|
||||
// build the DirectX interfaces), then you must indicate that location
|
||||
// here. These two variables point to the include and lib
|
||||
// directories, respectively.
|
||||
|
||||
// Note the use of the Panda filename convention, with forward slashes
|
||||
// instead of backslashes, and /c/ instead of c:/ .
|
||||
#define DX_IPATH /c/DXSDK/include
|
||||
#define DX_LPATH /c/DXSDK/lib
|
||||
|
||||
// If you have some early version of the DirectX8 SDK installed, but
|
||||
// not the most recent one, you may need to turn off the DirectX build
|
||||
// altogether by uncommenting the following line. (Defining a
|
||||
// variable to an empty string means setting it false.)
|
||||
//#define HAVE_DX
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
|
||||
# The following (or similar) should go in ~/Configrc
|
||||
|
||||
# Uncomment one of the following lines to choose whether you should
|
||||
# run using OpenGL or DirectX rendering.
|
||||
|
||||
#load-display pandagl
|
||||
load-display pandadx
|
||||
|
||||
|
||||
# These control the placement and size of the default rendering window.
|
||||
win-origin-x 100
|
||||
win-origin-y 0
|
||||
win-width 800
|
||||
win-height 600
|
||||
|
||||
# Uncomment this line if you want to run Panda fullscreen instead of
|
||||
# in a window.
|
||||
#fullscreen #t
|
||||
|
||||
|
||||
# Windows ships with a software OpenGL driver; if you have not
|
||||
# installed an OpenGL driver for your graphics card you may be able to
|
||||
# run OpenGL in software only. If you don't object to running OpenGL
|
||||
# in software leave this variable set true.
|
||||
gl-allow-software-renderer #t
|
||||
|
||||
|
||||
# These control the amount of output Panda gives for some various
|
||||
# categories. The severity levels, in order, are "spam", "debug",
|
||||
# "info", "warning", and "fatal"; the default is "info". Uncomment
|
||||
# one (or define a new one for the particular category you wish to
|
||||
# change) to control this output.
|
||||
#notify-level-audio debug
|
||||
#notify-level-glgsg debug
|
||||
#notify-level-gobj warning
|
||||
|
||||
|
||||
# These specify where model files may be loaded from. You probably
|
||||
# want to set this to a sensible path for yourself. Note the use of
|
||||
# the Panda convention of forward slashes (instead of backslash)
|
||||
# separating directory names.
|
||||
model-path /i/alpha/player/install/tagmodels
|
||||
sound-path /c/ttmodels
|
||||
|
||||
# This makes the egg loader available to load egg files.
|
||||
load-file-type pandaegg
|
||||
|
||||
# If you have built pandatool, you may want to make this loader
|
||||
# available; it can load file types for which a converter has been
|
||||
# written in pandatool (for instance, MultiGen .flt, Maya, and
|
||||
# Lightwave) directly into Panda.
|
||||
# load-file-type ptloader
|
||||
|
||||
|
||||
# Turn off audio:
|
||||
audio-library-name null
|
||||
|
||||
|
||||
# This enable the automatic creation of a TK window when running
|
||||
# Direct.
|
||||
#want-directtools #t
|
||||
#want-tk #t
|
||||
|
||||
|
|
@ -0,0 +1,574 @@
|
|||
Panda3D Install
|
||||
|
||||
This document describes how to compile and install Panda 3D on a
|
||||
system for the first time. Panda is a complex project and is not
|
||||
trivial to install, although it is not really very difficult. Please
|
||||
do take the time to read this document before starting.
|
||||
|
||||
Panda is known to build successfully on Linux, SGI Irix, Windows NT
|
||||
and Windows 2000. It should also be easily portable to other
|
||||
Unix-based OpenGL systems with little or no changes (please let us
|
||||
know if you try this). When compiled by Windows NT or 2000, it will
|
||||
then run on a Windows 95 or 98 system, but we have found that Windows
|
||||
98 is not itself stable enough to compile the codebase without
|
||||
crashing.
|
||||
|
||||
Presently, Panda does not compile successfully with Microsoft Visual
|
||||
C++ version 6.0. You must install Visual C++ 7.0 (that is, Microsoft
|
||||
Visual Studio .NET) in order to compile Panda on Windows.
|
||||
|
||||
Before you begin to compile Panda, there are a number of optional
|
||||
support libraries that you may wish to install. None of these are
|
||||
essential; Panda will build successfully without them, but possibly
|
||||
without some functionality.
|
||||
|
||||
* Python. Panda is itself a C++ project, but it can generate a
|
||||
seamless Python interface layer to its C++ objects and function
|
||||
calls. Since Python is an interpreted language with a command
|
||||
prompt, this provides an excellent way to get interactive control
|
||||
over the 3-D environment. However, it is not necessary to use the
|
||||
Python interface; Panda is also perfectly useful without Python, as
|
||||
a C++ 3-D library.
|
||||
|
||||
Other scripting language interfaces are possible, too, in theory.
|
||||
Panda can generate an interface layer for itself that should be
|
||||
accessible by any scripting language that can make C function calls
|
||||
to an external library. We have used this in the past, for
|
||||
instance, to interface Panda with Squeak, an implementation of
|
||||
Smalltalk. At the present, the Python interface is the only one we
|
||||
actively maintain. We use Python 2.2; you can get Python at
|
||||
http://www.python.org .
|
||||
|
||||
* NSPR. This is the Netscape Portable Runtime library, an OS
|
||||
compatibility layer written by the folks at Mozilla for support of
|
||||
the Netscape browser on different platforms. Panda takes advantage
|
||||
of NSPR to implement threading and network communications. At the
|
||||
present, if you do not have NSPR available Panda will not be able to
|
||||
fork threads and will not provide a networking interface. Aside
|
||||
from that, the PStats analysis tools (which depend on networking)
|
||||
will not be built without NSPR. We have compiled Panda with NSPR
|
||||
version 3 and 4.0, although other versions should also work. You
|
||||
can download NSPR from http://www.mozilla.org .
|
||||
|
||||
* VRPN, the "Virtual Reality Peripheral Network," a peripheral
|
||||
interface library designed by UNC. This is particularly useful for
|
||||
interfacing Panda with external devices like trackers and joysticks;
|
||||
without it, Panda can only interface with the keyboard and mouse.
|
||||
You can find out about it at http://www.cs.unc.edu/Research/vrpn .
|
||||
|
||||
* libjpeg and libtiff. These free libraries provide support to Panda
|
||||
for reading and writing JPEG and TIFF image files, for instance for
|
||||
texture images. Even without these libraries, Panda has built-in
|
||||
support for pbm/pgm/ppm, SGI (rgb), TGA, BMP, and a few other
|
||||
assorted image types like Alias and SoftImage native formats. Most
|
||||
Linux systems come with libjpeg and libtiff already installed, and
|
||||
the version numbers of these libraries is not likely to be
|
||||
important. You can download libjpeg from the Independent JPEG group
|
||||
at http://www.ijg.org , and libtiff from SGI at
|
||||
ftp://ftp.sgi.com/graphics/tiff .
|
||||
|
||||
* Gtk--. This is a C++ graphical toolkit library, and is only used
|
||||
for one application, the PStats viewer for graphical analysis of
|
||||
real-time performance, which is part of the pandatool package.
|
||||
Gtk-- only compiles on Unix, and primarily Linux; it may be possible
|
||||
to compile it with considerable difficulty on Irix. We have used
|
||||
version 1.2.1. You can find it at http://www.gtkmm.org .
|
||||
|
||||
|
||||
PANDA'S BUILD PHILOSOPHY
|
||||
|
||||
Panda is divided into a number of separate packages, each of which
|
||||
compiles separately, and each of which generally depends on the ones
|
||||
before it. The packages are, in order:
|
||||
|
||||
dtool - this defines most of the build scripts and local
|
||||
configuration options for Panda. It also includes the program
|
||||
"interrogate," which is used to generate the Python interface, as
|
||||
well as some low-level libraries that are shared both by
|
||||
interrogate and Panda. It is a fairly small package.
|
||||
|
||||
panda - this is the bulk of the C++ Panda code. It contains the 3-D
|
||||
engine itself, as well as supporting C++ interfaces like
|
||||
networking, audio, and device interfaces. Expect this package to
|
||||
take from one to two hours to build from scratch. You must build
|
||||
and install dtool before you can build panda.
|
||||
|
||||
direct - this is the high-level Python interface to Panda. Although
|
||||
there is some additional C++ interface code here, most of the code
|
||||
in this package is Python; there is no reason to install this
|
||||
package if you are not planning on using the Python interface.
|
||||
DIRECT is an acronym, and has nothing to do with DirectX.
|
||||
You must build and install dtool and panda before you can build
|
||||
direct.
|
||||
|
||||
pandatool - this is a suite of command-line utilities, written in
|
||||
C++ using the Panda libraries, that provide useful support
|
||||
functionality for Panda as a whole, like model-conversion
|
||||
utilities. You must build and install dtool and panda before you
|
||||
can build pandatool, although it does not depend on direct.
|
||||
|
||||
In graphical form, here are packages along with a few extras:
|
||||
|
||||
+------------------------------+
|
||||
| Your Python Application Here |
|
||||
+------------------------------+
|
||||
|
|
||||
V
|
||||
+--------+ +-----------+ +---------------------------+
|
||||
| direct | | pandatool | | Your C++ Application Here |
|
||||
+--------+ +-----------+ +---------------------------+
|
||||
| | |
|
||||
+-------------+-------------------/
|
||||
V
|
||||
+-------+
|
||||
| panda |
|
||||
+-------+
|
||||
|
|
||||
V
|
||||
+-------+
|
||||
| dtool |
|
||||
+-------+
|
||||
|
||||
The arrows above show dependency.
|
||||
|
||||
|
||||
Usually, these packages will be installed as siblings of each other
|
||||
within the same directory; the build scripts expect this by default,
|
||||
although other installations are possible.
|
||||
|
||||
In order to support multiplatform builds, we do not include makefiles
|
||||
or project files with the sources. Instead, all the compilation
|
||||
relationships are defined in a series of files distributed throughout
|
||||
the source trees, one per directory, called Sources.pp.
|
||||
|
||||
A separate program, called ppremake ("Panda pre-make") reads the
|
||||
various Sources.pp files, as well as any local configuration
|
||||
definitions you have provided, and generates the actual makefiles that
|
||||
are appropriate for the current platform and configuration. It is
|
||||
somewhat akin to the idea of GNU autoconf ("configure"), although it
|
||||
is both less automatic and more general, and it supports non-Unix
|
||||
platforms easily.
|
||||
|
||||
|
||||
HOW TO CONFIGURE PANDA FOR YOUR ENVIRONMENT
|
||||
|
||||
When you run ppremake within a Panda source tree, it reads in a number
|
||||
of configure variable definitions given in the file Config.pp in the
|
||||
root of the dtool package. Many of these variables will already have
|
||||
definitions that are sensible for you; some will not. You must
|
||||
customize these variables before you run ppremake.
|
||||
|
||||
Normally, rather than modifying dtool/Config.pp directly, you would
|
||||
create your own, empty Config.pp file in a safe place (for instance,
|
||||
in your personal home directory) and define just the variables you
|
||||
need there. The definitions you give in your personal Config.pp file
|
||||
will override those in the source directory. You will need to set an
|
||||
environment variable PPREMAKE_CONFIG to the full filename path of your
|
||||
personal Config.pp (more on this in the platform-specific installation
|
||||
notes, below). It is also possible simply to modify dtool/Config.pp,
|
||||
but this is not recommended as it makes it difficult to install
|
||||
updated versions of Panda.
|
||||
|
||||
The syntax of the Config.pp file is something like a cross between the
|
||||
C preprocessor and Makefile syntax. The full syntax of ppremake
|
||||
input scripts is described in more detail in another document, but the
|
||||
most common thing you will need to do is set the value of a variable
|
||||
using the #define statement. Look in dtool/Config.pp for numerous
|
||||
examples of this.
|
||||
|
||||
Some of the variables you may define within the Config.pp file hold a
|
||||
true or a false value by nature. It is important to note that you
|
||||
indicate a variable is true by defining it to some nonempty string
|
||||
(e.g. "yes" or "1"), and false by defining it to nothing. For
|
||||
example:
|
||||
#define HAVE_DX 1
|
||||
Indicates you have the DirectX SDK installed, while
|
||||
#define HAVE_DX
|
||||
Indicates you do not. Do not be tempted to define HAVE_DX to "no" or
|
||||
"0"; since these are both nonempty strings, they are considered to
|
||||
represent "true"!
|
||||
|
||||
The comments within dtool/Config.pp describe a more complete list of
|
||||
the variables you may define. The ones that you are most likely to
|
||||
find useful are:
|
||||
|
||||
INSTALL_DIR - this is the prefix of the directory hierarchy into
|
||||
which Panda should be installed. By default, this is
|
||||
/usr/local/panda, a fine convention for Unix machines although a
|
||||
little questionable for Windows environments.
|
||||
|
||||
OPTIMIZE - define this to 1, 2, 3, or 4. This is not the same thing
|
||||
as compiler optimization level; our four levels of OPTIMIZE define
|
||||
broad combinations of compiler optimizations and debug symbols:
|
||||
|
||||
1 - No compiler optimizations, full debug symbols
|
||||
2 - Full compiler optimizations, full debug symbols
|
||||
(if the compiler supports this)
|
||||
3 - Full compiler optimizations, no debug symbols, non-debug heap
|
||||
4 - Full optimizations, no debug symbols, and asserts removed
|
||||
|
||||
Usually OPTIMIZE 2 or 3 is the most appropriate choice for
|
||||
development work.
|
||||
|
||||
PYTHON_IPATH / PYTHON_LPATH / PYTHON_LIBS - the full pathname to
|
||||
Python header files, if Python is installed on your system. As of
|
||||
Python version 2.0, compiling Python interfaces doesn't require
|
||||
linking with any special libraries, so normally PYTHON_LPATH and
|
||||
PYTHON_LIBS are left empty.
|
||||
|
||||
NSPR_IPATH / NSPR_LPATH / NSPR_LIBS - the full pathname to NSPR
|
||||
header and library files, and the name of the NSPR library, if
|
||||
NSPR is installed on your system.
|
||||
|
||||
VRPN_IPATH / VRPN_LPATH / VRPN_LIBS - the full pathname to VRPN
|
||||
header and library files, and the name of the VRPN libraries, if
|
||||
VRPN is installed on your system.
|
||||
|
||||
DX_IPATH / DX_LPATH / DX_LIBS - the full pathname to the DirectX 8.1
|
||||
SDK header and library files, if you have installed this SDK.
|
||||
(You must currently install this SDK in order to build DirectX
|
||||
support for Panda.)
|
||||
|
||||
GL_IPATH / GL_LPATH / GL_LIBS - You get the idea. (Normally, OpenGL
|
||||
is installed in the standard system directories, so you can leave
|
||||
GL_IPATH and GL_LPATH empty. But if they happen to be installed
|
||||
somewhere else on your machine, you can fill in the pathnames
|
||||
here.)
|
||||
|
||||
|
||||
|
||||
HOW TO BUILD PANDA ON A UNIX SYSTEM
|
||||
|
||||
First, make a subdirectory to hold the Panda sources. This can be
|
||||
anywhere you like; in these examples, we'll assume you build
|
||||
everything within a directory called "panda3d" in your home directory.
|
||||
|
||||
mkdir ~/panda3d
|
||||
|
||||
You must compile ppremake before you can begin to compile Panda
|
||||
itself. Generally, you do something like the following:
|
||||
|
||||
cd ~/panda3d/ppremake
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
|
||||
By default, ppremake will install itself in /usr/local/panda/bin, the
|
||||
same directory that the other Panda binaries will install themselves
|
||||
to. If you prefer, you can install it in another directory by doing
|
||||
something like this:
|
||||
|
||||
./configure --prefix=/my/install/directory
|
||||
|
||||
If you do this, you will also want to redefine INSTALL_DIR in your
|
||||
Config.pp to be the same directory (see above). Wherever you install
|
||||
it, you should make sure the bin directory is included on your search
|
||||
path, and the corresponding lib directory (e.g. /usr/local/panda/lib)
|
||||
is on your LD_LIBRARY_PATH (the following example assumes you are
|
||||
using a csh derivative):
|
||||
|
||||
set path=(/usr/local/panda/bin $path)
|
||||
setenv LD_LIBRARY_PATH /usr/local/panda/lib:$LD_LIBRARY_PATH
|
||||
|
||||
If you have a Bourne-shell derivative, e.g. bash, the syntax is:
|
||||
|
||||
PATH=/usr/local/panda/bin:$PATH
|
||||
LD_LIBRARY_PATH=/usr/local/panda/lib:$LD_LIBRARY_PATH
|
||||
export LD_LIBRARY_PATH
|
||||
|
||||
Now you should create your personal Config.pp file, as described
|
||||
above, and customize whatever variables are appropriate. Be sure to
|
||||
set the PPREMAKE_CONFIG environment variable to point to it.
|
||||
|
||||
setenv PPREMAKE_CONFIG ~/Config.pp
|
||||
|
||||
In bash:
|
||||
|
||||
PPREMAKE_CONFIG=~/Config.pp
|
||||
export PPREMAKE_CONFIG
|
||||
|
||||
You may find it a good idea to make these environment settings in your
|
||||
.cshrc or .bashrc file so that they will remain set for future sessions.
|
||||
|
||||
Now that you have ppremake, you can test the configuration settings in
|
||||
your Config.pp file.
|
||||
|
||||
cd ~/panda3d/dtool
|
||||
ppremake
|
||||
|
||||
When you run ppremake within the dtool directory, it will generate a
|
||||
file, dtool_config.h (as well as all of the Makefiles). This file
|
||||
will be included by all of the Panda3D sources, and reveals the
|
||||
settings of many of the options you have configured. You should
|
||||
examine this file to ensure that your settings have been made the way
|
||||
you expect.
|
||||
|
||||
Now you can build the Panda3D sources. Begin with dtool (the current
|
||||
directory):
|
||||
|
||||
make
|
||||
make install
|
||||
|
||||
Once you have successfully built and installed dtool, you can then
|
||||
build and install panda:
|
||||
|
||||
cd ~/panda3d/panda
|
||||
ppremake
|
||||
make
|
||||
make install
|
||||
|
||||
After installing panda, you are almost ready to run the program
|
||||
"pview," which is a basic model viewer program that demonstrates some
|
||||
Panda functionality. Successfully running pview proves that Panda is
|
||||
now installed and configured correctly. However, you must set up a
|
||||
Configrc file to set your runtime configuration options before you can
|
||||
run Panda and open up a graphics window. See HOW TO RUN PANDA, below.
|
||||
|
||||
If you wish, you may also build direct or pandatool:
|
||||
|
||||
cd ~/panda3d/direct
|
||||
ppremake
|
||||
make
|
||||
make install
|
||||
|
||||
cd ~/panda3d/pandatool
|
||||
ppremake
|
||||
make
|
||||
make install
|
||||
|
||||
|
||||
|
||||
HOW TO BUILD PANDA ON A WINDOWS SYSTEM, USING CYGWIN
|
||||
|
||||
Cygwin is a set of third-party libraries and tools that present a very
|
||||
Unix-like environment for Windows systems. If you prefer to use a
|
||||
Unix environment, Cygwin is the way to go. You can download a free
|
||||
version from http://www.cygwin.com which will have almost everything
|
||||
you might need, or you can purchase a CD which has some additional
|
||||
tools (including csh or bash) that you might find useful.
|
||||
|
||||
Panda can build and run within a Cygwin environment, but it does not
|
||||
require it. Note that Cygwin is used strictly as a build environment;
|
||||
the Cygwin compiler is not used, so no dependency on Cygwin will be
|
||||
built into Panda. The Panda DLL's that you will generate within a
|
||||
Cygwin environment will be exactly the same as those you would
|
||||
generate in a non-Cygwin environment; once built, Panda will run
|
||||
correctly on any Win32 machine, with or without Cygwin installed.
|
||||
|
||||
If you do not wish to install Cygwin for your build environment, see
|
||||
the instructions below.
|
||||
|
||||
If you wish to use Cygwin, there is one important point to keep in
|
||||
mind. Panda internally uses a Unix-like filename convention; that is,
|
||||
forward slashes (instead of backslashes) separate directory
|
||||
components, and there is no leading drive letter on any filename.
|
||||
These Unix-like filenames are mapped to Windows filenames (with drive
|
||||
letters and backslashes) when system calls are made.
|
||||
|
||||
Cygwin also uses a Unix-like filename convention, and uses a series of
|
||||
mount commands to control the mapping of Unix filenames to Windows
|
||||
filenames. Panda is not itself a Cygwin program, and does not read
|
||||
the Cygwin mount definitions.
|
||||
|
||||
That's important enough it's worth repeating. Panda is not aware of
|
||||
the Cygwin mount points. So a Unix-like filename that makes sense to
|
||||
a Cygwin command may not be accessible by the same filename from
|
||||
within Panda.
|
||||
|
||||
However, you can set things up so that most of the time, Cygwin and
|
||||
Panda agree, which is convenient. To do this, it is important to
|
||||
understand how Panda maps Unix-like filenames to Windows filenames.
|
||||
|
||||
* Any relative pathname (that is, a pathname that does not begin
|
||||
with a leading slash) is left unchanged, except to reverse the
|
||||
slashes.
|
||||
|
||||
* Any full pathname whose topmost directory component is *not* a
|
||||
single letter is prepended with the contents of the environment
|
||||
variable PANDA_ROOT.
|
||||
|
||||
* Any full pathname whose topmost directory component *is* a single
|
||||
letter is turned into a drive letter and colon followed by the
|
||||
remainder of the path. For example, /c/windows/system is turned
|
||||
into C:\windows\system.
|
||||
|
||||
The expectation is that most of the files you will want to access
|
||||
within Panda will all be within one directory structure, which you
|
||||
identify by setting the PANDA_ROOT variable. Generally, when you are
|
||||
using Cygwin, you will want to set this variable to be the same thing
|
||||
as the root of your Cygwin tree.
|
||||
|
||||
For instance, typically Cygwin installs itself in C:\Cygwin. This
|
||||
means that when you reference the directory /usr/local/bin within
|
||||
Cygwin, you are actually referring to C:\Cygwin\usr\local\bin. You
|
||||
should therefore set PANDA_ROOT to C:\Cygwin, so that /usr/local/bin
|
||||
within Panda will also refer to C:\Cygwin\usr\local\bin.
|
||||
|
||||
To sum up: to use Panda within a Cygwin environment,
|
||||
|
||||
In tcsh:
|
||||
|
||||
setenv PANDA_ROOT 'C:\Cygwin'
|
||||
|
||||
or in bash:
|
||||
|
||||
PANDA_ROOT='C:\Cygwin'
|
||||
|
||||
Follow the instructions under HOW TO BUILD PANDA FOR A UNIX
|
||||
ENVIRONMENT, above.
|
||||
|
||||
|
||||
|
||||
HOW TO BUILD PANDA ON A WINDOWS SYSTEM, WITHOUT CYGWIN
|
||||
|
||||
You will need a directory for holding the installed Panda. This can
|
||||
be anywhere you like; in this example we'll assume you use a directory
|
||||
called "panda3d" on the root of the C drive.
|
||||
|
||||
md c:\panda3d
|
||||
|
||||
Panda3D includes a pre-compiled ppremake.exe, but not the cygwin DLL.
|
||||
Since ppremake is a Cygwin program (even though the rest of Panda is
|
||||
not), you will need the DLL in order to run ppremake.
|
||||
|
||||
The cygwin1.dll should be available at http://www.cygwin.com
|
||||
|
||||
Make sure the Panda bin and lib directories are on your path, and set
|
||||
a few environment variables for building. We suggest creating a file
|
||||
called PandaEnv.bat to hold these commands; then you may invoke this
|
||||
batch file before every Panda session to set up your environment
|
||||
properly. Alternatively, you may make these definitions in the
|
||||
registry.
|
||||
|
||||
path c:\panda3d\bin;c:\panda3d\lib;%PATH%
|
||||
set PANDA_ROOT=c:\
|
||||
set PPREMAKE_CONFIG=c:\panda3d\Config.pp
|
||||
|
||||
Setting PANDA_ROOT specifies the default drive Panda will search for
|
||||
file references. (Panda internally uses a Unix-like filename
|
||||
convention, which does not use leading drive letters. See the bullet
|
||||
points in the Cygwin section, above, describing the rules Panda uses
|
||||
to map its Unix-like filenames to Windows filenames.)
|
||||
|
||||
Now make a directory for building Panda. This may be different from
|
||||
the directory, above, that holds the installed Panda files; or it may
|
||||
be the same. In this example we assume you will be building in the
|
||||
same directory, c:\panda3d.
|
||||
|
||||
Now set up your personal Config.pp file to control your local
|
||||
configuration settings, as described above. We suggest putting it in
|
||||
the root of the build directory.
|
||||
|
||||
edit c:\panda3d\Config.pp
|
||||
|
||||
Add at least the following line to your Config.pp file. (You may want
|
||||
to add additional lines, according to your needs. See HOW TO
|
||||
CONFIGURE PANDA FOR YOUR ENVIRONMENT, above.)
|
||||
|
||||
#define INSTALL_DIR c:\panda3d
|
||||
|
||||
Now you should be able to build dtool.
|
||||
|
||||
c:
|
||||
cd \panda3d\dtool
|
||||
ppremake
|
||||
nmake
|
||||
nmake install
|
||||
|
||||
And then build panda.
|
||||
|
||||
c:
|
||||
cd \panda3d\panda
|
||||
ppremake
|
||||
nmake
|
||||
nmake install
|
||||
|
||||
And (optionally) build direct.
|
||||
|
||||
c:
|
||||
cd \panda3d\direct
|
||||
ppremake
|
||||
nmake
|
||||
nmake install
|
||||
|
||||
And (optionally) build pandatool.
|
||||
|
||||
c:
|
||||
cd \panda3d\pandatool
|
||||
ppremake
|
||||
nmake
|
||||
nmake install
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
HOW TO RUN PANDA
|
||||
|
||||
Once Panda has been successfully built and installed, you should be
|
||||
able to run pview to test that everything is working:
|
||||
|
||||
pview
|
||||
|
||||
The first time you run pview, if you have not yet created a Configrc
|
||||
file, you should see something like this:
|
||||
|
||||
Known pipe types:
|
||||
No interactive pipe is available! Check your Configrc!
|
||||
|
||||
If you get instead an error about some shared library or libraries not
|
||||
being found, check that your LD_LIBRARY_PATH setting (on Unix) or your
|
||||
PATH (on Windows) include the directory in which all of the Panda
|
||||
libraries have been installed (That is, $INSTALL_DIR/lib, or whatever
|
||||
you set INSTALL_DIR to followed by "lib". On Unix, this defaults to
|
||||
/usr/local/panda/lib).
|
||||
|
||||
If you do get the above error message, you will need to create a
|
||||
Configrc file to indicate some run-time parameters. This is different
|
||||
from the Config.pp file you created above, which is only used by
|
||||
ppremake to define compile-time parameters; the Configrc file is read
|
||||
every time Panda is started and it defines parameters that control
|
||||
run-time behavior.
|
||||
|
||||
Create a file called Configrc in your home directory (or wherever you
|
||||
find convenient). Note that this file must have no extension; in
|
||||
particular, it should not have the extension "txt". Notepad will add
|
||||
this extension by default, so if you use Notepad to create the file,
|
||||
you should then rename it so that it does not have the extension
|
||||
"txt".
|
||||
|
||||
For now, add just the line:
|
||||
|
||||
load-display pandagl
|
||||
|
||||
Or, if you are on Windows and prefer to use DirectX instead of OpenGL,
|
||||
add instead the line:
|
||||
|
||||
load-display pandadx
|
||||
|
||||
Later you may add additional lines here to control the default
|
||||
behavior of Panda in other ways.
|
||||
|
||||
If you do not specify otherwise, Panda will look for the Configrc file
|
||||
in the current directory, so for now try to run pview from within the
|
||||
same directory as your Configrc file. If all goes well, it should
|
||||
open up a window with a blue triangle. You can use the mouse to move
|
||||
the triangle around. You can also pass the name of an egg file, if
|
||||
you have one, on the command line, and pview will load up and display
|
||||
the egg file.
|
||||
|
||||
If you want to load the Configrc from other than the current
|
||||
directory, set the following two environment variables:
|
||||
|
||||
CONFIG_CONFIG=:configpath=CFG_PATH
|
||||
CFG_PATH=/my/home/directory
|
||||
|
||||
Where /my/home/directory is the name of your home directory (or
|
||||
wherever you put the Configrc file). Note that forward slashes should
|
||||
be used, according to the Panda convention. Also note that on
|
||||
Windows, the path you specify is relative to the directory named by
|
||||
PANDA_ROOT, unless it begins with a single-letter directory name (see
|
||||
the explanation of how Panda maps its internal filenames to Windows
|
||||
filenames, above.)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
IMPORTANT:
|
||||
READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
|
||||
ALL USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS:
|
||||
|
||||
|
||||
PANDA 3D SOFTWARE LICENSE AND DOWNLOAD TERMS
|
||||
|
||||
1. The accompanying Panda 3D Software and associated documentation
|
||||
files (the "Software") is licensed to you, the recipient of the
|
||||
Software ("You") by Walt Disney Imagineering (the "Licensor") subject
|
||||
these terms and to the terms of the Panda 3D Public License Version
|
||||
1.0 (the "License") and You may not use this Software except in
|
||||
compliance with these terms and the terms of the License. See the
|
||||
License for the specific language governing rights and limitations
|
||||
under the License. You may obtain a copy of the License at
|
||||
http://www.panda3d.org/license.txt . ANY DOWNLOADING, INSTALLING,
|
||||
USE, REPRODUCTION OR DISTRIBUTION OF THE SOFTWARE CONSTITUTES THE
|
||||
RECIPIENT'S ACCEPTANCE OF THESE TERMS AND THE LICENSE. IF YOU DO NOT
|
||||
AGREE TO THIS LICENSE, DO NOT DOWNLOAD, INSTALL, COPY OR USE THE
|
||||
SOFTWARE.
|
||||
|
||||
2. Licensor hereby grants to any person obtaining a copy of the
|
||||
Software a nonexclusive license to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, on an "AS
|
||||
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
implied, subject to these terms and the License.
|
||||
|
||||
3. All copies made of the Software source code must retain the
|
||||
following copyright notice and these terms and disclaimers in a
|
||||
conspicuous location in the Software. Copies made of the Software in
|
||||
binary form or redistribution of this Software in binary form must
|
||||
reproduce the following copyright notice and these terms and
|
||||
disclaimers in a conspicuous location in the documentation and/or
|
||||
other materials provided with the distribution of the Software.
|
||||
|
||||
PANDA 3D SOFTWARE
|
||||
Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
|
||||
|
||||
4. Any modifications which You create or which You contribute to the
|
||||
Software are governed by these terms and the License. The source code
|
||||
version of the Software may be distributed only under these terms and
|
||||
the License or a future version of the License released by Licensor,
|
||||
and You must include a copy of these terms with every copy of the
|
||||
source code or Software that You distribute. You may not offer or
|
||||
impose any terms on any source code version that alters or restricts
|
||||
the applicable version of these terms or the License. In addition,
|
||||
You must identify Yourself as the originator of the modifications or
|
||||
contributions You made to the Software, if any, in a manner that
|
||||
reasonably allows subsequent recipients to identify You as the
|
||||
originator of the modifications or contributions. Further You must
|
||||
cause the Software to contain a file documenting the changes You made
|
||||
to create the modifications and the date of any change. You must
|
||||
include a prominent statement describing the modifications made to the
|
||||
Software. An electronic copy of the source code for all modifications
|
||||
made to the Software are to be forwarded to Licensor at
|
||||
panda3d-owner@yahoogroups.com within 90 days of the date of the
|
||||
modifications.
|
||||
|
||||
5. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, PUNITIVE OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF GOODWILL; LOSS OF USE, DATA, OR PROFITS; WORK
|
||||
STOPPAGE, COMPUTER FAILURE, OR MALFUNCTION, OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
6. The names "Walt Disney Imagineering" or "Disney" may not be used to
|
||||
endorse or promote this Software or any products derived from this
|
||||
Software and may not be used in any advertising, publicity or
|
||||
promotion or other disclosures, or to express or imply any endorsement
|
||||
of anyone's products or services, or in any manner or for any purpose
|
||||
whatsoever without specific prior written permission from Licensor.
|
||||
|
||||
7. Licensor may publish new versions (including revisions) of the
|
||||
License from time to time. Each new version of the License will be
|
||||
given a distinguishing version number and will be available at
|
||||
http://www.panda3d.org/license.txt .
|
||||
|
||||
8. The License and the rights to use the Software granted hereunder
|
||||
will terminate automatically if You fail to comply with the License or
|
||||
the terms herein and fail to cure such breach within 30 days of
|
||||
becoming aware of the breach. All sublicenses to the Software which
|
||||
are properly granted shall survive any termination of the License.
|
||||
Provisions which, by their nature, must remain in effect beyond the
|
||||
termination of the License shall survive.
|
||||
|
||||
9. These terms shall be governed by California law, excluding its
|
||||
conflict-of-law provisions.
|
||||
|
||||
Copyright (c) 2000, Disney Enterprises, Inc. All Rights Reserved.
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
Panda3D Read Me
|
||||
|
||||
Panda3D is a powerful rendering engine for SGI, Linux, Sun, and Windows.
|
||||
The core of the engine is in C++. Panda3D/DIRECT provides a Python
|
||||
scripting interface and utility code. Panda3D can be used with or without
|
||||
Python.
|
||||
Loading…
Reference in New Issue