This utility class is used to quickly render and retrieve a Texture from a source. It should be used in place of manual rendering since it can be updated quickly, fixing outstanding issue in all places of the plugin instead of just one.
Custom Shader allows you to write your own effect files and just have them applied to your source(s). It will dynamically update the properties to match the parameters in the source as well as offer some special parameters to the shader.
# Conflicts:
# CMakeLists.txt
# data/locale/en-US.ini
# Conflicts:
# data/locale/en-US.ini
- Switched all filters and sources over to new initialization code.
- Fixed a 32-bit crash on machines with CPUs capable of SSE caused by Vertex Buffers.
- Reduced memory requirements of Vertex Buffers by ~60%.
- Removed a superfluous reallocation, loop and copy from Vertex Buffers.
This unifies the logic in GS::IndexBuffer and GS::VertexBuffer so that both can take the same amount of vertices. Additionally the limit for vertices was increased to 16777216 from 65536 to allow for proper models to be stored.
- Improved initialization code to ease future development.
- Fixed several possible crashes in the GS subsystem wrappers.
- Fixed 'Blur' filter color being wrong due to non-power-of-two textures.
- Improved 'Blur' filter error reporting for better debugging and support.
- Fixed 'Blur' filter crashing OBS on GPU reset, better support for this is added in a future version of OBS.
- Fixed 'Blur' filter occasionally just not working.
- Added 'Source Mirror' source which allows you to add filters to a source without modifying it as well as rescaling it.
The source allows you to apply effects to the same source without requiring a new instance of the source. Any changes done to the original source also apply to the mirror, so there is less total work that needs to be done.
It can also rescale the source, allowing you to use the same source as a cheap instant backdrop with Blur for example. What you do in the end is completely unwritten and up to you to decide.
INSTALL would incorrectly copy /data instead of the content of /data, resulting in the plugin not being able to load effects and default images.
PACKAGE was running from the wrong directory, resulting in an extra ".." directory being added, which was invisible for some decompression software.
- Improved cmake script to allow packaging from within the IDE.
- Fixed a crash/freeze caused by not closing the rendering context.
Blur Filter:
- Reduced blur CPU usage and GPU usage.
- Fixed LOD being calculated causing slower rendering.
- Fixed an issue where the effect would randomly not load depending on the actions before starting obs.
- Improved rendering speed via pre-calculated Blur Kernel for those filters supporting it.
- Added 'Color Format' option to improve de-noise type blur for cameras.
- Added 'Bilateral Blur', a de-noise type blur which can be used to reduce low frequency noise.
- Changed default blur size to 5 pixels.
- Improved effect loading to only compile the shader once instead of every time.
Transform Filter:
- Added shearing support allowing for more weird shapes to be rendered.
- Fixed camera aspect ratio when source width is smaller than source height.
- Fixed scaling being affected by rotation.
- Fixed an issue with the mesh reconstruction logic causing invisible sources.
Displace Filter:
This is not very optimized at the moment and will take quite a bit of GPU time. Will have to spend some time later to optimize it and perhaps add directional blur ("Motion Blur" to it).
* Fixed the perspective mesh not filling the entire frame with the default settings.
* Changed the maximum range of 'Field of View' to 179 degrees instead of 180 degrees.
* Changed the direction the perspective camera looks at to +Z instead of -Z. This should feel more natural for users of other 3D programs.
* Changed the 'Position (Z)' default to 0.
* Added translation strings for 'Field Of View', 'Position', 'Scale' and 'Rotation'.