new ReleaseNotes for 1.0.0
This commit is contained in:
parent
c0aed03f88
commit
18bd8ee7af
187
doc/ReleaseNotes
187
doc/ReleaseNotes
|
|
@ -1,3 +1,188 @@
|
|||
------------------------ RELEASE 1.0.0 ------------------------
|
||||
|
||||
Configuration, installation, and execution environments:
|
||||
|
||||
* This is the introduction of the new Panda version numbering
|
||||
system. The Panda version will be represented with three
|
||||
dot-separated numbers. The first number, the major version, will
|
||||
change only very rarely. The second number, the minor version,
|
||||
will increment frequently, with each new feature release. The
|
||||
third number will increment as needed to indicate bugfix releases
|
||||
on the minor version.
|
||||
|
||||
* Use PandaSystem::get_version_string() (or
|
||||
PandaSystem.getVersionString() in Python) to return the version
|
||||
number of the currently-running Panda.
|
||||
|
||||
* New runtime config system allows for dynamic loading of prc files
|
||||
and supports querying of available variable names. Use
|
||||
ConfigVariableString, ConfigVariableBool, etc. to get a value from
|
||||
the prc file(s); use the ConfigVariableManager and
|
||||
ConfigPageManager classes (or the cvMgr and cpMgr global objects
|
||||
in Python) to make general queries.
|
||||
|
||||
* The ppremake build system now properly detects intra-tree
|
||||
dependencies, but only if each tree is fully built and installed
|
||||
before ppremake is run within the next dependent tree. Requires
|
||||
using ppremake version 1.18 or higher.
|
||||
|
||||
Miscellaneous:
|
||||
|
||||
* New support for encrypted streams, including encrypted subfiles
|
||||
within a multifile, using the OpenSSL encryption library. Adds
|
||||
pencrypt and pdecrypt programs.
|
||||
|
||||
* The default port for PStats is now 5185, to avoid a conflict with
|
||||
Instant Messenger.
|
||||
|
||||
* New "smooth" checkbox on PStats graphs provides a better sense of
|
||||
overall trends when graphs are noisy.
|
||||
|
||||
* The meaning of the three components of HPR angles has been
|
||||
officially changed, in particular the meaning of the R component.
|
||||
This change was introduced to make the three components more
|
||||
consistent with each other, and to make P and R work together in a
|
||||
more sensible way. Existing code which used hard-coded HPR angles
|
||||
may be invalidated by this change. To convert existing code, you
|
||||
should use the global function old_to_new_hpr() to determine what
|
||||
new HPR triple that corresponds to an old HPR triple. As a
|
||||
temporary stopgap, you may define temp-hpr-fix 0 in your prc file.
|
||||
|
||||
* Add support for weak reference counts using the WeakPointerTo
|
||||
class.
|
||||
|
||||
* Add optional support for STL's semistandard hashing containers,
|
||||
e.g. hash_map and hash_set.
|
||||
|
||||
Rendering system:
|
||||
|
||||
* Multitexture support is now part of Panda. This introduces the
|
||||
TextureStage and TexCoordName classes, as well as new interfaces
|
||||
like NodePath::add_texture(). As of the present release,
|
||||
multitexture is only supported when using the OpenGL renderer.
|
||||
|
||||
* Support for programmable shaders is now possible using the Cg
|
||||
shader language. Assign a CgShaderAttrib to a node to apply a
|
||||
programmable shader.
|
||||
|
||||
* New support for the Helix library allows playing of a streaming
|
||||
movie in a Panda texture. Presently only supported on Windows.
|
||||
|
||||
* Deprecated the old "win-origin-x" and "win-origin-y" prc variables
|
||||
in favor of "win-origin", which takes two numbers separated by a
|
||||
space. Similarly with "win-width" and "win-height", in favor of
|
||||
"win-size".
|
||||
|
||||
* Deprecated the old Camera::set_scene() interface; now a Camera
|
||||
implicitly renders whatever scene graph it is parented to.
|
||||
|
||||
* Removed the old GraphicsLayer and GraphicsChannel classes.
|
||||
Instead of using these interfaces, you can now create any number
|
||||
of DisplayRegions directly on the window.
|
||||
|
||||
* Offscreen render-to-a-texture will now be properly oriented under
|
||||
DirectX (previously, it would render the texture image upside-down
|
||||
and backward).
|
||||
|
||||
* Support for automatic keystone correction caused by an off-axis
|
||||
physical projector using Lens::set_keystone().
|
||||
|
||||
* New framebuffer-mode prc variable allows explicit control over the
|
||||
default framebuffer properties requested by Panda, including
|
||||
whether software or hardware rendering is required.
|
||||
|
||||
* Added "multisample" transparency mode (alpha keyword "ms" in an
|
||||
egg file), which allows good-quality transparency (especially for
|
||||
alpha cutouts) without requiring back-to-front sorting, and
|
||||
without artifacts from improper sorting. This does require
|
||||
special multisample hardware capabilities, however. Presently
|
||||
supported in OpenGL mode only. Automatic fallback to "binary"
|
||||
transparency mode if multisample is not supported on a given
|
||||
platform.
|
||||
|
||||
* New cursor-filename and icon-filename config variables replace the
|
||||
old win32-mono-cursor and win32-window-icon variables. Also,
|
||||
runtime control over these properties is now provided by the
|
||||
WindowProperties class.
|
||||
|
||||
* Better management of potential memory leaks due to cyclic
|
||||
reference counts in the RenderState and TransformState caches.
|
||||
Now cycles are automatically detected and broken.
|
||||
|
||||
Scene graph:
|
||||
|
||||
* GeomNodes now have a CollideMask, just like CollisionNodes, which
|
||||
deprecates the old set_collide_geom() interface to detect
|
||||
collisions with visible geometry. There is a new NodePath
|
||||
interface for querying and setting the collide masks for single
|
||||
nodes or for entire subgraphs.
|
||||
|
||||
* New NodePath interfaces to control lighting eliminate the need to
|
||||
create an explicit LightAttrib. The new lighting interfaces are
|
||||
designed to be similar to the new multitexture interfaces.
|
||||
|
||||
* New NodePath interfaces to control the texture matrix, including a
|
||||
new project_texture() method to enable hardware-assisted
|
||||
projective texturing.
|
||||
|
||||
* New NodePath::flatten_multitex() interface to bake in certain
|
||||
kinds of multitexture effects into a single texture, generated
|
||||
on-the-fly.
|
||||
|
||||
* New options for ColorBlendAttrib and RenderModeAttrib.
|
||||
|
||||
* NodePath::set_transparancy() now accepts a
|
||||
TransparencyAttrib::Mode parameter to specify exactly what kind of
|
||||
transparency you'd like.
|
||||
|
||||
* New NodePath::set_render_mode() interface accepts a
|
||||
RenderModeAttrib::Mode parameter, deprecating
|
||||
set_render_mode_filled() and set_render_mode_wireframe().
|
||||
|
||||
* LerpQuatInterval can be used as a drop-in replacement for
|
||||
LerpHprInterval; it performs spherical lerps in quaternion space,
|
||||
rather than lerping each component of a HPR individually.
|
||||
LerpHprInterval is not deprecated; it remains useful within its
|
||||
limitations.
|
||||
|
||||
* New DirectSliderBar gui object implements a standard slider bar
|
||||
with a thumb (like a window scroll bar).
|
||||
|
||||
* Lighting normals are now automatically counterscaled properly when
|
||||
lighting is enabled in the presence of a scale, uniform or
|
||||
nonuniform, in the scene graph. You can also use
|
||||
RescaleNormalAttrib for explicit control over this behavior.
|
||||
|
||||
* Improvements to RopeNode for rendering splines in various
|
||||
representations.
|
||||
|
||||
Collisions and physics systems:
|
||||
|
||||
* New CollisionSegment and CollisionInvSphere collision solids.
|
||||
|
||||
* The collision system now reports normals for intersections
|
||||
detected from collision rays, segments, and lines.
|
||||
|
||||
* Several improvements to the physics system.
|
||||
|
||||
Model converters:
|
||||
|
||||
* x2egg and egg2x added to converters, as well as to inline
|
||||
conversion supported via ptloader. This adds support for
|
||||
DirectX's native so-called "retained-mode" file format. This file
|
||||
format supports animation and joint hierarchies as well as basic
|
||||
polygonal models.
|
||||
|
||||
* vrml2egg added to converters, as well as to inline conversion
|
||||
supported via ptloader. This adds support for VRML 2.0 model
|
||||
files only.
|
||||
|
||||
* Added -noabs option to many model converters, to help detect
|
||||
problems with unintended absolute path references.
|
||||
|
||||
* Added egg2bam -flatten and -combine-geoms.
|
||||
|
||||
|
||||
------------------------ RELEASE 2004-07-27 ------------------------
|
||||
|
||||
Configuration, installation, and execution environments:
|
||||
|
|
@ -82,7 +267,7 @@ Text display:
|
|||
Model converters:
|
||||
|
||||
* dxf2egg and egg2dxf added to converters, as well as to inline
|
||||
conversion supported via ptloadeder.
|
||||
conversion supported via ptloader.
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue