Browse Source

new ReleaseNotes for 1.0.0

David Rose 21 years ago
parent
commit
18bd8ee7af
1 changed files with 186 additions and 1 deletions
  1. 186 1
      doc/ReleaseNotes

+ 186 - 1
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.