| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409 |
- ------------------------ 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.
|