v1.11.4
- Main:
- add top level aliases for resource groups e.g. RGN_DEFAULT
- add two-argument OGRE_EXCEPT using
__FUNCTION__
as src - CompositionPass - allow specifying the type at creation
- CompositorManager - const correctness and method naming updates
- deprecate RenderSystem::_makeProjectionMatrix method family
- fix loading PF_BYTE_LA - add correct masks and shifts
- GpuProgramManager - clean up Microcode Cache API
- PassTranslator - auto assign inline defined GpuPrograms
- properly use std:: math overloads instead of casting to Real
- RenderSystem - drop commented out methods
- ResourceManager - prevent creation of "" named resources
- SceneManager - fireRenderSingleObject after updating light lists
- SceneManager - let AutoParamDataSource handle the world matrices
- ScriptLexer - print error instead of throwing on syntax errors
- ScriptTranslator - also special case targets property
- ScriptTranslator - use atom->id to parse CompositionPass::PassType
- ShadowVolumeExtrudeProgram - use cg as backwards compatible hlsl
- Texture & RenderTarget - add simplified getCustomAttribute
- Texture - unify loading between all rendersystems
- TextureUnitState - fix wrong type check in setTexture
- use Matrix4::CLIPSPACE2DTOIMAGESPACE in AutoParamDataSource
- add TEX_TYPE_EXTERNAL_OES and android sample of its usage (#914)
- use source code instead of program names as microcode cache key
- fix Wconversion warnings in public headers
- DataStream: clear access mode on close, avoid repetitive compression by DeflateStream when close is called explicitly and then implicitly in .dtor
- DeflateStream: allow to specify required stream wrapping among supported by ZLib - mostly for GZip variation. Default is ZLib for backward compatibility.
- use Math::calculateBasicFaceNormal instead of ad-hoc solutions
- APKFileSystemArchive - only erase elements that existed in the map
- CMake:
- fill version info from project() instead of parsing header
- Use system freetype library if found
- Fixed the inconsistency use of CMAKE_BINARY_DIR and CMAKE_SOURCE_DIR in some cases. Instead, they are replaced by PROJECT_BINARY_DIR and PROJECT_SOURCE_DIR correspondingly.
- Bites:
- Android - return created render window/ native window pair instead of null values (#964)
- ApplicationContext - shader cache was truncated with no changes
- RTSS
- New "Next Gen" API
- introduce FunctionStageRef for simplified function invocation
- add resolve{Input,Output}Parameter by content only overload
- automatically create parameters if content is not found
- allow resolving input parameters by ParameterPtr
- add resolveParameter overload for simple autoconstants
- add SampleTextureAtom to remove FFP_SampleTexture() indirection
- track unused parameters and skip binding them
- ShaderFunction - deprecate static getParameter* API
- replace g_AutoParameters by AutoConstantDictionary from Main
- merge Cg and HLSL program writers
- use shared HLSL_Cg shader lib based on Cg variants
- skip binding samplers on HLSL and Cg
- merge FFP Lighting and SGX PerPixelLighting
- add FFP_Lerp(vec3, vec3, vec3) as needed by BLEND_DIFFUSE_COLOUR
- use AutoParamDataSource for lights and merge update methods
- Cg - clamp lighting values as well
- clean up resolveLocalParameter functions
- do not special case HLSL4 semantics as we use the compat profile
- do not transform normal if it is not needed
- fix renaming of custom uniform input parameters
- GLSL
- add compatibility defines for sampling function names
- also redefine texture1D() as texture()
- consistently clamp per-pixel and ffp lighting
- ShaderGLSLProgramWriter - allow MRT output from fragment shader
- GLSLES
- add support for GL_OES_EGL_image_external
- write forward declarations to resolve dependencies
- avoid emitting texture1D code instead of filtering it
- hardware skinning - do not generate unused local world position
- SampleTextureAtom - move out argument to end for consistency
- ShaderGenerator - add overloads for known source technique
- Texturing - fixes for BLEND_DIFFUSE_ALPHA and BLEND_DIFFUSE_COLOUR
- TriplanarTexturing - correctly resolve input params
- SegmentedLights - use fmod which is supported by hlsl and cg
- ShaderExNormalMapLighting - clamp supported lights to 8
- New "Next Gen" API
- Overlay: make error message more useful if component is not a container
- PageManager: call Camera::removeListener on destruction (#922)
- Terrain: use Cg shadergen for HLSL as well
- Java: use proper java 1.5+ enums
- MeshLod:
- collapseVertex() can erase more then one vertex from mCollapseCostHeap, therefore we must ask size each time. Fortunately, it's constant time operation.
- consequently use uint16 leveraging the new Math::uint16Cast
- LodData structures layout optimization
- D3D11:
- only support loading DDS using Ogre Codecs
- Texture - do not overload/ use loadImage internally
- use a better heuristic for naming the rendertextures
- D3D9: use Ogre Codecs instead of D3D9X to load DDS files
- GL3+/GLES2: drop areFixedFunctionLightsInViewSpace as there is no FFP
- GLSupport
- GLX - correctly handle windowMovedOrResized with parent win
- Fixed incorrect EGL config id return as EGL config
- introduce internal GLRenderTarget & GLFBOCommon interfaces
- Added support for assigning custom windowProc
- AndroidEGLWindow: handle the parameter "externalGLControl" in when create (#963)
- remove dependency on legacy libGL.so
- Docs
- correctly use ScriptTranslator in TextureSource UML
- document "windowProc" _createRenderWindow parameter
- make explicit that top level Overlay components must be containers
- Resource Management - add sequence diagram and fix declaration part
- Resource Management - group information on a single manual page
- RTSS - document "fog_stage" attribute
- update RTSS documentation for latest features
- use short RGN_DEFAULT alias
- Texture & RenderTarget - document getCustomAttribute keys
- Samples
- Emscripten - do not trap on integer overflow in WASM
- Ocean - refactor to use unified programs
- Tests
- make ONLY_COMMON_GL_TESTS an environment variable
- PlayPen_SkeletonAnimationOptimise use modulative shadowing