| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690 |
- ------------------------ RELEASE 1.10.4 -----------------------
- This release fixes a regression with DirectScrolledList in 1.10.3,
- fixes various other bugs, and introduces a few minor features.
- * Fix exception trying to create DirectScrolledList
- * Fix flickering in DirectScrolledFrame and other scissor issues (#681)
- * Experimental support for Python 3.8
- * Support adding icons to deployed applications
- * Support non-affine (eg. projective) transforms in calc_tight_bounds
- * Allow setting notify-output after initial import
- * Fix macOS issue locating Panda3D using Python 2.7.13+ from python.org
- * Support for Maya 2019
- * On Windows, pip is now installed by the installer (#690)
- * Fix Actor.makeSubpart on models with pre-bound animations (#647)
- * Properly interrupt task manager if first task chain raises error (#692)
- * Fix return value of encrypt_string in Python 3 (#684)
- * Support writing loader plug-ins in Python
- * Fix reading multiple p3d_TextureMatrix[] values from GLSL shaders
- * Fix shader error flag not being set if GLSL compilation failed (#622)
- * Add NodePath.replace_texture() convenience method
- * Fix deadlock when building with SIMPLE_THREADS=1 (#704)
- * Fix DirectOptionMenu cancelFrame not working inside scrolled frame (#658)
- * Fix assertion when calling analyze() on geometry with strip cut index
- * Implement fallback in GL renderer when F_sluminance is not supported (#693)
- * Set reasonable limits for sliders in ParticlePanel
- * Fix for DirectEntry autoCapitalize feature on Python 3 (#628)
- * Fix various DirectGUI items not working before ShowBase is instantiated
- * Work around an MSVC compiler bug in the release build
- * PythonUtil.weightedChoice now raises IndexError on empty list
- * Support changing DirectScrollBar width after initialiation (#699)
- * Workaround for Bullet deadlock when adding shape to a scaled body (#689)
- * Support setting DirectEntryScroll entry after initialization (#702)
- * Fix some missing imports in directtools (#698)
- * Fix undefined behavior issue when using musl-libc
- * Update Eigen in Windows thirdparty packages to 3.3.7
- * Update metadata of pip wheels
- ------------------------ RELEASE 1.10.3 -----------------------
- This is another bugfix release that addresses a variety of issues
- in 1.10.2 and further improves the stability.
- * Fix crash when unplugging certain devices on macOS
- * Fix crash on macOS when using RIME input
- * Fix logging issues/crashes in apps deployed with Python 2.7
- * Fix issues when starting in fullscreen on Linux/X11
- * Fix mapping of several gamepads including Trust GXT 24
- * Fix Linux crash when no input devices are present
- * Unbreak support for matrix arrays in vertex data in OpenGL
- * Allow creating multisample FBO in OpenGL with non-MS host window
- * Support playing and looping compressed Ogg and WAV audio files
- * Fix generation of CollisionBox for transformed geometry in .egg
- * Fix Bullet rigid body transform not updating after reparenting
- * Fix sporadic color scales with lighting and custom GLSL shader
- * Prevent faulty shaders from shutting down GSG on some drivers
- * Allow None as either argument to OdeJoint.attach()
- * Fix BufferViewer when main window is not opened right away
- * Properly detect extension of pz/gz compressed video/audio files
- * Fix for invalid behavior of SparseArray methods to clear bits
- * FilterManager now allows overriding framebuffer properties
- * Fix detection of core-only OpenGL profile on some drivers
- * Add gl-forward-compatible config var for OpenGL context creation
- * Add paste-emit-keystrokes variable to disable Ctrl+V on Windows
- * Fix in-place |= operator on Panda types (such as SparseArray)
- * Fix rare FFmpeg "bad src image pointers" errors after seek
- * Fix uses of types.InstanceType in some obscure direct functions
- * Fix capsule-into-sphere collision test in degenerate case
- * KeyboardButton.ascii_key now also accepts a str character
- * Fix errors in various Tkinter DIRECT widgets
- * Expose save_egg_file/save_egg_data functions in Python API
- * Fix assertion error in BoundingBox.set_min_max
- * Fix typo in CollisionTraverser.respect_prev_transform property
- * Properly install Python bindings when building FreeBSD installer
- ------------------------ RELEASE 1.10.2 -----------------------
- This release fixes several more bugs, including a few regressions
- in 1.10.1. Upgrading is highly recommended.
- * Fix regression on Windows causing freezes and instability
- * Fix a memory leak issue in Python applications
- * Fix crash reading unaligned float4 column in GeomVertexReader
- * Fixes for switching to fullscreen at runtime on Windows and Linux
- * Fix incorrect display mode listing in some Linux distributions
- * Fix threading crash on Linux when using get_keyboard_map()
- * Support "from __future__ import division" for Panda types
- * Support building with Visual Studio 2019 in makepanda
- * Work around Assimp crash when loading multiple .ply models
- * On Windows, a Python 3-compatible version of Pmw is included
- * Fix ParticlePanel spam when hovering over File menu items
- * TexMemWatcher has been fixed for Python 3
- * Prevent macOS window getting stuck after base.destroy()
- * Fix assertion setting mass before shape with Bullet debug build
- * Don't error if DirectScrolledFrame is destroyed twice
- * Fix reference count corruption accessing task.__dict__
- * Fix writing to SequenceNode frame_rate property
- * Fix collider sort not copied when copying CollisionNode
- * Add OpenCollective backer file
- ------------------------ RELEASE 1.10.1 -----------------------
- This is a bugfix release intended to fix several issues in 1.10.0.
- * Fix crashes when gamepad is plugged in on 32-bit Windows
- * Fix deploy-ng error regarding 'exist_ok' on Python 2
- * Fix Linux install from pip not working with some mesa drivers
- * Fix compatibility issues with upcoming Python 3.8
- * Fix regression with Audio3DManager.setSoundVelocityAuto()
- * Fix issues when awaiting loader.loadModel in Python 3.7
- * Audio3DManager accepts tuple in setSoundVelocity/setListenerVelocity
- * Fix lighting being disabled when only an AmbientLight is active
- * Fix an error saving from Particle Panel in Python 3
- * Depth buffer now defaults to 24-bit on macOS (fixes flickering)
- * Fix no devices being detected on Windows with threading-model
- * Implement collision tests from Capsule and Box into InvSphere
- * Fix odd behavior and occasional crash in QuatInterval
- * Fix SpriteAnim error in particle system
- * Fix ShaderGenerator error when using too many shadowing lights
- * Fix interrogate crash in Python 3 with optional wstring args
- * Fix compilation errors for x86 Android platform
- * Fix permissions of directories created by installpanda
- * Improvements to API reference documentation
- * Fix incorrect features printed out when printing an InputDevice
- * Support cross-compiling for Android platforms in makepanda
- * Work around various bugs when compiling with OS X 10.7's libc++
- * Fix wrong error sometimes being reported when loading plug-in
- * Allow getting NodePath from CullTraverserData object
- * Add config options to Assimp loader for generating normals
- * Fix multisampling in floating-point framebuffers on OpenGL
- * Parse egg files with 4-component tangents (must be 1 or -1)
- * StencilAttrib.make() write_mask argument is now optional
- ------------------------ 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 ------------------------
- One of the bugfixes in the last 1.9.3 release introduced a regression,
- therefore it was decided to make another 1.9.x release.
- * Fix 1.9.3 regression with generating geometry in threaded pipeline
- * Various compile warning fixes
- * Fix occasional crash in PNMImage::quick_filter_from()
- * Fix issue taking screenshots from an OpenGL FBO buffer
- * Fix various issues with MeshDrawer
- * Fix issue with collision sphere generation in bam2egg
- * Fix compile errors with more obscure Python configurations
- * Fix assert when using Texture.load_sub_image to load whole image
- * Fix fsm FourState
- ------------------------ RELEASE 1.9.3 ------------------------
- This issue fixes several bugs that were still found in 1.9.2.
- * Fix crash when using homebrew Python on Mac OS X
- * Fix crash when running in Steam on Linux when using OpenAL
- * Fix crash using wx/tkinter on Mac as long as want-wx/tk is set
- * Fix loading models from 'models' package with models/ prefix
- * Fix random crashes in task system
- * Fix various race conditions causing threading issues
- * Fix memory leaks in BulletTriangleMesh
- * Fix loading old models with MovingPart<LMatrix4f>
- * Improve performance of CPU vertex animation somewhat
- * Show framebuffer properties when fbprop request fails
- * Show error instead of crash on use of object before __init__
- * Fix hang on exit when using Python task on threaded task chain
- * Fix inability to get RGBA renderbuffer in certain cases
- * Work around GLSL issue with #pragma and certain Intel drivers
- * Improve performance of texture load and store operations
- * Fix crashes with pbuffers on Intel cards on Windows
- * Support for Autodesk Maya 2016.5
- * Add shadow-depth-bits config var to control shadow map depth
- * Fix cull issue when rendering cube map (or any multi-lens setup)
- * Fix crash rendering with the same camera to different contexts
- * Fix compile error when making static build with DX9 renderer
- * Fix assertion when using aux render targets in DX9
- * Work around Cg bug generating invalid ASM for saturated tex loads
- * Fix issues with certain Cg shader inputs in DX9
- * Support uint8 index buffers in DX9
- * Fix occasional frame lag when loading a big model asynchronously
- * Fix interrogate parsing issue with "const static"
- * Add back missing libp3pystub.a to Mac OS X SDK
- * Fix RAM caching of 2D texture arrays
- * Fix Ctrl+C interrupt propagation to runtime applications
- * Support for InvSphere, Box and Tube solids in bam2egg
- * Preserve "intangible" and "level" collide flags in bam2egg
- * Add normalized() method to vectors
- * asyncFlattenStrong with inPlace=True caused node to disappear
- * Fix asyncFlattenStrong called on nodes without parent
- * Fix is_playing() check when playing an animation backwards
- * Windows installer no longer clears %PATH% if longer than 1024 chars
- * Fix inoperative -tbn/-tbnall/-tbnauto options in egg-optchar
- * Fix tinydisplay texture errors on shutdown
- * Fix mipmap filtering issues in tinydisplay renderer
- * Fix exception when creating intervals before ShowBase is started
- * Fix rare X11 .ico cursor bug; also now supports PNG-compressed icons
- * Add keyword argument support to make() methods such as Shader.make()
- * Fix compilation errors with Bullet 2.84
- * Fix exception when trying to pickle NodePathCollection objects
- * Fix error when trying to raise vectors to a power
- * GLSL: fix error when legacy matrix generator inputs are mat3
- * Now tries to preserve refresh rate when switching fullscreen on Windows
- * Fix back-to-front sorting when gl-coordinate-system is changed
- * Now also compiles on older Linux distros (eg. CentOS 5 / manylinux1)
- * get_keyboard_map now includes keys on layouts with special characters
- * Fix crash due to incorrect alignment when compiling Eigen with AVX
- * Fix crash when writing 16-bit .tif file (now silently downsamples)
- ------------------------ RELEASE 1.9.2 ------------------------
- This is a minor bugfix release, fixing a few minor issues that
- remained in the 1.9.1 release, including:
- * Fix compile errors with more recent versions of ffmpeg
- * Include .lib files for pyd modules in Windows SDK
- * packp3d now recognizes default egg-object-type definitions
- * Fix issues with sphere-into-box and box-into-sphere collisions
- * Texture VRAM usage is now correctly reported by pstats
- * Support for reading BMP files with alpha channel
- * Fix OpenGL crashes in very ancient OpenGL versions
- * Fix rare compile issues and crashes with esoteric Python set-ups
- * Fix crash when extracting texture that's not a multiple of 4 bytes
- * Work around buggy NVIDIA driver that reports _main_* shader inputs
- * Add version of transform_vertices that accepts a SparseArray
- * Clamp shininess to 0 to avoid GL error when shininess < 0
- * Fix various bugs in RopeNode and NurbsCurveEvaluator
- * Fix clock-mode Config.prc settings
- * NodePath render_mode setters no longer reset wireframe color
- * Fix constant reloading of texture when gl-ignore-mipmaps is set
- * BamReader now releases the GIL (so it can be used threaded)
- * Fix AttributeError in direct.stdpy.threading module
- ------------------------ RELEASE 1.9.1 ------------------------
- This minor release fixes some important regressions and bugs found
- in 1.9.0, but also introduces a few minor features.
- It also reintroduces the deployment tools that were absent from
- the previous release.
- The following issues were fixed:
- * SDK now properly installs in Mac OS X 10.11 "El Capitan"
- * Windows 8.1+ no longer applies DPI virtualization to Panda window
- * Fix ffmpeg library load issue on Mac OS X
- * Fix issues running maya2egg on Mac OS X
- * Fix compiler errors on different platforms
- * Fix various rare crashes
- * Fix crashes on shutdown in threaded pipeline
- * Fix low-level threading crash on ARM machines
- * More reliably and robustly handle failures opening OpenAL device
- * Textures were not being scaled to power-of-2 in some cases
- * Correct scaling of normal vectors with flatten operation
- * Correct positioning of viewing axis when showing lens frustum
- * Add dpi-window-resize option to auto-resize window on DPI change
- * Fix assertions when alpha-file-channel references unknown channel
- * Use OpenGL-style vertex colors by default on non-Windows systems
- * Default vertex column alignment is now 4 bytes
- * Add PNMImage premultiply/unpremultiply methods.
- * Fix incorrect parsing of numbers with exponents in Config.prc
- * Fix for reading URLs mounted via the virtual file system
- * Fix shader generator memory leaks and runtime performance
- * Fix shader generator scaling of binormals and tangents
- * Expose _NET_WM_PID to window managers in X11
- * Fix a range of bugs in tinydisplay renderer.
- * Don't error when setting lens far distance to infinity
- * Allow passing custom lens to saveCubeMap/saveSphereMap
- * Fix errors in saveCubeMap/saveSphereMap in threaded pipeline
- * Fix DynamicTextFont.makeCopy()
- * Make Texture memory size estimation more accurate
- * Fix various window resizing issues
- * Fix PandaSystem.getCompiler() value for clang (it reported gcc)
- * x2egg no longer replaces face normals with vertex normals
- * Include Eigen headers in Mac and Windows SDK
- * Added geomipterrain-incorrect-normals setting, default=true
- * DisplayInformation resolution list was missing on Windows
- * Upgrade FMOD and Bullet versions on Windows and Mac OS X
- * Various performance optimizations
- * Fixed various other bugs not listed here.
- Fixes and improvements for the runtime:
- * Fix splash screen freezing in the X11 web plug-in
- * pdeploy will now handle extracted files (eg. .ico and .cur)
- * Added more options for customizing splash screen
- * Fix missing xml and ast modules from morepy package
- * Certificate dialog is now localized to various languages
- * Fix packp3d error when Python file is not in a package
- * Pass on failing exit status from packaged application
- * Remove annoying ":Packager(warning): No such file" warning
- * Fix issue installing pdeploy-generated .pkg on OS X 10.11
- Fixes for the Python API:
- * Fix mysterious and rare crash in tp_traverse
- * Bullet step function accidentally defaulted to step size of 0
- * Fix overflow of file offsets (eg. when seeking in huge files)
- * Fix regression with memoryviews
- * Fix hasattr/getattr of vector classes for invalid attributes
- * Allow passing a long to methods accepting an int
- * Fix crash when passing None to Filename constructor
- * MouseWatcherGroup was erroneously not exposed in 1.9.0
- * ShowBase no longer unmounts VFS when shutting down
- * No longer requires setting PATH to import panda3d.*
- * DirectDialog default geom is once again respected
- * DirectDialog no longer overrides custom frameSize
- * Fix WebcamVideo/MicrophoneAudio.getOptions() methods
- Changes relating to the OpenGL renderer:
- * Various performance improvements
- * Fix point/line thickness setting
- * Improve GLSL error reporting
- * Fix Intel driver issues, particularly with geometry shaders
- * Add more error checking for parameter types
- * Integer shader inputs were not being converted to float properly
- * Fix crash passing an undersized array to a GLSL shader input
- * p3d_ColorScale et al may now be declared as vec3
- * Fix flickering when using trans_model_to_apiview in Cg
- * Support wireframe and point rendering modes in OpenGL ES
- * Fix issue with model disappearing in rare cases with GLSL
- * Fix ColorWriteAttrib not working as it should
- * Allow deactivating PStats collectors for GPU timers
- * Memory residency of graphics buffers now tracked by PStats
- * Allow changing OpenGL coordinate system with gl-coordinate-system
- Fixes for libRocket integration:
- * libRocket did not work on Mac OS X in 1.9.0
- * Fix inconsistent behavior with non-power-of-2 textures in rocket
- * Use model-path for finding libRocket assets
- * Add missing keys to libRocket keymap
- * libRocket elements showed up white in tinydisplay
- New features:
- * Add -L (lighting) and -P (graphics pipe) pview options
- * Add M_confined mouse mode that keeps cursor in window
- * Add sample program demonstrating mouse modes
- * bam2egg supports collision sphere and plane solids
- * p3d_TransformTable GLSL input backported from 1.10 branch
- * Add openal-device setting for selecting OpenAL audio output
- * Add limited modification timestamp tracking for Ramdisk mounts
- * Support for Autodesk Maya 2016
- ------------------------ RELEASE 1.9.0 ------------------------
- This is a major release with many exciting new features!
- Beware of bugs.
- The list below contains a subset of the changes introduced:
- * We now offer 64-bit Windows and Mac OS X builds.
- * Switch to MSVC 2010; no more assembly manifests.
- * Cocoa port for better Mac OS X support, esp. newer versions.
- * We now compile the Python modules into panda3d/*.pyd modules;
- no more imp.load_dynamic hackery needed.
- * Support for GPU profiling in OpenGL, see pstats-gpu-timing
- * sRGB framebuffers, see framebuffer-srgb
- * sRGB texture support, see Texture::F_srgb et al.
- * Integer vector support, including passing to shaders
- * Native .ogg vorbis and .wav loader (does not require ffmpeg)
- * FFmpeg support is a separate plug-in module now, libp3ffmpeg.
- * Sample programs are now part of the source code repository
- * Can be built with Python 3 (highly experimental)
- * Improvements to Windows installer
- * M_filled_wireframe rendering mode
- * Support specifying sampler state separate from textures
- * Support for bindless texture clearing
- * Texture LOD bias and min/max LOD settings
- * Framebuffer properties allows separate red/green/blue bits
- * Explicit float color and float depth specification in fbprops
- * Coverage samples settable via FrameBufferProperties
- * Stereo buffer implementation in OpenGL via FBOs
- * Support enumeration of pixel formats in WebcamVideo
- * Frame rate meter can be configured to show milliseconds
- * Changes to improve font crispness with default settings
- * Fix assertion error when using more than one GraphicsEngine
- * raw-w, raw-a, etc. keyboard events for layout-independent input
- * Allow querying active keyboard layout via win.get_keyboard_map()
- * Distinguish between lmeta and rmeta keys on Mac OS X
- * Floating-point image manipulation API, support float tiffs
- * Various new 16-bit and 32-bit and int texture formats
- * Man pages are now available for the majority of utilities
- Pipeline:
- * Fix bugs with <Collide> group transformations in .egg
- * Don't create unnecessary intermediate node when loading .egg
- * bam2egg supports materials, and correctly converts animations
- * dae2egg has some skeletal animation support
- * Support Maya versions up to 2015
- OpenGL renderer changes:
- * Error checking is now OFF by default for performance reasons,
- set gl-check-errors or gl-debug to true to enable.
- * GL 4.2 shader_image_load_store support (incl. multi-bind)
- * Layered render-to-texture (using geometry shaders)
- * Seamless cube maps (on by default), see gl-cube-map-seamless
- * Added gl-debug for improved debug output support
- * Added GL object labels when gl-debug is enabled
- * gl-dump-compiled-shaders can be used to dump program binaries
- * Direct3D-style NT_packed_dabc vertex arrays now directly supported
- * Native rendering of line strips, using primitive restart
- * Immutable texture storage support (disabled by default)
- * Bindless texture support (disabled by default)
- * Specular component is now computed separately in FFP
- Shader system:
- * Support for tessellation shaders
- * Support for compute shaders via ComputeNode
- * GLSL preprocessor with "#pragma include" support
- * Much better coverage of shader inputs in GLSL
- * GLSL error messages now show source filename
- * Fixes apiclip_of_x shader inputs
- * Matrices can be passed directly to setShaderInput
- * Support binding images to shaders
- * Viewport array support
- Optimizations and performance improvements:
- * Use of C++11 move semantics to reduce refcounting overhead
- * Build with Eigen by default for faster linear math
- * Dramatic overhead reduction of generated bindings
- * Streamline culling process
- * Tighter bounding volume generation
- * Take advantage of CPU features for bit operations
- * Circumvent bounding volume generation when not required
- * Optimizations for interned strings
- * Use of GCC atomics should improve 64-bit Linux performance
- API features:
- * Buffer protocol support for textures and arrays
- * Interrogate supports various C++11 features
- * Expose TextGlyph interfaces for making custom text renderers
- * Better handling of default arguments for many functions
- * Cyclic references can sometimes be tracked through tasks
- * ShowBase clean teardown possible
- * API documentation is more accurate
- * Improve interfaces for interop with other applications
- Deprecated features:
- * Use of pandac.PandaModules is discouraged; use panda3d.core
- * Deprecate DirectStart and global run() function; use ShowBase
- * Remove old decal system
- * Remove Direct3D 8 renderer
- * Remove M_light_vector tex gen mode and FFP-based bump mapping
- Bug fixes:
- * Various point rendering issues are fixed now
- * Fix pview issue with 1-frame and/or multiple animations
- * Fixes for multisampling in FBOs
- * Fix aspect ratio of frame rate meter
- * Support NaN and infinity values in Config.prc variables
- * Fixes for webcams on Linux that do not output Huffman tables
- * Better support for non-basic Cg shaders on non-NVIDIA cards
- * Many others
- ------------------------ RELEASE 1.8.1 ------------------------
- This is a bugfix release, fixing many issues in 1.8.0.
- However, there may still be some (minor) bugs.
- * Fix a host of issues related to GLSL shaders
- * Fix incorrect registry entry for Python in Windows installer
- * pdeploy generated binaries with wrong architecture on Linux
- * Fix runtime error in pdeploy when building for Windows
- * Support for Maya 2013
- * ARToolKit now also works on Mac OS X
- * WM_CLASS can be set using x-wm-class and x-wm-class-name
- * No longer crashes when Xrandr is not supported
- * Aux normals are now also normalized when no lights are applied
- * Fix hidden cursor when switching fullscreen on Mac OS X
- * PackageInstaller didn't add packages to system paths
- * Allow disabling custom cursor on Windows
- * Fix incorrect panning of 3D audio
- * Fix omission of textures of non-standard format in ShaderGenerator
- * Fix compile issue with newer gcc versions
- * Fix circular reference held by ActorNode
- * Window is now correctly centered on Windows
- * Fix confusion with depth range of Lens::project()
- * Now successfully compiles against recent SSL versions on Windows
- * Fix incorrect Cg TEXUNIT0 binding during the first frame
- * TextNode::set_text_scale now correctly scales spaces as well
- * Expose AudioLoadRequest to Python (for async audio loading)
- * Support for the libRocket debugger
- * Fix newline entry in libRocket
- ------------------------ RELEASE 1.8.0 ------------------------
- This is a major release, with several big new features. As such,
- it is likely to contain bugs.
- * True threading support now enabled in the default build
- * Pipelined rendering: app, cull, and draw can run in parallel, each
- in their own thread
- * Web plugin is more robust, and better supports Safari and Chrome
- * Plugin runs properly when the username contains non-ASCII characters on Windows
- * Added appRunner.p3dFilename and appRunner.p3dUrl to provide p3d
- location
- * Multifiles (and p3d files) now make a distinction between binary and
- text files
- * OccluderNode added for explicit occlusion culling
- * Ambient occlusion generation for terrain
- * Fixed bug where Windows installer wipes %PATH% when it's too long
- * Added fog support to the shader generator
- * Added normal_gloss texture mode
- * Added a custom color option to the cartoon filter
- * Support for texture arrays in shaders
- * Better shader support in pandadx9
- * Fix some issues with cube map buffers
- * Can be compiled to use double-precision floats throughout, instead
- of the default of single-precision floats. (Graphics drivers still
- use single-precision floats, of course.)
- * Can be compiled with the optional Eigen library to provide SSE2 support
- * Can be compiled with SpeedTree support
- * Can be compiled on MSVS2010, and/or Win64. (These builds not
- provided by default.)
- * Support for the Bullet physics engine
- * Support for the libRocket GUI library
- * Support for stereo/multiview textures
- * Substantial performance improvements to movie textures
- * TGA files with alpha channel now load correctly
- * New "Ramdisk" mount type available for the VFS
- * The VFS is now writable for ramdisk files and true on-disk files
- * pdeploy -i generates a custom icon for the installed game
- * wx and tk work better on OSX
- * Panda windows can be embedded within wxPython windows on all
- platforms (including OSX) with the new WxPandaWindow class
- * Added base.pixel2d for pixel-based 2-D coordinates
- * Python-based swizzling of Panda vectors, e.g. vec2.xyxy
- * Python programmers can now optionally use the original unmangled C++
- name for methods and classes, e.g. model.set_pos(LPoint3f(1, 2, 3)).
- * Command-line filename globbing now supported on Win32, e.g. egg-texture-cards *.png
- * DirectGui works with nonstandard coordinate-system in effect
- * Egg loader handles double-sided polygons a little differently by
- default now, for better render performance but more memory usage
- (use "egg-emulate-bface 0" to restore the old behavior if needed).
- ------------------------ RELEASE 1.7.2 ------------------------
- This release fixes several bugs that were found in 1.7.1.
- * Fix crash on GLX implementations that have no FBConfig support
- * Fix trouble with buffers on Mac OS X
- * Un-break shadow samplers in Cg shaders
- * Fixes for relative mouse mode on OSX
- * Pdeployed apps on Windows no longer show a console window
- * Fix relative file paths for license files in pdeploy
- * Ppatcher no longer writes out faulty checksums
- * Fix plugin failure to read from cache
- * Include missing X11 extension libs in runtime distribution
- * Fix disappearing windows with CEGUI's OpenGL renderer
- * Fixes for makepanda on FreeBSD
- * Fix LightRampAttrib crash
- * Fix bug with two-parameter Lens::set_fov
- ------------------------ RELEASE 1.7.1 ------------------------
- This release introduces several significant bugfixes,
- but also introduces various minor new features. Although
- it is a minor release, it may also introduce new bugs.
- * Many improvements and bugfixes to pdeploy
- * Vectors now support swizzle/write masks (e.g vec.xz)
- * Fixes for depth buffer instabilities on Windows
- * Better webcam support on Linux using Video4Linux
- * Custom cursor support in X11
- * Static functions that return a list are now properly wrapped
- * ODE objects now have getId() exposed to Python
- * NodePath.findMaterial now works properly
- * Remove unnecessary dependency on GLU
- * Arithmetic operators to PNMImage
- * Various OpenGL ES-related bugfixes
- * Support for EGL and OpenGL ES in makepanda
- * Fix a crash with the Maya converters
- * Include missing p3d tools on Windows
- * Include tinyxml as part of the source
- * Updates to PandAI
- * Compile issues with latest OpenSSL fixed
- * Fix static-init ordering issues with OpenSSL
- * Several other bugfixes and features not listed here
- ------------------------ RELEASE 1.7.0 ------------------------
- This major release introduces tons of cool new features. As it
- is highly experimental, it is not recommended for production use.
- * Support for running Panda3D apps in a browser via web plugin
- * Fully automatic shadow mapping
- * Easy to use distribution and packaging framework
- * Integrated support for NVIDIA PhysX
- * Support for GLSL shaders
- * Geometry shaders, both in Cg and GLSL
- * Improved Cg support
- * Hardware geometry instancing support
- * Runtime fullscreen toggle
- * Unix/X11 resolution querying/switching support
- * Experimental Unix/X11 support for relative mouse mode (via xf86dga)
- * New, cleaner import conventions, replacing PandaModules
- * Parallax mapping
- * Support for OpenGL ES 1 and 2
- * Experimental Screen Space Ambient Occlusion
- * New collision solid: box
- * Working FreeBSD support
- * Blur / Sharpen postprocessing filter
- * Many improvements to the Shader Generator
- * Fixes and improvements to DistributedObject network system
- * New AI libraries
- * Added MeshDrawer2D
- * Most Panda objects now work with the pickle/cPickle and copy modules.
- * Windows build now compiled for Python 2.6
- * Tons of new features and bugfixes
- ------------------------ RELEASE 1.6.2 ------------------------
- This is mainly a bugfix release. Also fixes some bugs that
- were accidentally introduced in 1.6.1.
- * Fixed a static-init issue in ptloader on Windows
- * Fixed texture scaling issue when using buffers
- * x2egg is no longer broken
- * Threading in OSX build fixed
- * Fixed issue with flickering colors in Shader Generator
- * Eggcacher now uses less RAM
- * Missing 'models' dirs in packpanda games fixed
- * Eggcacher step in Panda3D installer is now optional
- * Fixes broken shortcut links in Start Menu on Windows
- * Shader Generator now supports clip planes
- * Bug with combine modes in Shader Generator fixed
- * Fixed bug with Texture::make_copy()
- * Bug with Actor LOD fixed
- * Fixed bug with missing geometry in Collada converter
- * OdeUtil.collide instability fixed
- * OdeBody setData/getData methods exposed to Python
- ------------------------ RELEASE 1.6.1 ------------------------
- This release fixes some bugs found in 1.6.0, and adds some
- minor features as well.
- * Threading layer is now enabled by default
- * cTrav.showCollisions fixed
- * Fixed broken MovieTexture
- * OpenAL is now stable on Linux, too
- * OpenAL now supports dynamic playrate changing
- * MayaPandaTool now handles NURBS correctly
- * Fixed particle panel and directtools bugs
- * Fix crash with collada exporter on Windows
- * ARToolkit jittering fixed
- * Now possible to override shader vertex/fragment profiles
- * Maya exporter fixed on OSX
- * Fixed depth texture crash for padded textures
- * Fixed bug that made OdeUtil.collide return empty geoms
- * Fixed crash with render.flattenStrong() when using trackball
- * Several improvements to the ODE layer
- * Performance improvements to GeoMipTerrain
- * GeoMipTerrain.setBorderStitching to fix seams between terrains
- * installpanda.py for installing Panda on Linux without deb/rpm
- * Several other minor bugfixes
- ------------------------ RELEASE 1.6.0 ------------------------
- This release introduces several major new features and
- significant bugfixes. It is likely to be buggy, like most
- x.x.0 releases.
- * Lightweight threading framework without runtime overhead
- * Makepanda now fully supports OSX
- * DDS textures are now supported
- * COLLADA->egg converter added
- * New C++-based Task system, which includes async threading support
- * Support for asynchronous on-demand loading of textures and/or animations
- * New software-based renderer "tinydisplay"
- * More pythonic features: iterable methods, implicit parameter casting
- * Packpanda now also supports Linux
- * Added libsquish support for DXT compression
- * New MeshDrawer class for realtime mesh manipulation
- * Infamous FBO bug fixed
- * Preliminary support for Volumetric Lighting
- * Shader k-parameters can now contain underscores
- * Fixed OpenCVTexture and ARToolKit on Linux
- * GeoMipTerrain now supports multi-channel heightmaps
- * GeoMipTerrain features new near/far LOD system
- * GeoMipTerrain performance improved
- * CallbackNode added to support low-level drawing callbacks from Python
- * Fixed some minor but annoying OpenAL/FFMpeg issues
- * Fixed bug with lcontrol and rcontrol on Linux
- * Fixed bug regarding icon filenames
- * Multisampling fixed on Linux and OSX
- * Left and right scrolling events now available
- * Several improvements to API reference
- * ShaderGenerator now supports several more blend modes and color scale
- * .x converter now supports AnimTicksPerSecond
- * vfs-mount-url can load models directly off the web
- * Smoother transitions in FadeLodNode
- * Dynamically-generated outline on fonts: loader.loadFont(outlineWidth = xxx)
- * Texture.getRamImageAs()
- * base.toggleTexMem()
- * Text generation performance optimization
- * Various performance optimizations
- * Several more minor bugs fixed
- ------------------------ RELEASE 1.5.4 ------------------------
- This is a bugfix release, fixing the problems found in 1.5.3.
- * Fixes packpanda crash
- * Linux build accidentally got configured for OpenAL
- * EggTexture now writes wrap modes and types correctly.
- * Fixes an occasional crash in TextureAttrib
- * DirectEntry no longer crashes when moving cursor in a full box
- * Several bugs in RigidBodyCombiner fixed
- * Normals generated by GeoMipTerrain are now correct
- * Bugs fixed in DirectGrid
- * Linux users can now use WindowProperties.setParentWindow
- * Fmod now compiles on 64-bits
- * Fixed several bugs in the API reference generator
- * EggNurbsSurface is now exposed to Python
- * Fixes a bug in PGButton
- * GeoMipTerrain set_heightfield fixed
- * Several bugs in the Max exporter:
- - Now generates binormals and tangents
- - Pview output fixed
- - Overwrite confirmation fixed
- - Export type 'Both' now works correctly
- * Several other bugs not listed above.
- ------------------------ RELEASE 1.5.3 ------------------------
- This release fixes most of the remaining bugs, but it adds
- some new features as well.
- * License changed to BSD
- * Fixes x-file parser for real, this time.
- * Fixes serious bug in shader generator
- * Adds MSVCR71 and MSVCP71 back to the distro (for python)
- * Fixed a bug in GeoMipTerrain
- * Adds support for .egg.pz to packpanda --bam
- * Turns on libpandaode support
- * Mayapandatool fixed
- * Added support for 3dsmax 2009
- * Max exporter overhauled
- * Improved support for 64-bits, gcc 4.3 and OSX
- ------------------------ RELEASE 1.5.2 ------------------------
- This fixes just one serious bug: release 1.5.1 accidentally
- reversed the TextureStage sort order.
- ------------------------ RELEASE 1.5.1 ------------------------
- Mostly a bugfix release, but adds some minor features too.
- - The x-file parser now is back to being case-insensitive, as it should be.
- - Panda plugins now use an explicit plugin-path.
- - Better DLL-hell protection under windows.
- - Added GeoMipTerrain (but no docs yet)
- - Using python -E in the start menu - really, this time.
- - Linmath classes now initialized when using python.
- - ConfigVariableSearch
- - Implicit sort order for texture attribs.
- - OpenAL audio manager now gives control over streaming vs preloaded sounds.
- - Preliminary support for 64-bit linux (but thirdparty libs missing).
- - Fixes a dozen or so assorted bugs.
- ------------------------ RELEASE 1.5.0 ------------------------
- * Shader Generator means advanced rendering without
- having to manually write shaders. Includes:
- - Per-Pixel Lighting
- - Normal Maps
- - Gloss Maps
- - Glow (Self-Illumination) Maps
- - HDR tone mapping
- - Cartoon shading
- * Class 'CommonFilters' makes it easy to do image postprocessing:
- - Bloom Filter
- - Cartoon Inking
- - More coming soon.
- * Maya exporter now supports normal maps, gloss maps, glow maps.
- * Now compiled for Python 2.5
- * Adds support for Maya 2008 export.
- * Lots of small tweaks, bugfixes, performance improvements, etc.
- ------------------------ RELEASE 1.4.2 ------------------------
- * Added code for mouse-trail logging.
- * Fixed a minor bug in the new OpenAL code.
- * The installer now uses less memory.
- * Now easier to compile with recent versions of SSL.
- * Minor bugfix in exposeJoint
- * Added config variable: basic-shaders-only
- * graphicsEngine.removeWindow() and graphicsOutput.setOneShot() fixed.
- * Roaming ralph sample now uses collision detection correctly.
- ------------------------ RELEASE 1.4.1 ------------------------
- This release:
- * fixes a couple of small bugs
- * adds support for the new OpenAL/FFMpeg unified sound/video system.
- * renames the sample programs in a more sensible way
- ------------------------ RELEASE 1.4.0 ------------------------
- This release incorporates lots of small, incremental
- improvements.
- * Model-cache enabled by default in prepackaged release.
- * Now compiling with visual studio 2005.
- * Plugin installation now slightly harder --- see instructions in plugins dir.
- * Improved OSX support: mouselook, fmod fixes, icon filename.
- * Better memory usage tracking from pstats.
- * Removed dependencies on NSPR.
- * New default-model-extension prc variable (instead of old implicit-extension behavior)
- * New arc emitter in particle system.
- * Multiple different Actors can be flattened into one node.
- * Texture compression in DX8, DX9.
- * New features to support low-memory platforms.
- * ParametricCurveDrawer etc. officially deprecated in favor of RopeNode.
- * DynamicTextFont::RenderMode allows generating geometric fonts (instead of always using texture-based fonts).
- * Some integrated support for ODE (not yet polished and ready)
- * New RigidBodyCombiner unifies independently moving bodies into a single Geom as a rendering optimization.
- * Support for depth-stencil textures.
- * Better support for fullscreen mode on Linux.
- * Panda GL/DX windows can be subordinate to other windows (Win32 only).
- * Better multithreaded protection.
- * Interrogate correctly handles "const" vs. non-const objects.
- * PlaneNode::set_clip_effect allows user-defined cull planes (in addition to clip planes).
- * Several low-level rendering optimizations.
- * Simple occlusion culling with PipeOcclusionCullTraverser.
- * Optional bounding boxes (instead of spheres): "bounds-type box", "bounds-type best"
- * Addition of eggcacher utility to preload model-cache.
- * In source tree, added 'skel' directory to make it easier for newcomers to extend panda.
- * The obsolete config variable framebuffer-mode has been removed.
- I have no doubt that there will be a few significant bugs in this release, like all X.X.0 releases. - Josh
- ------------------------ RELEASE 1.3.2 ------------------------
- Bugfix release. This fixes a few problems in 1.3.1
- * Sound system won't initialize properly under linux: Fixed.
- * Panda DLL names now all start with "libp3" or "libpanda"
- * Normals reversed in heightfield tesselator: fixed.
- ------------------------ RELEASE 1.3.1 ------------------------
- Bugfix release. This fixes a few problems in 1.3.0
- * Sound system won't initialize properly under linux: Fixed.(Update: Not fixed)
- * Panda not compatible with SElinux: mostly fixed, except fmod.
- * Max exporter and importer broken: Fixed.
- * Minor problem involving gsg handling in showbase: Fixed.
- ------------------------ RELEASE 1.3.0 ------------------------
- This release contains several new features, and as such, it might be
- buggy. However, we've been testing it internally for a couple weeks,
- and it seems to be okay. It contains the following new features:
- * Stencil buffers and stencil operations now supported.
- * Sound API now supports DSP and better support for large MP3s.
- * Video uses FFMPEG instead of DirectShow - no more codec issues.
- * Heightfield terrain.
- * Support for intra-frame animation interpolation.
- * Use of 'import *' now only imports correct symbols.
- * Various minor improvements to the particle system.
- * Scene editor at least partially operational (alpha level)
- * Removed most of the 65,536 vertex-per-mesh limits.
- * Various low-level optimizations.
- * Support for threaded model loads (only in CVS, not in distro).
- * Support for 'model-cache-dir', which caches a BAM each time you load an EGG.
- * OnscreenText/DirectLabel can contain embedded 3D models inside the text.
- ------------------------ RELEASE 1.2.3 ------------------------
- The last release was a disaster:
- * I failed to fix packpanda.
- * I broke the tcl/tk stuff.
- * I added ppythonw, and it wasn't reliable.
- So basically, this release fixes packpanda and tcl/tk. It doesn't
- fix ppythonw yet (I don't know what's wrong), but it does disable
- it temporarily. It keeps the few things from 1.2.2 that were worth
- keeping.
- ------------------------ RELEASE 1.2.2 ------------------------
- This is a minor bugfix release.
- * Adds 'ppythonw', a version of ppython that doesn't
- open a console window.
- * If you have a bad fmod DLL in your windows folder,
- this version compensates.
- * Fixes a small bug in the VRML-to-egg converter.
- * Small stylistic improvements in some sample programs.
- ------------------------ RELEASE 1.2.1 ------------------------
- This release is likely to be much more stable than its predecessors.
- It contains many new features:
- * lots of performance optimizations
- * a preliminary OSX port
- * new modes for animation blending
- * easier partial-body animations
- * more powerful shader-to-engine interface
- * better support for rotating bodies in physics engine
- * support for compressed model files
- * multiple render targets (ie, glDrawBuffers)
- * support for stereo rendering
- * more complete API reference manual
- * ability to control mipmaps explicitly
- * better tools for debugging offscreen buffers
- * new sample programs
- * a number of packpanda repairs
- ------------------------ RELEASE 1.1.0 ------------------------
- This is a BETA release. It's pretty reliable, but there are still a
- few quirks here and there. Over the summer, Panda3D was overhauled
- top to bottom. The new code is dramatically improved, but it needs a
- little bit of testing. The new features are:
- * Much faster rendering of high-poly models.
- * Dramatically improved vertex and pixel shader support.
- * New demo programs using shaders and render-to-texture.
- * Play movies by using an AVI as a texture (windows only).
- * Python scripting uses much faster python to C++ interface.
- * Support for procedurally-created geometry (eg, fractals, etc).
- * Cleaner, simpler internal data structures.
- * Comes with Python 2.4 support built-in.
- * A lot more.
- The new demo programs are:
- * Render to Texture Demo
- * Cartoon Shader Demo
- * Motion Trails Demo
- * Procedural Geometry (Fractals) Demo
- * Normal Mapping Demo
- However, a caution: this is a BETA release: reasonably stable, but
- not quite perfect. Please send us your bug reports.
- ------------------------ RELEASE 1.0.5 ------------------------
- UPDATE: this release broke support for visual studio. Use
- panda3d 1.0.4 if you wish to compile panda from scratch using
- visual studio.
- This release consists mainly of compatibility improvements.
- * Now compiles under MS Visual Toolkit (makefile changes)
- * Now compiles under Mandrake 10.1 (a fix in the makefile)
- * Now compiles under Debian Sarge (a fix in the VRML lexer)
- * Now compiles under Ubuntu HH (same as DEBIAN SARGE)
- * Add code for building debian 'deb' archives.
- * Fix scene editor and particle panel so they work on linux.
- * Add support for --no-python to makepanda.
- * Tidied up makepanda a bit.
- ------------------------ RELEASE 1.0.4 ------------------------
- * This version includes the new Max exporter and the new Maya
- export panel.
- * We have added the --genman option to makepanda (to
- regenerate the API reference manual). This uses the epydoc
- documentation-generation system.
- * Several bugs in the new tutorials have been repaired.
- * A bug in fmod positional audio has been fixed.
- * Makepanda now puts the maya and max plugins in a
- separate 'plugins' directory, for convenience.
- * The 'libpandaegg' library has been exported to python.
- ------------------------ RELEASE 1.0.3 ------------------------
- * The binary release contains a brand new collection of
- sample programs. The new sample programs are much better.
- * If you install the windows binary release, the
- sample programs can now be run from the start menu.
- * Lighting under DirectX was broken. This has been repaired.
- * The binary release has been compiled with support for pstats.
- (Previously, it was compiled with pstats disabled).
- * Various changes to make panda3d more compatible with
- the 'epydoc' documentation-generation system.
- ------------------------ RELEASE 1.0.2 ------------------------
- This is a bugfix release.
- * makepanda contained a bug: it was compiling maya2egg6
- against the Maya 5.0 libraries, making it largely useless.
- This is fixed.
- * Maya2egg65 has been added, for Maya 6.5 users.
- * The configuration combo "want-tk=false, want-directtools=true"
- used to confuse panda, because directtools uses Tk. Now
- it's smart enough to do the right thing.
- * When you ask controlJoint to create a control node for
- you, it initializes the control node to the joint's initial
- position.
- * The scene editor supposedly works now. We'll see.
- * The models directory was missing the animation 'panda-walk4',
- which is necessary for the tutorial.
- * A new directory 'win-extras' has been added to the
- thirdparty tree. This contains some miscellaneous python
- libraries needed at the Entertainment Technology Center.
- The script that builds the windows installer will include
- these libraries in the distribution.
- ------------------------ RELEASE 1.0.1 ------------------------
- This is a bugfix release.
- * In the previous binary release, Config.prc did not contain a
- load-display line. This confuses pview. Pview is being fixed,
- but until then, the load-display line has been restored.
- * The Max and Maya plugins were inadvertently omitted from the
- previous binary release. This has been corrected.
- * An error in the distributed object networking layer has
- been fixed. The error only affected those who were trying to
- write LAN games using the CMU LAN server and p2p messages.
- * An error in the physics code has been corrected.
- * Python Megawidgets (pmw), which is required for "directtools",
- was not supplied in the previous release. We are now including
- pmw. In the Linux RPMs, to avoid overwriting any
- distribution-supplied pmw package, we put this package
- into /usr/share/panda3d.
- * To be consistent, we moved all the other python code into
- /usr/share/panda3d as well. This requires a file 'panda.pth'
- in the python lib directory.
- * In the binary RPMs, the file permissions of the python
- source files have been changed to 555, so that even if root
- runs panda, the '.pyc' files will not be modified or regenerated.
- ------------------------ 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.
- * Panda no longer requires any registry keys or environment
- variables. This means it is now possible to run panda directly
- from a CD, install multiple copies of panda on a single machine,
- or install panda by copying the tree from another computer.
- Note that the installer does add the panda 'bin' directory to
- your PATH, and it does store an uninstall key in the registry,
- but neither of these is needed for panda to function.
- * The 'makepanda' build system is now capable of building
- prepackaged games for Windows. These prepackaged games are simply
- copies of panda with the game code included, some of the
- unnecessary stuff stripped out, and some changes to the start
- menu. See "Airblade - Installer" on the panda downloads page
- for an example.
- * This is the first release to include not just a binary installer
- for windows, but also binary RPMs for fedora 2, fedora 3, and
- redhat 9.
- * All of the sample programs have been tested. The ones that didn't
- work have been removed, the ones that do work have been (lightly)
- documented.
- * In the Win32 binary release, the 'config.prc' file has been moved
- to the 'etc' directory. This is to make it consistent with the
- Linux version.
- 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.
- * We now have working exporters for Max5, Max6, Max7, Maya5, Maya6.
- (Update: these were accidentally omitted from the binary release)
- * The Max exporter is dramatically improved: it now includes support
- for character studio, and the polygon winding bug has been fixed.
- ------------------------ RELEASE 2004-07-27 ------------------------
- Configuration, installation, and execution environments:
- * We have moved to a new, more explicit naming convention for our
- import statements. Rather than installing all Python files into
- one big flat namespace, we now import them from their appropriate
- directories, e.g. "from direct.actor import Actor".
- * "from ShowBaseGlobal import *" is replaced with "import
- direct.directbase.DirectStart" and/or "from pandac.PandaModules
- import *".
- * The old "generatePythonCode" script has been replaced with a new
- "genPyCode" script that automates the Python wrapper generation
- process without requiring any special parameters.
- * The old dependencies on environment variables have been removed.
- There are no longer requirements for any environment variables to
- be set in either the build process or the runtime environment
- (although a few optional environment variables remain to allow
- custom configuration).
- * INSTALL document greatly enhanced for clarity.
- * An automatic build script is now provided to further simplify
- building Panda3D for Unix and Cygwin users.
- * The old "Configrc" filename to identify runtime configuration
- files is deprecated; configuration files should now be named
- Config.prc, or in general, *.prc. The system-default
- configuration files are auto-generated as 20_panda.prc,
- 30_pandatool.prc, and 40_direct.prc (the numeric prefixes control
- the order in which these are loaded at runtime).
- Rendering system:
- * Some deprecated methods of CollisionEntry have been flagged to
- raise an exception now; these are replaced with the newer
- interfaces that can return a collision point in an arbitrary
- coordinate system.
- * Camera::set_cull_center() can be used for debugging culling by
- setting the effective point of visibility culling different from
- the actual point. From Python, use base.oobeCull() to examine
- this effect.
- * Alt-Enter in pview toggles between fullscreen and windowed modes.
- * Added experimental support for GL display lists.
- Scene graph:
- * Exposed methods to directly retrieve and set the individual
- vertices of a GeomNode from Python code.
- * The new PortalNode defines the interface for Panda's new
- cell-portal visibility system; each PortalNode is a window into
- another zone, or a separate subgraph; the PortalNode can hide or
- show the subset of its zone's geometry visible through its
- "portal".
- * The new PolylightNode applies a simple lighting-like effect
- without actually using lighting; objects will brighten or darken
- as a whole according to their proximity to the light. Use
- PolylightEffect to enable this effect.
- * The new FadeLODNode works like ordinary LODNode, but the switches
- are alpha-blended in over a short period of time rather than
- popping immediately.
- Text display:
- * Text now supports embedded mode changes--special characters to
- switch fonts, colors, scale, etc. within a line or within a
- paragraph.
- * Windows IME is better supported by Panda/Direct widgets
- (e.g. PGEntry and/or DirectEntry) in fullscreen mode as well as in
- windowed mode.
- Model converters:
- * dxf2egg and egg2dxf added to converters, as well as to inline
- conversion supported via ptloader.
- ------------------------ RELEASE 2004-03-29 ------------------------
- Miscellaneous:
- * We once again support the Microsoft VC6 compiler.
- * The "pstats" program is now provided in the Windows environment as
- part of pandatool. It is similar to "gtk-stats" on a Unix
- environment, and can be used to view a real-time graph of
- performance timing in a running Panda process. See
- panda/src/doc/howto.use_pstats.
- * New session recording and playback support allows capturing user
- and network input to a disk file, for replaying later, offline.
- Use "record-session filename.boo" and "playback-session
- filename.boo" in your Configrc file.
- * The genPyCode script now uses PythonWare's SqueezeTool to
- "squeeze" the large number of generated .py files into a single
- shared library, for substantially improved startup times on
- Windows.
- * The Task system now has substantially reduced overhead when many
- doLater's are waiting in the system.
- * The png image file type is now supported.
- Rendering system:
- * Introducing native DirectX9 graphics support, although we do not
- yet support any features specific to DirectX9, such as
- programmable shaders.
- * DirectX7 and DirectX8 modules are now somewhat more robust.
- * New support for offscreen rendering and render-to-a-texture, which
- will become part of a general multipass-rendering interface.
- Presently supported in OpenGL, with limited DirectX support. Use
- GraphicsWindow::make_texture_buffer() to make a buffer you can
- render into and apply the result as a texture map to objects in
- your scene. The NonlinearImager in the distort directory is a
- complex example of using this interface.
- * Explicit support for the Mesa 3D library's software-based
- offscreen rendering, allowing a Panda program to generate
- offscreen images as a background process, independently of any
- graphics card or desktop environment.
- * GraphicsLayer and GraphicsWindow render order can now be easily
- adjusted dynamically with set_sort() methods.
- * Built-in frame rate meter can be activated by setting
- "show-frame-rate-meter 1" in your Configrc file.
- Scene graph:
- * New tag system on PandaNodes allows storing of arbitrary string
- data on nodes, keyed by a string dictionary. The
- NodePath::get_net_tag() interface retrieves the data value for a
- particular tag on a node or the nearest ancestor of the node.
- NodePath::find() can search for a node in the scene graph with a
- given tag or tag/value pair.
- * Explicit shear transforms are now supported on nodes, as well as
- in character animation tables.
- * Characters now have an interface to control joint and slider
- values dynamically, instead of strictly from an animation file.
- Use Actor.exposeJoint() and/or Actor.controlJoint().
- * Nurbs surfaces and curves can now be rendered directly by Panda,
- which will tesselate them on the fly at some CPU cost. This is a
- modeling convenience only; it is not intended to be used for
- production code. Triangle strips are still the fastest way to
- render complex surfaces.
- * However, Rope.py is now provided as a high-level wrapper around
- Panda's runtime NURBS curve evaluator; it can render dynamic
- curves in a variety of ways.
- * The egg library is now published to Python, allowing construction
- of geometry on-the-fly by show code for convenience. This is also
- intended as a developer's convenience more than a production
- feature.
- Text display:
- * The special character \3 (ASCII 0x03) embedded in a text string
- indicates the position of a soft hyphen when wordwrap mode is in
- effect. The character \4 (ASCII 0x04) serves as a hyphenless
- invisible break point.
- * A default font is compiled in even if the FreeType library is not
- available.
- * pnmtext library added for rendering text directly into an image.
- * New egg-mkfont utility uses FreeType to generate static font
- models that Panda clients without FreeType can use to render text.
- Collision and physics system:
- * More robust collision interface, supporting NodePaths properly so
- that collisions detected into (and from) particular instances of
- nodes can be differentiated. CollisionEntry has a much simpler
- mechanism for getting the intersection point and normal in an
- arbitrary coordinate space defined by a NodePath, instead of the
- user having to convert the coordinate space by hand.
- * New CollisionVisualizer object to visually show collisions as they
- are tested and detected, useful for optimizing collision
- performance. Activate this with
- base.cTrav.showCollisions(render).
- * Implicit velocity system is now integrated with scene graph; the
- relative velocity of moving nodes is automatically considered when
- testing for most kinds of collisions. Use
- NodePath::set_fluid_pos() to indicate that a node is moving
- fluidly to its new position and should test for collisions along
- the way (as opposed to the more traditional NodePath::set_pos(),
- which unconditionally sets the node to its new position).
- * Introduction of "tube" collision shapes, sometimes called
- "capsules" in other libraries. It is a cylinder capped with
- hemispheres.
- * CollisionSolid::set_effective_normal() provides a way to define a
- sloping surface with an apparently vertical normal, to prevent
- characters standing on the surface from sliding down.
- * Collision polygons now respect clipping planes.
- * Many changes to physics system.
- HTTPClient and net systems:
- * More verbose error reporting.
- * Better support for proxy servers, including SOCKS5 proxies.
- Model converters:
- * maya2egg converter now supports skeleton/morph animation files
- fully, including soft-skinning, hard-skinning, and morphs (blend
- shapes). NURBS and polygon meshes are both supported.
- * A new Maya plugin called libmayapview allows opening a Panda
- window from within Maya to view how the scene will look once it
- has been converted to Panda.
- * New soft2egg converter supports models and animation stored in
- SoftImage 4.3 files. (Newer versions of SoftImage are not
- supported.)
- * New egg2flt program more or less reverses flt2egg.
- * The ptloader Panda loader allows direct loading into Panda of most
- model file types defined within pandatool: Maya, flt, and lwo.
- Specify load-file-type ptloader in your Configrc file.
- * New egg-optchar preprocessor improves character animation runtime
- performance by eliminating unneeded joints. It can also
- reorganize a skeleton and/or expose joints for the show code's
- convenience.
- * New egg-qtess utility converts NURBS egg files to polygon egg
- files with either a trivial interface for quick conversions or a
- sophisticated parameter file for more precise control. It
- preserves soft-skinning and animation information.
- * New visibility flag in egg format allows model files to define
- invisible subtrees which will be initially stashed when loaded.
- * The egg library now allows implicit forward references to vertex
- pools, making it much easier to generate a valid egg file from a
- third-party model format.
|