@paroj paroj released this Nov 30, 2018 · 60 commits to master since this release

Assets 3

  • 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
  • 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