Changes in PixelLight 0.9.7-R1 (released on June 23, 2011) - Feature: Added a generic, script language independent, script interface within the PLCore component with support for - Global variables - Global functions (C++ calls script and script calls C++) - RTTI objects (properties, attributes, methods, signals, slots) - Namespaces - Feature: Added the script backend PLScriptLua which adds support for Lua - Feature: Added the experimental (in Git repository) script backend PLScriptV8 which adds support for JavaScript by using V8 (ECMA-262 compliant JavaScript engine) - Feature: Added the experimental (in Git repository) script backend PLScriptPython which adds support for Python - Feature: Added the experimental (in Git repository) script backend PLScriptAngelScript which adds support for AngelScript - Feature: Added plugin PLScriptBindings which exposes certain parts of PixelLight to script languages - Feature: The tool PLViewer can now also run scripted stand-alone applications instead of just showing scenes - Feature: Added demo Lua script "PLDemoSimpleScene.lua" which is a Lua port of the C++ PixelLight SDK demo "PLDemoSimpleScene", use e.g. PLViewer to run the script - Feature: Added "PLEngine::ScriptApplication" to the application framework, this class can load in and execute a given script out of the box - Feature: Added the C++ demo "PLDemoScriptApplication" showing how to use "PLEngine::ScriptApplication" in order to load in and execute a scripted stand-alone application - Feature: Added support for non-power-of-two textures (NPOT) - Feature: Added delayed shared library loading for plugins to speed up the program start and to reduce memory consumption - Feature: Completion of the internal string buffer manager to improve the overall string performance - Feature: Exposing C++ class methods to the RTTI has no longer an impact on the RTTI class instance memory requirements - Change: Changed event emit, to emit an event named "MyEvent" call "MyEvent()" instead of "MyEvent.Emit()" - Bugfix/Workaround: God-rays and HBAO were not working on "ATI Catalyst™ 11.3 driver" and "ATI Catalyst™ 11.5 driver" - Bugfix: Using the scene node debug flags "DebugContainerAABBox" and "DebugContainerSphere" together produced an graphics error - Bugfix: PLProject is now using the PLGeneral XML classes to write down plugin-files, this way strings within those plugin-files are always correctly encoded - Bugfix: PLCore: There was an issue when using a reference type as RTTI method result Changes in PixelLight 0.9.6-R1 (released on April 23, 2011) - Feature: Added new plugin "libRocket_PL" which integrates the free open source HTML/CSS game interface middleware "libRocket" (http://librocket.com/) into PixelLight - Feature: Added new demo "PLDemo_libRocket" showing how to use the new "libRocket_PL"-project within C++ projects - Feature: PLRenderer: Added uniform buffer (UBO, aka constant buffer) support, have a look at the PLDemoRendererTriangle demo project for an example how it can be used - Feature: Added another SSAO algorithm "PLCompositing::SRPDeferredSPAAO" which comes with a good performance while still looking ok - it's now the default SSAO algorithm - Feature: In order to use vertex texture fetch within "PLCompositing::SRPEndHDR", one must now set the new "UseVertexTextureFetch"-flag (we had some VTF GPU driver issues) - Feature: "PLGeneral::Url": Added UNC (Uniform Naming Convention aka Universal Naming Convention) support - Feature: Added "PLCompositing::SRPDeferredVolumetricFog" which is a special version of "PLCompositing::SRPVolumetricFog" for deferred rendering (better performance) - Feature: PLCompositing: "SRPLighting" & "SRPDirectionalLightingShaders" & "SRPDeferredGBuffer" are now using a material cache to reduce required CPU time (better performance) - Feature: Added methods to "PLGraphics::Image" to make it possible to copy, takeover and share user provided image data - Feature: Autodesk 3ds Max 2012 scene exporter added - Change: Updated from "Cg Toolkit 3.0 - November 2010" to "Cg Toolkit 3.0 - February 2011" - Change: "PLGeneral::System::GetMicroseconds()" and similar methods worked with 32 bit unsigned integer, changed to 64 bit unsigned integer - Change: PLMath: The operators <, >, <= and >= of Vector2i, Vector3i, Vector2, Vector3 and Vector4 are now using a lexicographical order - Change (Windows): The PL SDK now comes with the new "Microsoft Visual C++ 2010 SP1 Redistributable Package" and is build with MSVC 2010 SP1 - Change: PLRendererOpenGL & PLRendererOpenGLES optimization: Passing "empty" images to the GPU no longer creates internal image data - Change: "PLRenderer::GeometryShader" input/output primitive type and the number of output vertices can now be set by the user - Change: Updated "Newton Game Dynamics" from "2.24"(Linux)/"2.28"(Windows) to "2.32" (first free open-source version of this physics library) - Change: "SPARK_PL": Renamed previously experimental "SPARK_PL::SNFireDemo" scene node into "SPARK_PL::SNFire" - Change: "SPARK_PL": Separated renderer classes for fixed functions (was already implemented) and shaders (added implementation) - Change: Performed some minor physics joint scene node modifier refactoring to enhance the usability - Change: "PLCore::ConsoleApplication::OnInitData()" is now using English as the default language instead of the current system locale, this makes things more predictable - Bugfix: Added "Data/Misc/PixelLight_English.loc" to "Standard.zip" to fix the log message "[Error]: Can't open the file 'Data/Misc/PixelLight_English.loc' to load in the loadable 'Localization'!" - Bugfix: Fixed some problems with the GLSL shaders when using a NVIDIA graphics card or ATI graphics drivers from around 2009 - Bugfix: Linux: PLRendererOpenGL: "glXSwapIntervalSGI" was used without been defined, initialized or checked... - Bugfix: The swap interval (vertical synchronisation) setting is now working (as long as it is not overwritten by the GPU driver) - Bugfix: "PLGraphics:ImageData::Decompress()": There was an buffer overflow when decompressing images with none-multiple of 4 dimensions - Bugfix: If necessary, joint scene node modifiers need to transform the joint position and direction(s) into the physics world scene container - Bugfix: PLRendererOpenGL: When using a depth buffer texture format (D16, D24, D32) "FrameBufferObject::Initialize()" was also adding a color buffer, fixed that - Bugfix: PLRendererOpenGL: "gl_PointSize" in GLSL and "PSIZE" in Cg had no effect because "GL_VERTEX_PROGRAM_POINT_SIZE_ARB" was not enabled - Bugfix (ID: 3286541): "PLGeneral::XmlElement::GetLastAttribute()" was returning the first instead of the last attribute Changes in PixelLight 0.9.5-R1 (released on February 23, 2011) - Feature: New plugin "SPARK_PL": Integrates the free open source particle engine "SPARK" (http://spark.developpez.com) into PixelLight - Feature: Added new demo "PLDemoSPARK_PL" showing how to use the new "SPARK_PL"-project within C++ projects - Feature: Added new demo "PLDemoPicking" showing how picking works - Feature: "PLGraphics": Added basic support for half as image data format - Feature: "PLGraphics::ImageLoaderDDS": Added support for half/float images - Feature: "PLGraphics::ImageLoaderJPG": Added "fancy upsampling" and "interblock smoothing" as optional load parameters and "quality" as optional save parameter - Change (Windows): Migrated from Microsoft Visual Studio 2008 to Microsoft Visual Studio 2010 as the main development IDE - Change (Windows): OpenAL: Updated "OpenAL32.dll" from "6.14.357.22" to version "6.14.357.24", updated "wrap_oal.dll" from "2.1.8.1" to version "2.2.0.5" - Change (Windows): Updated "Newton Game Dynamics" from "2.24" to "2.28" - Change: Migrated from "NULL"-definition for a null pointer to "nullptr" introduced by C++0x and already supported by multiple modern compilers - Change: Migrated from C style casts ("int i = (int)42.21f") to C++ style casts ("int i = static_cast(42.21f)") - Change: "PLGeneral::String": Refactoring of the UTF8 support for better interaction with other libraries and frameworks like Qt - Change: Moved the somewhat out-dated particle group base class "PLScene::SNParticleGroup" into the "PLParticleGroups" plugin project - Change: Updated libogg from "1.2.0" to "1.2.2" - Change: Updated libvorbis from "1.3.1" to "1.3.2" - Change: Updated from "Cg Toolkit 3.0 - July 2010" to "Cg Toolkit 3.0 - November 2010" - Change: Updated OpenEXR from "1.4.0" to "1.6.1" - Change: "PLPhysics::SNMPhysicsBody": Made following attributes to flags: InitFrozen->InitUnfrozen, AutoFreeze->NoAutoFreeze, UseGravity->NoGravity, UseRotation->NoRotation - Bugfix: The PLImageLoaderEXR plugin was broken, loading exr (high dynamic range image file format) images is working again - Bugfix: "PLGraphics::IEConvert" e.g. RGB to RGBA is now working for floating point image formats - Bugfix: "PLGraphics::IEScale" was not always working correctly - Bugfix: "PLPhysics::SNMPhysicsCharacterController" rotation was broken in "PixelLight 0.9.4-R1" - Bugfix: "PLGraphics::ImageLoaderJPG": Saving a given RGBA image was not working - Bugfix: "PLScene::SceneNode::DirtyAABoundingBox()" was buggy, this caused e.g. particle effects to be "culled to early" - Bugfix: "PLMath::Math::GetRandNegFloat()" was broken Changes in PixelLight 0.9.4-R1 (released on December 23, 2010) - Feature: Linux 64 bit support for a minimal build added (64 bit support for optional projects not yet added) - Feature: Added basic PLDemoRendererTexturing demo - Feature: Added "PLEngine::SceneRendererTool" helper class for simplified scene renderer access - Feature: Autodesk 3ds Max 2011 scene exporter added - Feature: Performance improvements within the string implementation - Feature: Added a static adapter class within PLGeneral for mapping Qt strings to PixelLight strings and vice versa - Change: Integrated "PLCompositing::SRPPostProcessing" into the compositing system, now it's possible to use post processing within the deferred scene renderer - Change: Moved nearly all compositing relevant classes from PLScene to PLCompositing - Change: Scene graph update refactoring for less CPU usage - Change: All file loader implementations now also have versions of the filename extensions written in capital letters (e.g. beside "tga" also "TGA") - Change: Updated libpng from "1.2.44" to "1.4.5" Changes in PixelLight 0.9.3-R1 (released on October 23, 2010) - Feature: Added support for "LATC1" and "LATC2" (formally "3DC"/"ATI1N"/"ATI2N" on ATI GPU's only) texture compression - Feature: Cg shader language support is now optional (PLRendererOpenGLCg plugin) instead of directly build in within PLRendererOpenGL - Feature: Deferred scene renderer and HDR compositing steps are now supporting GLSL as well instead of just Cg - Feature: Added MinGW support to the header file "PLGeneralWindows.h" from "PLGeneral" - Feature: Input control scene nodes and scene node modifiers are now using virtual input controllers instead of accessing input devices directly - Feature: Within "PLScene::SceneApplication::OnInputControllerFound()", input control can be changed (e.g. assigning other keys) - Feature: Deferred scene renderer performance improvements (if the CPU is the bottleneck) - Change: Updated from "Cg Toolkit 2.2, February 2010 Release" to "Cg Toolkit 3.0 - July 2010" - Change: Introduced new "PLRenderer::ShaderLanguage" interface, removed "CreateShader()" and "CreateProgram()" within "PLRenderer::Renderer" - Change: Camera zoom input control modifier "PLScene::SNMCameraZoom" was replaced by "PLScene::SNMCameraZoomController" - Change: "PLPhysics::SNMPhysicsCharacterController" is now using a virtual input controller instead of accessing input devices directly - Change: "PLPhysics::SNPhysicsMouseInteraction" is now using a virtual input controller instead of accessing input devices directly - Change: "PLScene::SNMMoveController" is now using a virtual input controller instead of accessing input devices directly - Change: "PLScene::SNMOrbitingController" is now using a virtual input controller instead of accessing input devices directly - Change: New "PLScene::SNMLookController" scene node modifier as replacement for "PLScene::SNMMouseLookController" - Change: Renamed "PLScene::SNMMouseOrbitingController" scene node modifier into "PLScene::SNMOrbitingController" - Removed: Old shader interface within PLRenderer - Removed: "PLScene::SNMMouseMoveController", use "PLScene::SNMMoveController" with virtual input controller instead - Bugfix: Within some GLSL shaders, the not specified "clamp(float, int, int)" was used, which didn't work on every system - Bugfix: Fixed PLDemoRendererRTT graphics bug - Bugfix (Windows): The precompiled PLDemoNetworkChat binary within the SDK is now a correct console application - Bugfix: "PLGeneral::String" < and > operators fixed Changes in PixelLight 0.9.2-R2 (released on August 27, 2010) - Bugfix (Windows): Wrong dependency to debug version of MSVC runtime fixed (libfreetype) Changes in PixelLight 0.9.2-R1 (released on August 23, 2010 - first public PixelLight release) - Feature: The PLGui project was replaced by it's third complete refactoring - Feature: Added XML versions of the PixelLight chunk and the PixelLight mesh file format - Feature: Linux port improvements, PixelLight now runs as a whole under Linux as well - Feature: OpenGL ES 2.0 renderer backend for mobile devices - Feature: Initial support for the mobile platform Maemo (used for example by Nokia N900) - Feature: PLInput now also supports device output controls such as rumble and force-feedback effects as well as control over device LEDs - Feature: PLInput now also supports virtual devices for device control mapping - Change: Application framework refactoring - Change: PLInput refactoring - Change: Renamed PLEngine project into PLScene - Change: Added new PLEngine project - Change: Merged PLCompositingFixedFunctions and PLCompositingShaders into one common PLCompositing project - Bugfix: Various bugfixes within PLSound and it's backend implementations like PLSoundOpenAL - Removed: Debug dialog (new "ingame"-edit features will follow with one of the next PixelLight versions) - Removed: Loadable type search paths, write for example "Data/Meshes/MyMesh.mesh" instead of "MyMesh.mesh" Changes in PixelLight 0.9.1-R3 (released on July 01, 2010) - Feature: PLRenderer now contains a complete new font interface - Change: "PLRenderer::DrawHelpers" refactoring, internally, there's a fixed functions and shaders based implementation Changes in PixelLight 0.9.1-R2 (released on June 22, 2010) - Feature: PLRenderer now contains a complete new shader interface with vertex, geometry and fragment shader support - Feature: PLRendererOpenGL supports now the shader languages GLSL and Cg instead of just Cg - Change: Moved the fixed functions based scene renderer passes from PLEngine into the new plugin project PLCompositingFixedFunctions - Change: Moved the shaders based scene renderer passes from PLEngine into the new plugin project PLCompositingShaders - Change: "PLRendererOpenGL::RendererOpenGL" renamed into "PLRendererOpenGL::Renderer", same for PLDatabase, PLSound and PLPhysics - Change: To enhance the flexibility, PLRenderer and it's backends no longer dependent on PLGui - Change: "SRPForwardDepth" was replaced by the more universal "SRPDiffuseOnly" - Change: "SRPForwardAmbient" was replaced by the more universal "SRPDirectionalLighting" - Change: "SRPForwardLighting" was replaced by the more universal "SRPLighting" Changes in PixelLight 0.9.1-R1 (released on June 1, 2010) - Feature: PLCore now contains a complete new, even more powerful RTTI system which comes with an extensive documentation - Feature: "EffectWeight" parameter added to all post process effect scene node modifiers to blend the effect smoothly in/out - Feature: New samples for programmers - Change: Previous samples renamed into demos and refactored - Change: Due RTTI usage, "Loader"/"Loadable" and associated classes moved from PLGeneral to PLCore - Change: Due RTTI usage, "Resource" and associated classes moved from PLGeneral to PLCore - Change: Due RTTI usage, "Chunk" and associated classes moved from PLGeneral to PLCore - Change: Due RTTI usage, "Localization" and associated classes moved from PLGeneral to PLCore - Change: "PLEngine::SceneNode" is now using the new "PLMath::Transform3" which can be accessed by using "PLEngine::SceneNode::GetTransform()" - Change: The PixelLight documentation CC licence is now "Attribution-NonCommercial-ShareAlike 3.0 Unported" instead of "Attribution-Share Alike 3.0 Unported" - Change: "PLSceneViewer" moved from "PLSamples" to "PLTools" and was renamed into the more general "PLViewer" - Change: Moved "3dsMax" directory into the "Tools" directory - Change: "PLGeneral::Log" moved from the directory "Tools" into the directory "Log" - Change: The standard log filename is now "PLLog.txt" instead of "pllog.log" - Removed: Old RTTI system within PLGeneral - Removed: Depreciated "ExtendedSceneApplication", use picking classes "Picking", "PickingResult" and "MousePicking" instead Changes in PixelLight 0.9.0-R2 (released on Mai 4, 2010) - Feature: PLMath::Half offers methods to deal with half values (16 bit floating point) - Feature: SNMPhysicsUpdateVelocity added, if this scene node modifier is added, static bodies influence dynamic bodies if they move - Change: PLRenderer::TextureBuffer interface improvements - Bugfix: Fixed situations within the deferred scene renderer resulting in NANs - Removed: Scene node PLEngine::SNClear, this functionality is now done by the scene renderer pass PLEngine::SRPBegin Changes in PixelLight 0.9.0-R1 (released on April 16, 2010) - Feature: New PLXmlText project, define website like GUI content using XML files - Feature: New scene renderer "Deferred.sr" for modern deferred rendering - Feature: "Horizon Based Ambient Occlusion" (HBAO) support for the deferred scene renderer - Feature: "High Definition Ambient Occlusion" (HDAO) support for the deferred scene renderer - Feature: "Glow" support for the deferred scene renderer - Feature: "Depth Of Field" (DOF) support for the deferred scene renderer - Feature: "God Rays" support for the deferred scene renderer - Feature: "EdgeAA" support for the deferred scene renderer for simple anti-aliasing - Feature: "Depth fog" support for the deferred scene renderer - Feature: Added "Reinhard Tone Mapping" for converting rendered images from HDR into LDR - Feature: HDR gamma correction for linear space to sRGB space conversion when the rendering is done - Feature: Logarithmic average luminance calculation for automatic HDR exposure - Feature: HDR light adaptation, simulates the gradual adaptation of the human eye to different lighting conditions - Feature: HDR bloom - Change: The material parameter "ReflectionMapColor" was renamed into the more universal "ReflectionColor" - Change: "PLGeneral::Config" is no longer a singleton - Change: PLRenderer refactoring: Legacy features moved into a new "FixedFunctions" interface, update our plfx-files if required - Bugfix: PLRendererOpenGL multi-render-targets support is now working - Bugfix: "ShaderLighting.sr", "Spherical Environment Mapping" fixed - Removed: Out-of-date PixelLab and it's plugins PLGuiEditor, PLMaterialEditor, PLMeshEditor, PLRagdollEditor, PLSceneEditor - Removed: Support within PLRenderer for legacy accumulation buffer, use render to texture instead Changes in PixelLight 0.8.5 - Feature: New picking classes "Picking", "PickingResult" and "MousePicking" for "ExtendedSceneApplication" replacement - Feature: Added "delayed loading" within "PLEngine::SNMesh" for initially invisible scene nodes - Feature: Added "delayed loading" within "PLRendererOpenGL::Font2D" and "PLRendererOpenGL::Font3D" - Feature: Minor performance improvements on various places - Feature: "Windows 7" detection and general compatibility tests - Feature: Added anti-aliasing (multisample) support to the OpenGL renderer - Feature: Added a view rotation offset to "PLEngine::SNCamera", can for example be used together with a head tracker system - Feature: Added "PLEngine::SQByName" scene query to enumerate scene nodes by their name using a regular expression - Feature: Added "PLEngine::SQByClassName" scene query to enumerate scene nodes by their class name using a regular expression - Feature: 3ds Max 2010 scene exporter added - Change: "PLGui::OnMouseButtonDoubleClick()" now also fires a "OnMouseButtonDown()", which was omitted in previous versions - Change: Scene node modifier implementations are using their "active"-state again - Change: Renamed "SpaceNavigator" into "SpaceMouse" - Change: Added "PLEngine::SceneContext" class - Change: Removed legacy "PLEngine::PL" class - Change: Removed legacy selection buffer feature from "PLRenderer" - Change: "PLGeneral::CommandLine" refactoring - Change: "PLEngine::SNBitmap" renamed into "PLEngine::SNBitmap2D" and derived from new abstract class "PLEngine::SNBitmap" - Change: New "PLEngine::SNBitmap3D" scene node for none camera aligned bitmaps - Change: "PLEngine::SNText" renamed into "PLEngine::SNText2D" and derived from new abstract class "PLEngine::SNText" - Change: New "PLEngine::SNText3D" scene node for none camera aligned texts - Change: Removed "PLEngine::SNBillboard", "PLEngine::SNBillboardCylindrical" and "PLEngine::SNBillboardSpherical" - Change: Added "PLEngine::SNMBillboard", "PLEngine::SNMBillboardCylindrical" and "PLEngine::SNMBillboardSpherical" - Change: PLGraphics completely rewritten to get rid of the DevIL image library dependency - Bugfix: Minor bugfixing on various places Changes in PixelLight 0.8.4 - Feature: "RenderApplication": Added: "IsFullscreen()", "SetFullscreen()" and "OnFullscreenMode()" - Feature: Added within "ExtendedSceneApplication" an optional maximum picking distance - Feature: You can now also use "AltGr + Return" within "RenderFrame" to toggle fullscreen mode - Feature: 3ds Max scene exporter supports now the "Subtractive Transparency" parameter of the standard material - Feature: "ShaderLighting" scene renderer: "SNMPostProcessGlow" post process effect added - Feature: "ShaderLighting" scene renderer: Added support for the new material parameters "Glow" and "GlowMap" - Feature: New scene node modifier "SNMCameraZoom" for camera zoom - Change: "BasicSceneApplication::SetCamera()" automatically performs advanced actions - Change: "RenderFrame" is no longer automatically changing the visibility of the OS mouse cursor - Change: SceneNode: Renamed "GetCommonParent()" into "GetCommonContainer()" - Change: SceneNode: Renamed "GetRootNode()" into "GetRootContainer()" - Change: The default setting for "RenderState::DstBlendFunc" is now "BlendFunc::InvSrcAlpha" instead of "BlendFunc::One" - Change: "SNMPositionKeyframeAnimation" & "SNMRotationKeyframeAnimation" & "SNMScaleKeyframeAnimation" are now using binary "chunk"-files - Change: By default, the ingame GUI font depends on the virtual GUI size instead of the window size - Change: "SceneContainer::Get("")" no longer returns "the current node", instead it returns "NULL", use "SceneContainer::Get("This")" instead - Bugfix: Mouse movement was frame rate dependent due to polling policy - Bugfix: "SceneContainer::GetTransformMatrixTo()" wasn't always working correctly - Bugfix: 3ds Max scene exporter failed to export keyframes for certain nodes - Bugfix: 3ds Max scene exporter user property "OriginalNormals" removed because no longer required Changes in PixelLight 0.8.3 - Feature: Added "ExtendedSceneApplication" application class offering for example picking functions - Feature: "ShaderLighting" scene renderer: Added support for the new material parameter "OpacityOcclusion" - Feature: Scene renderers: Added support for the new material parameters "SrcBlendFunc" & "DstBlendFunc" - Feature: Added "SpaceNavigator"-support in "SNMMouseLookController", "SNMMoveController" and "SNMMouseOrbitingController" - Feature: 3ds Max scene exporter supports now the "Index Of Refraction" parameter of the standard material - Feature: 3ds Max scene exporter supports now node multimaterial per instance (will result in "skin"-files) - Feature: 3ds Max scene exporter automatically creates a camera (with default modifiers) for active viewport without an assigned camera node - Feature: 3ds Max scene exporter "Publish"-option added (adding "PLSceneViewer" to the exported data so have a "runnable package") - Change: PLPhysicsNewton is now using "Newton Game Dynamics 2 Beta 18" - Change: Improved and extended "SNMOrbiting", "SNMMouseOrbitingController", "SNMMouseLookController" and "SNMMoveController" - Change: "BasicSceneApplication": Added "SaveScreenshot()", "MakeScreenshotFilenameRecommendation()" and "LoadScene()" - Change: "SceneContainer": Added "GetTransformMatrixTo()" - Change: "SceneNode": Added "GetCommonParent()" - Bugfix: "ShaderLighting" scene renderer DOF post process (SNMPostProcessDepthOfField) support was broken - Bugfix: "ShaderLighting" scene renderer "Opacity" support was broken Changes in PixelLight 0.8.2 - Feature: Added support for embedding a GuiApplication (or any derived classes) into other windows or programs - Feature: "ShaderLighting" scene renderer now supports directional lights - Feature: "ShaderLighting" scene renderer now supports fresnel reflection - Feature: Added "SNAntiPortal", it's similar to a "cell portal", but nodes seen through it are not drawn (occlusion culling) - Feature: Added special scene node modifier "SNMOrbiting" for orbiting and "SNMMouseOrbitingController" for orbiting by using the mouse - Feature: 3ds Max scene exporter "anti-portal"-support added - Feature: 3ds Max scene exporter has now point cache support ("PC2" file format version 1) -> adds "_" named morph targets - Feature: 3ds Max 2009 scene exporter added - Feature: 3ds Max scene exporter toolbar added ("PixelLight Scene Exporter Toolbar") - Feature: 3ds Max scene exporter "Normal Bump" texture map support added - Feature: PixelLight Browser Plugins (for Internet Explorer and Mozilla Firefox) are usable again, but only show a static demonstration for now - Change: Renamed "SNPortal" into "SNCellPortal" - Bugfix: "Two Sided Lighting" of the "ShaderLighting" scene renderer produced dark silhouettes in certain situations Changes in PixelLight 0.8.1 - Feature: Main application framework design is now complete - Change: Look direction of SNCamera and SNSpotLight changed to positive z-axis ("Flags="FlipXAxis|FlipZAxis"" normally no longer required) - Change: SNMMoveController & SNMMouseMoveController: Renamed "DefaultSpeed" into "Speed" - Change: Renamed the directory "Data/Meshs" into "Data/Meshes" - Change: 3ds Max exporter: Removed "Flags" key in the user properties (use "Vars" instead) - Bugfix: 3ds Max scene exporter was in some situations exporting wrong texture coordinates when using multi-materials - Bugfix: 3ds Max scene exporter was in some situations exporting wrong textures when using multi-materials - Bugfix: 3ds Max scene exporter wasn't resetting everything when using the "Default"-button in the dialog Changes in PixelLight 0.8.0 - PixelLight SDK for Windows released - Bug fixed: PLInput could cause a crash on 64bit systems (see http://support.microsoft.com/kb/946924/en/) - Lots of bugfixes - Improved 3ds Max exporter to avoid typical pitfalls