mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 00:32:57 -04:00
doc: add release notes for Panda 1.10.0
[skip ci]
This commit is contained in:
parent
31c532387e
commit
f8f0180ee7
148
doc/ReleaseNotes
148
doc/ReleaseNotes
@ -1,3 +1,151 @@
|
|||||||
|
------------------------ RELEASE 1.10.0 -----------------------
|
||||||
|
|
||||||
|
This is a major release with significant changes. Please review the
|
||||||
|
changes when upgrading. The list below is by no means exhaustive, but
|
||||||
|
should contain the most important changes.
|
||||||
|
|
||||||
|
General
|
||||||
|
* Experimental ability to build for Android
|
||||||
|
* New input framework to natively support gamepads, joysticks, etc.
|
||||||
|
* Multi-threaded render pipeline is a lot more stable now
|
||||||
|
* New setuptools-based deployment pipeline
|
||||||
|
* Improvements to mouselook smoothness
|
||||||
|
* Cache is now at $XDG_CACHE_HOME/panda3d (~/.cache/panda3d), not ~/.panda3d
|
||||||
|
* Addition of unit test suite
|
||||||
|
* Many improvements to thread safety
|
||||||
|
* Many performance improvements
|
||||||
|
* Tons of bugfixes
|
||||||
|
* Big style cleanup of C++ source code
|
||||||
|
|
||||||
|
Python API
|
||||||
|
* Complete support for Python 3
|
||||||
|
* Support for coroutines and async/await
|
||||||
|
* Property interfaces have been added for many settings
|
||||||
|
* More flexible handling for keyboard arguments in C++ APIs
|
||||||
|
* Python bindings are completely separated out of the C++ libraries.
|
||||||
|
* Interrogate binding generator has many improvements.
|
||||||
|
* Use of pandac.PandaModules is discouraged, use panda3d.core et al
|
||||||
|
* Use of libRocket is discouraged due to lack of Python 3 support
|
||||||
|
* Tasks are now sorted in addition order when lacking a sort value
|
||||||
|
* Fixes iris/fade transitions for extreme aspect ratios
|
||||||
|
* WeakNodePath is now exposed to Python
|
||||||
|
* WindowProperties.size(x, y) deprecated; use WindowProperties(size=(x, y))
|
||||||
|
* Calling bare run() is deprecated, use base.run() instead
|
||||||
|
* downcastTo*() methods have been removed, they were already no-ops
|
||||||
|
|
||||||
|
Rendering
|
||||||
|
* Add new shader-based terrain rendering method (ShaderTerrainMesh)
|
||||||
|
* The default ColorAttrib mode is now T_vertex
|
||||||
|
* The ColorAttrib T_off mode now properly disables vertex colors entirely
|
||||||
|
* Make handling of color attributes more consistent between renderers
|
||||||
|
* Ability to create an OpenGL core profile context; set "gl-version 3 2"
|
||||||
|
* Experimental support for reverse-Z rendering for best depth precision
|
||||||
|
* sRGB framebuffers supported more widely
|
||||||
|
* Support for infinite near/far clip in lens
|
||||||
|
* Add some PBR material parameters to material class
|
||||||
|
* Addition of more built-in GLSL shader inputs; see manual.
|
||||||
|
* Add p3d_FragData[] GLSL output for MRT in GLSL 1.30
|
||||||
|
* Add flag enabling vertex shader control over point size
|
||||||
|
* Support signed ints and double-precision floats in vertex data with GLSL
|
||||||
|
* Support unsigned 11/10/10-bit floating-point textures and vertex data
|
||||||
|
* Support for SSBOs via ShaderBuffer class
|
||||||
|
* Support OpenGL FBO buffers without any attachments
|
||||||
|
* Support passing uint variables to GLSL shader
|
||||||
|
* Allow rendering objects with empty vertex data (for vertex pulling)
|
||||||
|
* Add LogicOpAttrib, for supporting logical operator blending
|
||||||
|
* Improvements to OpenGL ES support
|
||||||
|
* Support for geometry with adjacency information
|
||||||
|
* Change default alpha blending to improve blending rendered result
|
||||||
|
* New method for obtaining native OpenGL texture object
|
||||||
|
* Support windowless offscreen rendering on macOS
|
||||||
|
* Panda resets OpenGL state better before and after draw callbacks
|
||||||
|
* OpenGL renderer better supports debugging tools like apitrace
|
||||||
|
* Support fixed-depth billboards, useful for 2D tags that don't change size
|
||||||
|
|
||||||
|
Shader generator
|
||||||
|
* Significant performance improvements
|
||||||
|
* Support for point light shadows
|
||||||
|
* Hardware skinning support
|
||||||
|
* Changes to match fixed-function pipeline better
|
||||||
|
* Fixes for normal vector normalization
|
||||||
|
* Support multiple normal maps (uses Reoriented Normal Mapping)
|
||||||
|
* Tracks modifications to materials and texture stages automatically
|
||||||
|
|
||||||
|
Lighting
|
||||||
|
* Allow specifying light color based on color temperature
|
||||||
|
* Setting specular color of a light separately is deprecated
|
||||||
|
* New GLSL inputs to make implementing lighting in shaders much easier
|
||||||
|
* Add representation for sphere light and rectangle light
|
||||||
|
* Efficiency improvements for passing light information to shader
|
||||||
|
* Interocular distance for shadow cameras now always defaults to 0
|
||||||
|
* Add low-level lighting module from RenderPipeline
|
||||||
|
|
||||||
|
Textures
|
||||||
|
* Support cube map arrays
|
||||||
|
* Support buffer textures
|
||||||
|
* Many more texture formats supported
|
||||||
|
* BC4 and BC5 compression modes supported
|
||||||
|
* Proper depth textures supported in DirectX 9 renderer
|
||||||
|
* set_ram_image(_as) directly supports buffer protocol
|
||||||
|
* TexturePeeker supports more formats and component types
|
||||||
|
|
||||||
|
Text
|
||||||
|
* Dramatic improvements to text rendering performance
|
||||||
|
* Support for HarfBuzz for higher-quality text shaping and kerning
|
||||||
|
* Support for right-to-left text
|
||||||
|
* Support for signed-distance-field rendering in egg-mkfont
|
||||||
|
|
||||||
|
Audio/video
|
||||||
|
* The default unit for audio is now 1 meter for each Panda unit.
|
||||||
|
* Native .flac loader
|
||||||
|
* Support videos with alpha channel in ffmpeg
|
||||||
|
* OpenAL stability improvements, especially on macOS
|
||||||
|
* Support loading .opus files with libopusfile
|
||||||
|
* Fix various memory leaks
|
||||||
|
|
||||||
|
Physics / collisions
|
||||||
|
* CollisionTube is renamed to CollisionCapsule.
|
||||||
|
* Box-box collision test is improved to work well with the Pusher
|
||||||
|
* More box tests for collision system: box-into-plane, box-into-poly
|
||||||
|
* Capsule (tube) can be used as "from" shape into plane, sphere, capsule, box
|
||||||
|
* Bullet objects are serializable to .bam files.
|
||||||
|
* Bullet bindings are now thread safe.
|
||||||
|
* Bullet debug drawer is more efficient; no longer inherits GeomNode.
|
||||||
|
* Various fixes to bullet vehicle wheel synchronization
|
||||||
|
* PhysX bindings are deprecated.
|
||||||
|
|
||||||
|
Pipeline / loading
|
||||||
|
* Support for Assimp library to load a broad variety of model formats
|
||||||
|
* Ability to specify min-lod, max-lod, lod-bias in .egg file
|
||||||
|
* Egg file materials support PBR-style material parameterization
|
||||||
|
* Support loading more DDS files, including DX10-style ones
|
||||||
|
* Add support for OpenEXR and HDR textures
|
||||||
|
* Support line/point thickness in bam2egg
|
||||||
|
* bam2egg no longer inserts a vestigial ModelNode at the top
|
||||||
|
* bam2egg supports depth test, offset, cull bin attributes
|
||||||
|
* Accept a .gz file wherever a .pz file is accepted
|
||||||
|
* egg-palettize supports mirror and border-color wrap modes
|
||||||
|
* More robust checks against memory corruptions when loading bad .bam files
|
||||||
|
* Support for Maya 2017 and 2018
|
||||||
|
* Support preprocessing GLSL shaders created with Shader.make
|
||||||
|
|
||||||
|
Build
|
||||||
|
* We now require using MSVC 2015 or 2017 to compile on Windows.
|
||||||
|
* At least GCC 4.8 is now required.
|
||||||
|
* With GCC/clang, enabling C++11 is now required.
|
||||||
|
* Allow building with more recent ffmpeg versions
|
||||||
|
* Support for old FFMpeg versions (before 1.1) dropped.
|
||||||
|
* The ppremake build system has been removed.
|
||||||
|
* Support for OpenSSL versions before 0.9.7 has been dropped.
|
||||||
|
|
||||||
|
C++
|
||||||
|
* Use of NULL is replaced with nullptr
|
||||||
|
* WeakPointerTo now requires use of lock() method for thread safety
|
||||||
|
* Mutex et al now satisfy C++11 Lockable constraints
|
||||||
|
* Panda headers no longer contain `using namespace std;`
|
||||||
|
* PN_int32 et al have been removed, use stdint.h types instead
|
||||||
|
* The need to link with pystub and add Python include dirs is removed.
|
||||||
|
|
||||||
------------------------ RELEASE 1.9.4 ------------------------
|
------------------------ RELEASE 1.9.4 ------------------------
|
||||||
|
|
||||||
One of the bugfixes in the last 1.9.3 release introduced a regression,
|
One of the bugfixes in the last 1.9.3 release introduced a regression,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user