View source
v2-1
  • Contributors
    1. Loading...
Author Commit Message Date Builds
250+ commits behind default.
Henri Hyyryläinen
Added support for HLMS scripts to specify transparency
Matias Goldberg
Made D3D11BufferInterface and D3D11CompatBufferInterface to derive from the same base D3D11 class. There was at least one illegal cast bug (in D3D11StagingBuffer) that happened to work because the exact same variables that were used were present on both classes and at the exact same offsets.
Matias Goldberg
Fixed MeshLodGenerator assert
Matias Goldberg
Merged in scpeters/ogre-1/scpeters/include-openglavailabilityh-before-gl3ex-1553895657451 (pull request #857) Include OpenGLAvailability.h before gl3ext.h to fix GL3Plus build on macOS 10.14 mojave
Steven Peters
include OpenGLAvailability.h before gl3ext.h to fix GL3Plus build on macOS 10.14 mojave
Eugene Golushkov
[GL3Plus] Remove unused copies of files
Eugene Golushkov
[D3D11] Avoid getSrvView path in D3D11HardwarePixelBuffer::blitToMemory and do not create unused mpResolved2DTex for TU_NOT_SRV textures. Note, that there are possibility to fix triggering resolving even for TU_NOT_SRV textures and use pre-created mpResolved2DTex - not yet implemented.
Eugene Golushkov
[D3D11] Rename D3D11Texture::getTexture() => getSrvView(), to make it explicit that this API is not supported for TU_NOT_SRV textures. See also getUavView()
Eugene Golushkov
[D3D11] Support TU_RENDERTARGET|TU_NOT_SRV textures, requred for multisampled render textures on FL9.x hardware
Eugene Golushkov
Unify enum TextureUsage between v1.11 and v2.1 (TU_NOT_TEXTURE => TU_NOT_SRV, TU_UAV_NOT_TEXTURE => TU_UAV_NOT_SRV), fix: enable multisample rendertargets on feature level 9.x hardware - should be marked as TU_NOT_SRV
Eugene Golushkov
[D3D11] Fixed crash on rendering to texture due to the unsupported FSAA level
Eugene Golushkov
[D3D11] D3D11Texture: Choose DXGI_FORMAT early and cache decision for all textures rather than only those with SRV.
Eugene Golushkov
[D3D11] D3D11Texture: remove mIsDynamic field (desc.Usage & desc.CPUAccessFlags are already good)
Eugene Golushkov
[D3D11] Move utility _getGammaFormat method into D3D11Mappings
Eugene Golushkov
[D3D11] D3D11Mappings::_getTextureMiscFlags() cleanup
Eugene Golushkov
[D3D11] Consolidate fields of D3D11Texture at the end
Eugene Golushkov
[D3D11] Remove unused fields and methods from D3D11Texture
Eugene Golushkov
[D3D11] Added D3D11RenderWindowSwapChainPanel
Eugene Golushkov
[D3D11] Let "externalWindowHandle" be optional and autodetected for D3D11RenderWindowCoreWindow
Eugene Golushkov
avoid 'unused parameter' warnings
Eugene Golushkov
Rethrow the original copy of the exception, not the copy of it.
Eugene Golushkov
[D3D11] Consolidate compressed textures handling in one place, to fix blit and blitToMemory, and support large mips of non-power-of-two textures
Eugene Golushkov
[D3D11] allow D3D11DeviceResource to create and destroy self or other D3D11DeviceResources in notifyDeviceLost/Restored handlers
Matias Goldberg
SDK install did not follow the directory structure of the source code for Hlms components. Backport from 2.2 fix from commit f67565c7fc92 See https://forums.ogre3d.org/viewtopic.php?f=25&t=94851&p=544455#p544455
Eugene Golushkov
[D3D11] Size of staging texture for miplevel of non-power-of-two compressed textures should be rounded up to block size
Eugene Golushkov
Remove obsolete enum UploadOptions - was used for multidevice scenario in D3D9 RS only, already removed in Ogre v1 Multi adapter scenario in D3D12 is not compatible with this API either. https://docs.microsoft.com/en-us/windows/desktop/direct3d12/multi-engine
Eugene Golushkov
[D3D11] Reuse field declared in the base class (mLockBox => mLockedBox)
Eugene Golushkov
[D3D11] Reuse field declared in the base class
Eugene Golushkov
Replace usage of Image::Box typedef with actual type Box, to reduce whitenoise on diffing with Ogre v1 (often diffs are simply bugfixes not ported between branches, so it is useful to keep diff low)
Matias Goldberg
[D3D11] Bugfix: sameNameCounter was not guaranteed it would be initialized to zero when an element did not yet exist. ComPtr would not build in mingw64. Note the file was mixing EOL types, thus the diff may look noiser than it should. Fixed compilation on non-MSVC compilers
Eugene Golushkov
[D3D11] Restored the ability to differentiate between identically named adapters
Matias Goldberg
Fixed build errors in Visual Studio 2008 / C++98 Fixed build error when using DirectX June SDK 2010
Matias Goldberg
Fixed typo
Eugene Golushkov
Added parameter src to RenderTarget::copyContentsToMemory(const Box& src, const PixelBox &dst, FrameBuffer buffer)
Eugene Golushkov
[D3D11] blitToMemory: support MSAA for non-RT textures, proper subresource for Tex2DArray & TexCube, TexCube staging buffer, single subresource copying to staging, errors checking
Eugene Golushkov
[D3D11] utility functions for upcoming refactoring of D3D11HardwarePixelBuffer::blitToMemory
Eugene Golushkov
[D3D11] unused code removed
Eugene Golushkov
[D3D11] Added dll export to relevant headers in Dx11 - for D3D11RenderWindowImageSource too
Eugene Golushkov
OGRE-448 - Incorrect, unnormalized axes
Eugene Golushkov
Avoid double normalization and extra rounding errors (Align code with code from OGRE-450 - Incorrect normalizing)
Eugene Golushkov
OGRE-488 - Wrong mutex-variable in MaterialSerializer
Eugene Golushkov
[D3D11] Fixed invalid depth for TEX_TYPE_CUBE_MAP (D3D11_TEXTURE2D_DESC::ArraySize holds 6*NumCubes for cubemaps)
Eugene Golushkov
[D3D11] Further simplify D3D11HardwarePixelBuffer::blitFromMemory
Eugene Golushkov
[D3D11] Fixed D3D11HardwarePixelBuffer::blitFromMemory (for Tex2DArray support we need to iterate over subresources)
Eugene Golushkov
[D3D11] Dead code removed (offset was always zero - the only reason why there were no crashes)
Eugene Golushkov
We can copy any amount of consecutive slices of compressed texture with single memcpy - for any src.front and dst.front
Eugene Golushkov
Support PixelBox::getSubVolume with slice granularity for compressed textures - no need for relaxed checks
Eugene Golushkov
PixelBox::getSubVolume is broken for PixelBoxes with initially nonzero left/top/front. pb.getSubVolume(Box(pb)) returns pb, but pb.getSubVolume(Box{pb, .left++}) returns radically different subvolume, not even contained in original pb
Eugene Golushkov
Fixed data corruption in PixelUtil::bulkPixelConversion for consecutive pixelbox where pb.getDepth() > 1, pb.front > 0
Eugene Golushkov
Fixed issue in latest bunch of commits about D3D11 - OgreComPtr.h was not installed (non WinRT case)
Eugene Golushkov
[D3D11] Fixed large number of issues with subresource index and box calculation in D3D11HardwarePixelBuffer::blit
Eugene Golushkov
[D3D11] Support TEX_TYPE_2D_ARRAY in D3D11HardwarePixelBuffer::blit
Eugene Golushkov
[D3D11] Fixed conversion from D3D11 pitch (in bytes) to Ogre pitch (in pixels). Credits to Lior Lahav for noting.
Eugene Golushkov
[D3D11] D3D11HardwarePixelBuffer::_unmapstaticbuffer simplified, wrong box parameter in TEX_TYPE_3D case fixed
Eugene Golushkov
Fixed issue in latest bunch of commits about D3D11 - OgreComPtr.h was not installed
Eugene Golushkov
[D3D11] Fixed wrong box & subresource parameter to CopySubresourceRegion inside _map(unmap)stagingbuffer in TEX_TYPE_3D case
Eugene Golushkov
[D3D11] D3D11HardwarePixelBuffer::_map simplified, HRESULT checked
Eugene Golushkov
[D3D11] D3D11HardwarePixelBuffer::_unmap simplified
Eugene Golushkov
[D3D11] Let face the truth - mSubresourceIndex was always nothing more than mMipLevel. Let rename it and see as hidden bugs became obvious.
Eugene Golushkov
dead code removed - getNumFaces() is either 1 or 6, i.e. always > 0
Eugene Golushkov
[D3D11] Make it possible to render into the other slices of TEX_TYPE_2D_ARRAY, not the first only
Eugene Golushkov
dead code removed
Lior Lahav
Removed: Direct3D11 - redundant calls to D3D11Device::clearStoredErrorMessages
GOD
Fixed: GLSLES crash when trying to access unsupported extension 'EXT_debug_label'
Eugene Golushkov
We need to clean partially loaded resource in case of exception, for example if Mesh::load failed due to the device lost - we need to remove submeshes before attempting to load it again
Pavel Rojtberg
retain API compatibility with default argument for Resource::reload()
Eugene Golushkov
[OverlaySystem] Subscribe overlay system to render system events to survive device lost event
Eugene Golushkov
[OverlaySystem] Added OverlayManager::_release/restoreManualHardwareResources to survive device lost, OverlaySystem is Ogre::RenderSystem::Listener now
Eugene Golushkov
[D3D11] reduce diff
Eugene Golushkov
[D3D11] log requested, selected and actually used driver names. TODO: hide exceptions caused by device lost during rendering (was in D3D11RenderSystem::_updateAllRenderTargets in Ogre v1)
Eugene Golushkov
[D3D11, WinRT] Call IDXGIDevice3::Trim on suspending as required, re-elect device on DisplayContentsInvalidated to handle lazy device lost
Eugene Golushkov
[D3D11] Enhance D3D11RenderSystem::validateDevice to handle software device being substituted by hardware one while still being not yet lost.
Eugene Golushkov
[D3D11] Capture mActiveD3DDriver by copy rather than by pointer, so that it is not lost when drivers are re-enumerated. Stored LUID would be used to check for device lost.
Eugene Golushkov
[D3D11] Allow explicitly request default device, whatever it is now. Added D3D11DriverList::findByName function that is tolerant to missing devices.
Eugene Golushkov
[Ogre::LogManager, D3D11] Prefix Ogre debug output by "Ogre:" so that messages prefixed by "D3D11:" from Ogre and from Direct3D11 are not mixed.
Eugene Golushkov
[D3D11] D3D11RenderSystem::handleDeviceLost() factored out to simplify validateDevice - seems that IsDeviceLost check would be much more complex.
Eugene Golushkov
[D3D11] Dump adapter names while enumerating, distinguish between usual and render-only "Microsoft Basic Display Driver" by appending "(software)" to later. details are here https://msdn.microsoft.com/en-us/library/windows/desktop/bb205075(v=vs.85).aspx#WARP_new_for_Win8
Eugene Golushkov
[D3D11] Added MovableObject _releaseManualHardwareResources() and _restoreManualHardwareResources() callbacks to handle device lost scenario
Eugene Golushkov
[Mesh.reload] Added optional ability to preserve some state on reloading to Ogre::Resource, so that stencil shadows are not lost if device lost in D3D11
Eugene Golushkov
[Mesh.unloadImpl] mark edge list as not existing so that it could be recreated later if mAutoBuildEdgeLists is set, and prevent immediate recreation by removeLodLevels
Eugene Golushkov
[OgreMain] remove unused fields (no stencil shadows in Ogre2)
Eugene Golushkov
[D3D11] Added SceneManager _releaseManualHardwareResources() and _restoreManualHardwareResources() callbacks to handle device lost scenario (mShadowIndexBuffer, billboard sets, manual objects, etc.)
Eugene Golushkov
[D3D11] All D3D11RenderWindowXxx flavours, D3D11HLSLProgram, D3D11Texture, D3D11RenderTexture properly respond to device lost now
Eugene Golushkov
[D3D11] Call validateDevice on render window resize. TODO: Ogre v1.x does it in D3D11RenderWindowBase::updateImpl() too - NYI
Eugene Golushkov
[D3D11] Added D3D11RenderSystem::validateDevice() method, D3D11DeviceResource and D3D11DeviceResourceManager helpers
Eugene Golushkov
[D3D11] Added D3D11RenderSystem::createDevice() method, would be used in lost device recovering situation
Eugene Golushkov
[D3D11] Prepare D3D11RenderSystem::createRenderSystemCapabilities() to re-run if device lost
Eugene Golushkov
[D3D11] Reduce getDirect3DDrivers() usage in preparation for dynamically changing available drivers list
Eugene Golushkov
[D3D11] Removed unused D3D11_DEVICE_ACCESS_LOCK-like macroses
Eugene Golushkov
[D3D11] Resource leak fixed - SOGetTargets returns interface with reference count incremented by one
Eugene Golushkov
[D3D11] The last usage of SAFE_RELEASE eliminated
Eugene Golushkov
[D3D11] Fixed D3D11RenderTexture::mRenderTargetView leak in rebind()
Eugene Golushkov
[D3D11] Exception safety for D3D11DepthBuffer
Eugene Golushkov
[D3D11] D3D11RenderSystem::mDSTResView was superseded by D3D11DepthBuffer::mDepthTextureView in Ogre2
Eugene Golushkov
[D3D11] Added D3D11Device::IsDeviceLost() helper
Eugene Golushkov
[D3D11] Added D3D11Device::setExceptionsErrorLevel(string) helper
Eugene Golushkov
[D3D11] Added D3D11Device::parseDriverType(value, fallback) helper
Eugene Golushkov
[D3D11] Added D3D11Device::parseFeatureLevel(string, fallback) helper
Eugene Golushkov
[D3D11] Move IDXGIFactoryN pointer inside D3D11Device as it has only device depended role now, and should be reaquired if device is lost and another is selected
Eugene Golushkov
[D3D11] Added D3D11DriverList::refresh() method so that it would be possible to refresh driver list after device removed event
Eugene Golushkov
[D3D11] Exception safety for D3D11RenderSystem
Eugene Golushkov
[D3D11] Exception safety for D3D11HardwarePixelBuffer
Eugene Golushkov
[D3D11] Exception safety for D3D11HardwareOcclusionQuery
Eugene Golushkov
[D3D11] avoid static cast from ID3D11Resource to ID3D11Texture2D, store it as ID3D11Texture2D in the first place
Eugene Golushkov
[D3D11] Exception safety for D3D11Texture
Eugene Golushkov
[D3D11] Stub classes D3D11GpuVertexProgram, D3D11GpuFragmentProgram and so on replaced by one D3D11UnsupportedGpuProgram. Real work is done by D3D11HLSLProgram that is both high level and low level program.
Eugene Golushkov
[D3D11] Dead code removed
Eugene Golushkov
[D3D11] Exception safety for D3D11HLSLProgram
Eugene Golushkov
[D3D11] Exception safety for D3D11RenderWindowXxx
Eugene Golushkov
[D3D11] Exception safety for D3D11HardwareBuffer - release resources even if .ctor throws
Eugene Golushkov
[D3D11] D3D11Device - use smart pointers to manage resources
Eugene Golushkov
[D3D11] D3D11Driver, D3D11VideoModeList - use smart pointers to manage resources
Eugene Golushkov
[D3D11] mAdapterNumber was removed intentionally, as driverlist is refreshed on device lost event. Use mAdapterIdentifier.AdapterLuid instead.
Eugene Golushkov
[D3D11] D3D11Driver - unused fields removed
Eugene Golushkov
[D3D11] Exception safety for D3D11DriverList - release resources even if .ctor throws
Eugene Golushkov
[D3D11] Added Ogre::ComPtr wrapper based on ComPtr made by Kenny Kerr for moderncpp, MIT license, but downgraded to C++ 98
Eugene Golushkov
[D3D11] Move IASetPrimitiveTopology out of loop, share benefits of detailed error info to all flavors of DrawXxx
Lior Lahav
Fixed: Direct3D11 - wrong arguments order when calling to ID3D11DeviceContext::DrawInstanced
Matias Goldberg
Bugfix: Missing newline causing bad codegen on some systems. Also fixed usage of GL430, which is now GL3+ See https://forums.ogre3d.org/viewtopic.php?f=2&t=94820 and see https://github.com/Revolutionary-Games/Thrive/issues/727
Eugene Golushkov
Added Plane::operator-() to flip plane, that is surprisingly complex to do properly given existing set of constructors.
Eugene Golushkov
Swizzle-like narrowing operations for downgrading v4->v3,v2 and v3->v2 - less typing than with explicit constructors, everything inlined, more swizzles can be added later if needed.
Eugene Golushkov
[Win32] Added #ifdef _OGRE_FILESYSTEM_ARCHIVE_UNICODE (base path and resources subpathes expected to be in UTF-8 and wchar_t file IO routines are used)
Matias Goldberg
Avoid min/max compiler errors when Windows.h is included first and NOMINMAX is not defined; particularly in user's code.
Matias Goldberg
Bugfix: Off by 1 reads while generating mipmaps or blurring.
Matias Goldberg
Bugfix: Incorrect hashing of template files (for comparing out of date caches). Also sending incorrect filesize to read (which fortunately the system would clamp it to EOF and thus avoid a buffer overflow)
Matias Goldberg
Fixed build of SceneFormatExporter on Visual Studio 2012 and older
Matias Goldberg
[D3D11] Bugfix: Coloured area lights would throw a shader compiler error Backport from 269fdb6d066d
Eugene Golushkov
+ SimpleRenderable::setMaterial(const MaterialPtr&)
Matias Goldberg
Bugfix: FastArray failed to call destructor when calling resize and the new size was smaller.
Eugene Golushkov
Lod0Stripifier: fixed template instantiation error
Eugene Golushkov
Let Lod0Stripifier use Mesh::getHardwareBufferManager() for buffer creation
Eugene Golushkov
[v1::Mesh] Add getHardwareBufferManager/setHardwareBufferManager to be able to have software only meshes that could be cloned and loaded
Eugene Golushkov
Enable OgreLod0Stripifier to convert 32bit index buffers to 16bit if possible
Eugene Golushkov
fixed compilation of Lod0Stripifier
Eugene Golushkov
[Mac GL3+] Eliminate confusing variable name at all
Eugene Golushkov
[Mac GL3+] color depth (aka bits per pixel) was passed as depth buffer depth
Eugene Golushkov
Obsolete copies of source files removed
Eugene Golushkov
Added Matrix4::transformDirectionAffine(const Vector3&)
Matias Goldberg
Added comment to sample to avoid mistake
Matias Goldberg
Bugfix: Compiler error when building Release
Matias Goldberg
OGRE_DEBUG_MODE was not working correctly when set to levels 1 and 2
Matias Goldberg
Added support for running tasks on the main thread by setting number of worker threads to 0 (a value of 0 was previously unsupported)
Matias Goldberg
Fixed crash while sample was minimized
Eugene Golushkov
Increase precision of SVD decomposition from mediocre as in WildMagic v3 & v4 to much higher, as in WildMagic v5. Count of iterations grows linearly with the count of the computed digits. For example Matrix3(1, 1, 0, 0, 2, 1, 0, 0, 3) => Matrix3(1.00015, 0.999962, 8.05408e-06, 0.000186473, 1.99995, 1.00001, -0.000126496, 3.36543e-05, 2.99999) with 17 iterations became Matrix3(1, 1, 0, 0, 2, 1, 0, 0, 3) => Matrix3(1, 0.999999, -1.78814e-07, 9.53674e-07, 2, 1, -1.2666e-06, 1.25915e-06, 3) with 23 iterations whe…
Eugene Golushkov
Fixed Matrix3::SingularValueDecomposition for matrices with bidiagonal form like (XX0/0X0/00X), for example Matrix3(3, 1, 0, 0, 2, 0, 0, 0, 1) was decomposed/recomposed to Matrix3(2.85348, 0.967011, 0, -0.902913, 1.79671, 0, 0, 0, 1)
Eugene Golushkov
Exception safe buffer unlocking, 1 / N
Peter Åberg
[PATCH] winrt build fixes Fixes for building for and running on winrt (OGRE_PLATFORM_WINRT) * samples not fixed * tested with a small pbs material sample v2: dark_sylinc - cosmetic changes, ported to Mercurial repo
Peter Åberg
[PATCH] Added option for building legacy light lists Also setting light list auto-param in HlmsLowLevel material. This optionally re-enables lighting of legacy materials, now implemented with HlmsLowLevel. Note that the legacy light lists cost a lot of performance and is not used by real hlms materials. v2: dark_sylinc - cosmetic changes, ported to Mercurial repo
Eugene Golushkov
MeshLodGenerator: wrong assertions removed (buffers = {Pos},{Norm+Tex}), further code is OK
Pavel
Main: DataStream::readLine - fix out of bounds read (ret = 0)
Eugene Golushkov
Fixed memory leak in MemoryDataStream.
Eugene Golushkov
[DeflateStream] call destroy[ZStream] in close() before clearing access mode to avoid memory leaks
Eugene Golushkov
[DeflateStream] Avoid assert when read is satisfied by cache and there are more cached bytes. Fix data corruption on seek(0).
Matias Goldberg
Merged in ybalrid/ogre-2/ybalrid/added-ybalrid-myself-to-authors-ive-sen-1544051774612 (pull request #848) Added ybalrid (myself) to AUTHORS
Arthur Brainville
Added ybalrid (myself) to AUTHORS I've sent the CLA filled on October 31st 2017 to both Matias and licensing@ogre3d.org via e-mail. If this was lost, I can send it again.
Matias Goldberg
Bugfix: Incorrect animation playback if mCurrentFrame is negative Thanks ChicChic for reporting See https://forums.ogre3d.org/viewtopic.php?f=25&t=94687
Al Reay
Added hasBone() to Ogre::SkeletonInstance as a convenience
Matias Goldberg
Added important remark based on user feedback
Matias Goldberg
Bugfix: Decals sample was not loading neither the Microcode nor HlmsDiskCache, thus on exit it would wipe out the whole cache as it tries to save a "new" cache with just the samples' shaders
Matias Goldberg
Speed up HlmsDiskCache::applyTo by reserving memory upfront
Matias Goldberg
Bugfix: Nullptr crash in setSceneNodeAsParentOfBone when passing nodeParent as a nullptr (which is valid behavior). Additionally, if setSceneNodeAsParentOfBone was called twice on the same bone with different pointers, the wrong scene node would be unparented. See https://forums.ogre3d.org/viewtopic.php?f=25&t=94659
Matias Goldberg
[GL3+]Bugfix: Crash when using microcode cache on low level materials
Matias Goldberg
Bugfix: Error while loading HlmsDiskCache poisones the cache when as renderableCache.pieces is reused but never cleared. This caused the cache to lose effectiviness (more misses)
Matias Goldberg
Bugfix: Crash on exit if the user cancelled the config dialog
Matias Goldberg
Bugfix: Crash on some systems when compiling with OGRE_D3D11_PROFILING and QueryInterface failed. Thanks to use user rujialiu for the report and bugfix https://forums.ogre3d.org/viewtopic.php?f=25&p=543352
Eugene Golushkov
DataStream: clear access mode on close, avoid repetitive compression by DeflateStream when close is called explicitly and then implicitly in .dtor
Eugene Golushkov
DeflateStream: allow to specify required stream wrapping among supported by ZLib - mostly for GZip variation. Default is ZLib for backward compatibility.
Dmytro Yunchyk
Ogre: LodData structures layout optimization
Matias Goldberg
Bugfix: @else did not work properly while inside a @foreach block
Matias Goldberg
Bugfix: Hlms bad codegen with nested @property @else @end pairs
Matias Goldberg
Fixed warning.
Matias Goldberg
Fixed broken memcmp in HlmsPso.
Matias Goldberg
Added missing header to OgreHlmsDiskCache.h Thanks to hhyyrylainen / Henri Hyyryläinen for the report
Matias Goldberg
Added missing fine granularity mask for LTC area lights in HLSL & Metal. Fixed a bug in mask code for GLSL.
Matias Goldberg
Merge with v2-1-disk-cache
Matias Goldberg
Close v2-1-disk-cache branch
Eugene Golushkov
[LOD] collapseVertex() can erase more then one vertex from mCollapseCostHeap, therefore we must ask size each time. Fortunately, it's constant time operation.
Matias Goldberg
Merged in vaevictis/ogre/bugfix/terra_detail_weight (pull request #845) Terra detail weight map bad type
Raffaele Bratta (TaaTT4)
Fix Terra detail weight map is treated as a diffuse texture instead of a non color buffer.
Matias Goldberg
Bugfix: The profiler had been accidentally disabled
Matias Goldberg
Improved message Improved docs
Matias Goldberg
Added MicrocodeCache to the samples. Microcode & HlmsDiskCache can be toggled by derived class implementations. Added more documentation to HlmsDiskCache
Matias Goldberg
Bugfix: mShaderCodeCache was not working (it always missed), thus the cache was not speeding up anything
Matias Goldberg
HlmsDiskCache no longer causes asserts on Debug builds
Matias Goldberg
Bugfix: Wrong InputLayoutId may be returned by HlmsManager::_getInputLayoutId due to off by one bug; causing all sorts of glitches in D3D11 & Metal as the wrong vertex layout could end up being used
Matias Goldberg
Fixed lost of data (16-bit vs 8-bit casting)
Matias Goldberg
Use of uint16_t instead of Ogre::uint16
Matias Goldberg
Added hashing to detect if the cache is out of date when template source files have changed.
Matias Goldberg
Bugfix: Crash if disk cache file did not exist Save the shader profile into the disk cache Version the disk cache Many functions from Hlms became public by accident. Fixed.
Matias Goldberg
HlmsDiskCache is working (in Release, due to an issue with IdString detecting hash collisions which are false positives) Bugfix: Destroying an HlmsMacroblock used mId instead of mLifetimeId Bugfix: Destroying a block did not reset mId, causing an assert to trigger later on!
Matias Goldberg
Fixed DiskCache only reading the first PSO DiskCache now resets properties that change between runs when loading from file Gave up on trying to restore the full PSO for now. It's deferred for after the refactor. The function createShaderCacheEntry (& their overloads) rely too much on pointer data that does not exist when loading from disk cache
Matias Goldberg
Refactored how vertex layouts are managed. The old code was overengineered and may have been causing unnecessary PSO duplicates Moved vertexLayoutId from the Hlms hash and moved into a Renderable property. This allows us to support many more layouts (up to 1024 without operation types, from 255 including operation types) VertexLayout IDs between v1 & v2 are now shared, which reduces shader & PSO unnecessary duplication VertexLayouts now live throughout the lifetime of the application (which shouldn't be a problem given how…
Simon Wolf
[PATCH] Elaborate doc string for OgreMeshTool -v2 -v1 options
Matias Goldberg
Bugfix: Metal compiler error because program would compile into "constantfloat3" instead of "constant float3"
Matias Goldberg
Added HlmsDiskCache (WIP)
Matias Goldberg
Modified how HlmsMacroblock & HlmsBlendblock work. Now their pointers are never recycled when their reference counts reach 0. This allows us to better cache PSOs instead of destroying them every time materials are destroyed. A user can only create up to OGRE_HLMS_MAX_LIFETIME_MACROBLOCKS & OGRE_HLMS_MAX_LIFETIME_BLENDBLOCKS throghout the entire lifetime of the application
Matias Goldberg
Cache the shaders generated separately from the PSOs, which reduces some duplicates and makes it easier to export it as a cache into a disk.
Matias Goldberg
Bugfix: Crash on exit due to mHlmsManager being a nullptr when deinitializing the HlmsManager
Matias Goldberg
Bugfix: OgreMeshTool if loading as a v1 failed, it would leave a lingering mesh in the MeshManager. This fixes crash when saving a v2 mesh as XML Also do not name every single mesh as "conversion"
Matias Goldberg
Merged in chchwy/ogre/fix/destroy-all-datablocks (pull request #844) Have to notify HlmsManager when destroying all Datablocks
chchwy Chang
Notify HlmsManager when detroying all pbs datablocks - It does notify HlmsManager when destroying one datablocks, but doesn't on destroying all.
Matias Goldberg
Added support for "@else" in Hlms.
Matias Goldberg
Added HlmsListener::propertiesMergedPreGenerationStep
Matias Goldberg
Fixed compile bug when OGRE_IDSTRING_ALWAYS_READABLE is not set
Matias Goldberg
Added profiling_id to docs
Matias Goldberg
Added OGRE_BUILD_PLATFORM_APPLE_IOS for CMake GUI
Matias Goldberg
Allow readable IdStrings on Release builds via CMake switch
Matias Goldberg
Allow compiling (D3D11) shaders with debug flags at runtime
Matias Goldberg
[D3D11] Added device removed reason to error messages.
Matias Goldberg
Fixed alignment problems with Decals & Cubemap probes
Matias Goldberg
Decal alignment code was wrong but working by accident. Fixed properly.
Matias Goldberg
Use const variables instead of magic literals that are hard to follow
Matias Goldberg
Bugfix: Loading OITD cubemap was not working
Matias Goldberg
Use two decals, not one in the SceneFormat sample
Matias Goldberg
Import Raw decal textures with gamma correction
Matias Goldberg
Added a decal to SceneFormat to test that it works correctly when importing/exporting Fixed inefficient LocalCubemaps' compositor, which was forcing Forward+ to collect lights twice.
Matias Goldberg
Rewritten Texture::convertToImage to fix several bugs in it
Matias Goldberg
Changed ForwardClustered code to be more like 2.2's, to ease maintenance Bugfix: Decals would disappear/flicker if number_of_lights * 6 was also multiple of 4
Matias Goldberg
Cubemap reflections in Terra were wrong Force HwGammaWrite to 1 as PBS component does, for consistency
Matias Goldberg
Bugfix: Forward+ debugging would cause shaders to not compile on D3D11 & Metal
Matias Goldberg
LTC Area lights were not compiling on Metal. Fixed.
Matias Goldberg
Do not declare LTC Area lights code when it is not needed Fix Cubemap Array creation on Metal
Matias Goldberg
Bugfix: Uninitialized GPU data when there is more than 1 decal Backport from f2214b8bf46c
Matias Goldberg
Bugfix: Enabling decals without diffuse would still create shaders with uninitialized variables
Matias Goldberg
Merged in vaevictis/ogre/feature/alpha_test_shadow_caster_only (pull request #841) Add support to enable alpha testing just for the shadow caster pass
Raffaele Bratta (TaaTT4)
Add support to enable alpha testing just for the shadow caster pass.
Raffaele Bratta (TaaTT4)
Remove string parse ambiguity (there's no way to discriminate between error and parsed value).
Matias Goldberg
Merged in vaevictis/ogre/bugfix/pssm_debug (pull request #840) Fix HLSL syntax error when PSSM splits debug is enabled.
Raffaele Bratta (TaaTT4)
Fix HLSL syntax error when PSSM splits debug is enabled.
Matias Goldberg
Modified Area Lights sample to use textures managed by HlmsTextureManager and pool IDs. This results in less code and is easier to manage internally
Matias Goldberg
Added Decal::setRectSize for convenience
Matias Goldberg
Fix some warnings
Matias Goldberg
Bugfix: Error while importing decal textures if their alias texture did not match the original resource name Export number of decals per cell setting in Forward Clustered
Matias Goldberg
Disable shadow casting on Decals, it's only a waste of resources
Matias Goldberg
Set Decal textures to SceneManager when importing
Matias Goldberg
Export textures that were set to SceneManager for using the decals.
Matias Goldberg
Added code to import Decals in SceneFormat Fixed some export bugs.
Matias Goldberg
Added Metadata cache so HlmsTextureManager can remember pool ID options for textures when loading from a scene format Metadata cache will be core part of Ogre 2.2, so this mimics that system
Matias Goldberg
Keep consistent signedness
Matias Goldberg
Request HW acceleration of relative mouse warping to SDL.
Matias Goldberg
Fix relative mouse warp emulation on Windows 10
Matias Goldberg
Bugfix: Area Lights LTC was broken in D3D11
Matias Goldberg
Bugfix: Shader compiler error in GLSL
Matias Goldberg
Moved most of texture saving functionality from HlmsPbsDatablock to HlmsTextureManager::saveTexture Added functionality to export Decals. No import functionality yet though
Matias Goldberg
Fixed Area LTC lights export/import in SceneFormat component
Matias Goldberg
Merged in hhyyrylainen/ogre/v2-1 (pull request #838) Made opengl context sharing and gamma setting on additional windows work
Henri Hyyryläinen
Made opengl context sharing and gamma setting on additional windows work
Matias Goldberg
Bugfix: If Decals' emissive & diffuse textures were different, the shader would still be compiled expecting them to be merged
Matias Goldberg
Decals: Do not apply the normal if the object is looking away from the decal's direction
Matias Goldberg
Reenabled all samples which were accidentally disabled
3279 commits not shown.