隔了将近两年oFusion终于有动静了,我曾经以为它不再维护了,没想到2011年6月3号oFusion发布了1.9.86版,支持3DS Max 2009/2010/2011/2012 (32 and 64bits)。改了一大堆东西,当然很遗憾的,破解补丁不起作用了。破解版最高可以用1.9.38版。为了凑字数特意将oFusion的Changelog贴出来,如下:
Added support for Max 2012
Both 32 and 64 bit max 2012 versions are fully supported now
*Starting from this release, only Max 2009 2010 2011 and 2012 versions will be supported as a Tier1 platform
(If you need to use a previous Max versions you can use the 1.9.35 or 1.9.73 releases. If any of the fixes, new features or improvements made in the current versions are needed in those versions, a customized build will be provided, please contact support)
Added "Mipmap bias" support to oFusion TextureUnit texmap
Added support for regional and localized float values in the shader parameter editors
Now float values are correctly handled in the shader parameter editor using any decimal separator as defined by the Operating System
Fixed static text labels on some instances of the oFusion Materials (technique, pass, texture unit)
Starting from Max 2010, due to its updated material UI renderer, some text labels in the material UI panels were not displayed correctly, this has been fixed and the text option names are being displayed correctly
The internal "Time handler" system has been improved to correctly handle time based animated shaders
Time based shader AutoContant parameters (TIME, TIME_0_X, TIME_0_1, FRAME_TIME, FPS, and all of their SIN, COS and TAN based derivations) are correctly updated now, based on the current scene time. As a result any time based animated shader will be animated correctly when playing the scene, and will correctly update its state accordingly as the time bar is moved
Improved scene loading and saving support for AutoConstant shader parameters binary chunks
Improvements has been made to the internal loading and saving implementation for AutoContant shader parameters to automatically handle AutoContants additions or modifications in upcoming releases
This is a cummulative update, it includes all previous hotfixes and updates
*374
Improved support for external skeletal animations
External skeletal animations (.anim files) produced from animated objects using the skin modifier and the biped structure will work correctly when applied to the entity, even if on each of the animations the root bone had a different position on the first frame
*375
Improved support for rotation on free and target cameras (animated and static cameras)
Improved generation of rotation keyframes on cameras
Fixed several issues with rotations on follow path animated cameras[b]
*376
[b]Added support for Custom Shadow setups in materials
Added "shadow caster material" to the oFusion Technique material
Added "shadow receiver material" to the oFusion Technique material
Added "content type" to oFusion Texture Unit texmap, to provide support for "shadow" type
*378
Fixed issues when using morpher modifier based animations on Max 2010
Fixed scenes issues when loading large scenes that contain Text based shapes or splines
Fixed vertex animations not being correctly exported when only a sub part of the mesh (a part with a different material id) was animated
Improved keyframe generation at the start and end positions in vertex animations
Fixed submaterial name always created with "ogre_" when updating Multi/Sub-object materials using the Batch Update method
*379
Fixed issue with animation names longer than 10 characters not being displayed correctly in the animation list or exported in the scene file
Added support for "polygon mode" option to pass material (points, wireframe and solid modes are supported)
Added support for "polygon mode overrideable" option in pass material
*381
Added support for shaderFX 3.5 (need to apply the patch available in your account page to shaderFX installation)
Added automatic scene updater for scenes saved with previous versions where the "error loading paramblock 2" message was displayed when loading them
In the oFusion menu the option "Update Prev Scenes" is available, using this tool you can select what scenes you need to be updated and press the "update scenes" button
After the scenes are processed they can be loaded normally in the current version
Added support to automatically create and add shaders to the User Shader Library when you upgrade DirectX materials to oFusion Materials
All of the automatically upgraded shaders will be available to be used manually from the oFusion Pass Material as needed
Scenes saved after the DirectX material was upgraded to oFusion Material will be correctly loaded and displayed
Added report capabilities to shaders, if a shader can't be compiled and loaded, a dialog will display the reasons and line number of the offending part
Added support for producing .osm scenes without the scene manager information (without the scene info, just characters, objects, lights, cameras, helpers, or any other scene object)
A new option named "Scene Props" has been added to the export dialog
When this option is enabled all the scene information (as scene manager, sky, shadows,fog properties) will be produced in the osm scene file, if this option is disabled then this information will not be produced in the scene file (as when exporting character or entities scenes only)
*382
Improved handling of cameras in the preview viewport
When a scene is updated in the preview viewport the current viewport camera is correctly handled even if the camera is hidden in the scene
Added maxscript support for getting and setting the current viewport camera
The "setCamera" and "getCameraName" methods has been added to the maxscript interface and can be used in your scripts to handle the current preview viewport camera
To get the name of the current viewport camera use:
oFusionViewport.getCameraName()
To set the current camera use:
oFusionViewport.setCamera nameOfCamera
There is no need for the camera to exist in the preview viewport, it will be added automatically if needed
Added Manual LODs support for skeletally animated characters
Skeletally animated characters can have manually defined LODs, they will be correctly displayed in the preview viewport (and the users application) at the defined distances
Added Global Build Binormal support
An option in the Export Dialog has been added to provide support to creating Binormals buffer for ALL objects (mesh based) in the scene, the "Build Binormals" option can be enabled when creating binormals in all objects in the scene is needed
This option depends on the "Build Tangents" option and will enable it if needed
Added automatic support for creating Tangent and Binormal buffers for objects that use shaderFX or DirectX materials
When using shaderFX or DirectX materials there is no need to manually enable the "Create Tangents" and "Create Binormals" options in the Object panel, if the shader needs them they will be created automatically in the TANGENT and BINORMAL object buffers
Note: If you are using a older SM1 based shader and need the tangents in the TEXCOORDn buffer, you need to manually enable this option in the Object panel
*383
Added support for Shared Parameter sets in Gpu programs
Shared Parameters defined in .material and .program files are correctly loaded and used in materials
See in Ogre manual for more details:
3.1.9 Using Vertex/Geometry/Fragment Programs in a Pass page, "shared_params_ref" section
3.1.4 Declaring Vertex/Geometry/Fragment Programs page, "Declaring Shared Parameters" section
Added support for exporting Shared Parameter sets
Any Gpu program that uses shared parameters sets in their default parameters, will correctly produce the parameter set definition and its references in exported .material files
Added "Export Shared Parameter Def" option to the export dialog
If enabled Shared Parameter Set definition is produced in the material file (if not enabled, only its references "shared_params_ref nameOfSet" will be produced)
When option is enabled and shader uses shared parameters:
shared_params furSharedParams
{
shared_param_named param0 float4 0 0 0 0
shared_param_named param1 float 0
}
fragment_program Fur_ps cg
{
source fur.source
uses_adjacency_information false
entry_point PS_Textured
profiles ps_2_0 arbfp1 fp20
default_params
{
shared_params_ref furSharedParams
param_named ambient float4 0.5 0.5 0.5 1
param_named colorScale float4 0.26 0.5 0.7 1
}
}
The shared param definition and its references are created in the material file
With this option disabled:
fragment_program Fur_ps cg
{
source fur.source
uses_adjacency_information false
entry_point PS_Textured
profiles ps_2_0 arbfp1 fp20
default_params
{
shared_params_ref furSharedParams
param_named ambient float4 0.5 0.5 0.5 1
param_named colorScale float4 0.26 0.5 0.7 1
}
}
Just the references are created in the material file
Fixed shader parameter animation issue
On some installations, shader animation was not correctly updating its animated auto parameters (TIME, FRAME TIME, and their variations), this has been solved and now shader animated parameters are updated correctly with the global time (and the current frame)
Added new shader parameter loading and saving implementation
Previously shader parameter and their values were directly related to the version that created them, now a new method was implemented and materials using shaders (and their parameters) will not need any updating to work correctly in new and future versions
Fixed MeshSerializer "WARNING: mesh is an older format" message displayed in user application's log file when loading meshes
This has been solved and this message will not be produced in the application's log file if application is based on any Cthugha Ogre version
Fixed issue in Shader editor with auto parameter constants that uses a float as its extra parameter
Previously in an auto parameter that has float as its extra parameter (TIME and similar), the parameter editor might allow only to edit the extra parameter as an integer, this has been solved and a floating point value can be correctly edited
*384
Fixed shader parameters "reset issue" when using AutoConstant parameters with extra data (floats or ints) in shader editor
In Max2010/2011 due to an internal change in the API behavior in the chunk based serializer, AutoConstant parameters that contain extra data values might be reseted, setting its value to the shader's default when the shader editor is reopened or the scene is loaded, this has been corrected and now they are correctly handled by the shader editor and the serializer system
Fixed Camera/Perspective offset issue when resizing viewport
In Max2010/2011 a change in the resizing implementation was needed to correctly set the camera during the resize process, this is now handled correctly and the camera/perspective should behave as expected
Added support for External Skeletal Animations to use the user defined skeleton name
External animations now correctly support user defined skeletal names as defined in the "Object panel"
This change makes loading external animations, exported from skeletal characters that have their skeleton file name manually defined by the user, automatic by the oSceneLoader lib
Fixed External Skeletal Animations (.anim) filename might include part of the path on some machines
The filename of the external .anim files is correctly created relative to the "location" folder defined in the export dialog
Added support for Max 2012
Both 32 and 64 bit max 2012 versions are fully supported now
*Starting from this release, only Max 2009 2010 2011 and 2012 versions will be supported as a Tier1 platform
(If you need to use a previous Max versions you can use the 1.9.35 or 1.9.73 releases. If any of the fixes, new features or improvements made in the current versions are needed in those versions, a customized build will be provided, please contact support)
Added "Mipmap bias" support to oFusion TextureUnit texmap
Added support for regional and localized float values in the shader parameter editors
Now float values are correctly handled in the shader parameter editor using any decimal separator as defined by the Operating System
Fixed static text labels on some instances of the oFusion Materials (technique, pass, texture unit)
Starting from Max 2010, due to its updated material UI renderer, some text labels in the material UI panels were not displayed correctly, this has been fixed and the text option names are being displayed correctly
The internal "Time handler" system has been improved to correctly handle time based animated shaders
Time based shader AutoContant parameters (TIME, TIME_0_X, TIME_0_1, FRAME_TIME, FPS, and all of their SIN, COS and TAN based derivations) are correctly updated now, based on the current scene time. As a result any time based animated shader will be animated correctly when playing the scene, and will correctly update its state accordingly as the time bar is moved
Improved scene loading and saving support for AutoConstant shader parameters binary chunks
Improvements has been made to the internal loading and saving implementation for AutoContant shader parameters to automatically handle AutoContants additions or modifications in upcoming releases
This is a cummulative update, it includes all previous hotfixes and updates
*374
Improved support for external skeletal animations
External skeletal animations (.anim files) produced from animated objects using the skin modifier and the biped structure will work correctly when applied to the entity, even if on each of the animations the root bone had a different position on the first frame
*375
Improved support for rotation on free and target cameras (animated and static cameras)
Improved generation of rotation keyframes on cameras
Fixed several issues with rotations on follow path animated cameras[b]
*376
[b]Added support for Custom Shadow setups in materials
Added "shadow caster material" to the oFusion Technique material
Added "shadow receiver material" to the oFusion Technique material
Added "content type" to oFusion Texture Unit texmap, to provide support for "shadow" type
*378
Fixed issues when using morpher modifier based animations on Max 2010
Fixed scenes issues when loading large scenes that contain Text based shapes or splines
Fixed vertex animations not being correctly exported when only a sub part of the mesh (a part with a different material id) was animated
Improved keyframe generation at the start and end positions in vertex animations
Fixed submaterial name always created with "ogre_" when updating Multi/Sub-object materials using the Batch Update method
*379
Fixed issue with animation names longer than 10 characters not being displayed correctly in the animation list or exported in the scene file
Added support for "polygon mode" option to pass material (points, wireframe and solid modes are supported)
Added support for "polygon mode overrideable" option in pass material
*381
Added support for shaderFX 3.5 (need to apply the patch available in your account page to shaderFX installation)
Added automatic scene updater for scenes saved with previous versions where the "error loading paramblock 2" message was displayed when loading them
In the oFusion menu the option "Update Prev Scenes" is available, using this tool you can select what scenes you need to be updated and press the "update scenes" button
After the scenes are processed they can be loaded normally in the current version
Added support to automatically create and add shaders to the User Shader Library when you upgrade DirectX materials to oFusion Materials
All of the automatically upgraded shaders will be available to be used manually from the oFusion Pass Material as needed
Scenes saved after the DirectX material was upgraded to oFusion Material will be correctly loaded and displayed
Added report capabilities to shaders, if a shader can't be compiled and loaded, a dialog will display the reasons and line number of the offending part
Added support for producing .osm scenes without the scene manager information (without the scene info, just characters, objects, lights, cameras, helpers, or any other scene object)
A new option named "Scene Props" has been added to the export dialog
When this option is enabled all the scene information (as scene manager, sky, shadows,fog properties) will be produced in the osm scene file, if this option is disabled then this information will not be produced in the scene file (as when exporting character or entities scenes only)
*382
Improved handling of cameras in the preview viewport
When a scene is updated in the preview viewport the current viewport camera is correctly handled even if the camera is hidden in the scene
Added maxscript support for getting and setting the current viewport camera
The "setCamera" and "getCameraName" methods has been added to the maxscript interface and can be used in your scripts to handle the current preview viewport camera
To get the name of the current viewport camera use:
oFusionViewport.getCameraName()
To set the current camera use:
oFusionViewport.setCamera nameOfCamera
There is no need for the camera to exist in the preview viewport, it will be added automatically if needed
Added Manual LODs support for skeletally animated characters
Skeletally animated characters can have manually defined LODs, they will be correctly displayed in the preview viewport (and the users application) at the defined distances
Added Global Build Binormal support
An option in the Export Dialog has been added to provide support to creating Binormals buffer for ALL objects (mesh based) in the scene, the "Build Binormals" option can be enabled when creating binormals in all objects in the scene is needed
This option depends on the "Build Tangents" option and will enable it if needed
Added automatic support for creating Tangent and Binormal buffers for objects that use shaderFX or DirectX materials
When using shaderFX or DirectX materials there is no need to manually enable the "Create Tangents" and "Create Binormals" options in the Object panel, if the shader needs them they will be created automatically in the TANGENT and BINORMAL object buffers
Note: If you are using a older SM1 based shader and need the tangents in the TEXCOORDn buffer, you need to manually enable this option in the Object panel
*383
Added support for Shared Parameter sets in Gpu programs
Shared Parameters defined in .material and .program files are correctly loaded and used in materials
See in Ogre manual for more details:
3.1.9 Using Vertex/Geometry/Fragment Programs in a Pass page, "shared_params_ref" section
3.1.4 Declaring Vertex/Geometry/Fragment Programs page, "Declaring Shared Parameters" section
Added support for exporting Shared Parameter sets
Any Gpu program that uses shared parameters sets in their default parameters, will correctly produce the parameter set definition and its references in exported .material files
Added "Export Shared Parameter Def" option to the export dialog
If enabled Shared Parameter Set definition is produced in the material file (if not enabled, only its references "shared_params_ref nameOfSet" will be produced)
When option is enabled and shader uses shared parameters:
shared_params furSharedParams
{
shared_param_named param0 float4 0 0 0 0
shared_param_named param1 float 0
}
fragment_program Fur_ps cg
{
source fur.source
uses_adjacency_information false
entry_point PS_Textured
profiles ps_2_0 arbfp1 fp20
default_params
{
shared_params_ref furSharedParams
param_named ambient float4 0.5 0.5 0.5 1
param_named colorScale float4 0.26 0.5 0.7 1
}
}
The shared param definition and its references are created in the material file
With this option disabled:
fragment_program Fur_ps cg
{
source fur.source
uses_adjacency_information false
entry_point PS_Textured
profiles ps_2_0 arbfp1 fp20
default_params
{
shared_params_ref furSharedParams
param_named ambient float4 0.5 0.5 0.5 1
param_named colorScale float4 0.26 0.5 0.7 1
}
}
Just the references are created in the material file
Fixed shader parameter animation issue
On some installations, shader animation was not correctly updating its animated auto parameters (TIME, FRAME TIME, and their variations), this has been solved and now shader animated parameters are updated correctly with the global time (and the current frame)
Added new shader parameter loading and saving implementation
Previously shader parameter and their values were directly related to the version that created them, now a new method was implemented and materials using shaders (and their parameters) will not need any updating to work correctly in new and future versions
Fixed MeshSerializer "WARNING: mesh is an older format" message displayed in user application's log file when loading meshes
This has been solved and this message will not be produced in the application's log file if application is based on any Cthugha Ogre version
Fixed issue in Shader editor with auto parameter constants that uses a float as its extra parameter
Previously in an auto parameter that has float as its extra parameter (TIME and similar), the parameter editor might allow only to edit the extra parameter as an integer, this has been solved and a floating point value can be correctly edited
*384
Fixed shader parameters "reset issue" when using AutoConstant parameters with extra data (floats or ints) in shader editor
In Max2010/2011 due to an internal change in the API behavior in the chunk based serializer, AutoConstant parameters that contain extra data values might be reseted, setting its value to the shader's default when the shader editor is reopened or the scene is loaded, this has been corrected and now they are correctly handled by the shader editor and the serializer system
Fixed Camera/Perspective offset issue when resizing viewport
In Max2010/2011 a change in the resizing implementation was needed to correctly set the camera during the resize process, this is now handled correctly and the camera/perspective should behave as expected
Added support for External Skeletal Animations to use the user defined skeleton name
External animations now correctly support user defined skeletal names as defined in the "Object panel"
This change makes loading external animations, exported from skeletal characters that have their skeleton file name manually defined by the user, automatic by the oSceneLoader lib
Fixed External Skeletal Animations (.anim) filename might include part of the path on some machines
The filename of the external .anim files is correctly created relative to the "location" folder defined in the export dialog