Michael Fabian 'Xaymar' Dirks
8296af68c6
project: Rename 'Filter' to 'filter'
2018-09-30 18:49:52 +02:00
Michael Fabian 'Xaymar' Dirks
da22e72da7
filter-transform: Fix mipmapping for npot input
...
The filter will now automatically rescale the parent stack into the next best power of two size. With this, even non-power-of-two sources can now be mipmapped semi-correctly.
To accurately support mipmapping even for npot textures, this feature would have to be built into OBS and OBS would have to stop refusing to create textures with mipmaps that are not a power of two in size. Almost all common Direct3D 11 (except Intel) are capable of npot mipmaps at full speed, while OpenGL usually depends on the GPU and Driver used.
2018-09-29 17:05:58 +02:00
Michael Fabian 'Xaymar' Dirks
6561ea9b3c
util-math: Rename get_power_of_two to get_power_of_two_exponent
2018-09-29 16:57:41 +02:00
Michael Fabian 'Xaymar' Dirks
9a8a44045b
gs-mipmapper: Fix support for very small mipmaps
...
This fixes the final mip map of a texture being empty, in cases where either width or height is reduced to just a single pixel.
2018-09-29 16:57:17 +02:00
Michael Fabian 'Xaymar' Dirks
38b6ec7c65
gs-mipmapper: Fix Sharpen shader, add strength support for Smoothen
2018-09-29 15:58:13 +02:00
Michael Fabian 'Xaymar' Dirks
0a7283b2ba
filter-transform: more Formatting, add mipmap options
2018-09-29 15:57:25 +02:00
Michael Fabian 'Xaymar' Dirks
dbe577e372
filter-transform: Formatting, refactoring and mipmapping
...
The '3D Transform' filter now support mipmapping using the Linear generator. This results in smoother images when the shape is squished or distant, instead of a pixelated mess.
2018-09-29 01:07:38 +02:00
Michael Fabian 'Xaymar' Dirks
7c520ae9ee
gs-mipmapper: Implement actual mipmap generation
...
This enables full mipmapping support for textures with a shader view that allows accessing different mip levels. In order to access mip levels, you have to specify gs::texture:🎏 :BuildMipMaps when creating the texture, as OBS currently forces the maximum mip level to 1 even if you actually have mip data available.
2018-09-29 01:06:30 +02:00
Michael Fabian 'Xaymar' Dirks
c591902fea
gs-texture: Allow texture creation without data
...
This is a valid operation and allows for creation of uninitialized textures, which can be copied to but should not be read from until that moment.
2018-09-28 23:34:43 +02:00
Michael Fabian 'Xaymar' Dirks
95018868dc
gs-mipmapper: Formatting and refactoring
2018-09-28 23:32:35 +02:00
Michael Fabian 'Xaymar' Dirks
bb5c1f80b5
gfx-source-texture: Formatting and refactoring
2018-09-28 23:31:21 +02:00
Michael Fabian 'Xaymar' Dirks
bc89eaf33a
util-math: Fix is_power_of_two_loop for non-64-bit types
2018-09-28 21:21:40 +02:00
Michael Fabian 'Xaymar' Dirks
6e03f2334d
gs-mipmapper: Textures with no mip level do not exist
2018-09-28 21:21:24 +02:00
Michael Fabian 'Xaymar' Dirks
f78be9c387
gs-texture: Undo removal of mip_data check
2018-09-28 21:21:04 +02:00
Michael Fabian 'Xaymar' Dirks
04d7379ff1
filter-transform: Formatting
2018-09-28 14:49:59 +02:00
Michael Fabian 'Xaymar' Dirks
b5746e473b
gfx-effect-source: Remove mipmapper
2018-09-28 14:26:06 +02:00
Michael Fabian 'Xaymar' Dirks
3f3cbb8939
gs-mipmapper: Add mip level and remove bilinear from effect
2018-09-28 14:25:04 +02:00
Michael Fabian 'Xaymar' Dirks
ff8618c339
gs-mipmapper: Specify source and target and remove Bilinear
2018-09-28 14:24:30 +02:00
Michael Fabian 'Xaymar' Dirks
afc04a5d0e
gs-texture: Use util::math functions
2018-09-28 14:23:47 +02:00
Michael Fabian 'Xaymar' Dirks
528d36a13f
util-math: Fix compile error and add get_power_of_two_*
2018-09-28 14:23:26 +02:00
Michael Fabian 'Xaymar' Dirks
391fca7497
gs-effect: Formatting
2018-09-28 14:18:09 +02:00
Michael Fabian 'Xaymar' Dirks
1923a724d7
util-math: Formatting and is_power_of_two templates
2018-09-28 14:17:43 +02:00
Michael Fabian 'Xaymar' Dirks
db13c50ec5
gfx-effect-source: Add initial code for texture support
2018-09-28 11:55:55 +02:00
Michael Fabian 'Xaymar' Dirks
e0f1de8c4b
gs-mipmapper: Fix mipgen effect file
2018-09-28 11:48:06 +02:00
Michael Fabian 'Xaymar' Dirks
7b995cf50b
gs-vertexbuffer: Fix heap corruption
2018-09-28 11:47:50 +02:00
Michael Fabian 'Xaymar' Dirks
72d15bad31
gs-mipmapper: Slight formatting changes
2018-09-27 06:21:39 +02:00
Michael Fabian 'Xaymar' Dirks
bc63696306
gs-mipmapper: Early attempts at proper mipmap rendering
...
This class is an attempt at adding dynamic mipmapping support to OBS, which is lacking this feature. It is pretty much a hack until I figure out how to do it for both d3d11 and opengl and can make a PR for obs-studio to include this ability by default.
2018-09-27 06:09:43 +02:00
Michael Fabian 'Xaymar' Dirks
14b370a7a5
gs-texture: Remove accidentally added enum
2018-09-27 05:36:49 +02:00
Michael Fabian 'Xaymar' Dirks
fb77cc90a6
gs-rendertarget: Allow retrieving color and zstencil format
2018-09-27 05:23:14 +02:00
Michael Fabian 'Xaymar' Dirks
faeb5af45b
gs-rendertarget: Formatting and refactoring
2018-09-27 05:17:08 +02:00
Michael Fabian 'Xaymar' Dirks
ded5896fca
gs-texture: Add get_color_format method
2018-09-27 05:11:37 +02:00
Michael Fabian 'Xaymar' Dirks
52cb7a6d20
gs-texture: Formatting, refactoring and cleanup
2018-09-27 05:09:38 +02:00
Michael Fabian 'Xaymar' Dirks
4c1e66e27b
gs-vertexbuffer: Remove #pragma region
2018-09-27 03:11:04 +02:00
Michael Fabian 'Xaymar' Dirks
8a897c8898
gs-vertex: Formatting and fix constructors
2018-09-27 03:07:38 +02:00
Michael Fabian 'Xaymar' Dirks
431fee7b9b
gs-vertexbuffer: Do not assign uv layers that do not exist
2018-09-27 03:00:17 +02:00
Michael Fabian 'Xaymar' Dirks
cace17a817
gs-vertexbuffer: Allow specifying amount of UV layers
...
This should reduce GPU memory usage for vertex buffers that need less UV information than the maximum allowed UV layers possible.
2018-09-27 02:57:53 +02:00
Michael Fabian 'Xaymar' Dirks
c3e67bad97
gs-vertexbuffer: Formatting and various fixes
...
With the addition of clang-format and cppcheck, and the changes to .editorconfig, various changes need to be added.
2018-09-27 02:49:00 +02:00
Michael Fabian 'Xaymar' Dirks
dac0553377
project: Revert to 4-wide tab
2018-09-27 02:44:56 +02:00
Michael Fabian 'Xaymar' Dirks
a244914ca3
cmake: Add Template and Inline Suppression support for CppCheck
2018-09-27 02:43:28 +02:00
Michael Fabian 'Xaymar' Dirks
069085d0af
project: Update project URL
2018-09-26 01:22:54 +02:00
Michael Fabian 'Xaymar' Dirks
dc0104850a
cmake: Massive update ported from obs-amd-encoder
...
This includes support for included, referenced, packaged and downloaded obs-studio libraries, cppcheck, packaging using cpack, 7z, zip or InnoSetup and more.
2018-09-26 01:17:08 +02:00
Michael Fabian 'Xaymar' Dirks
9e58f4a4f7
project: Add clang-format support
2018-09-26 01:15:53 +02:00
Michael Fabian 'Xaymar' Dirks
a54a526c4b
plugin: Write plugin version to log file on load and unload
2018-08-13 01:01:15 +02:00
Michael Fabian 'Xaymar' Dirks
8ab050ad29
tools: Improve make-solutions.bat
2018-04-29 03:42:15 +02:00
Michael Fabian 'Xaymar' Dirks
e8da137ab6
filter-custom-shader: Basic custom shader support
...
The Custom Shader Filter is now capable of rendering a custom shader using the gfx::effect_source class as a backend. An example shader is provided for starting off, more advanced examples may come later.
Related: #5
2018-04-29 03:07:26 +02:00
Michael Fabian 'Xaymar' Dirks
0957ce0bb9
gfx-effect-source: Implement basic functionality
...
Rendering is now possible, although some parameter types are not yet supported. So far, booleans and floats will work fine, integers will cause an error in OBS Studios rendering code for an unknown reason.
2018-04-29 03:05:53 +02:00
Michael Fabian 'Xaymar' Dirks
b4de874ec9
gs-effect: Work around for an obs-studio issue with Integer parameters
2018-04-29 03:01:20 +02:00
Michael Fabian 'Xaymar' Dirks
6057101f26
gs-vertexbuffer: Fix usage of gs_vertexbuffer_get_data()
2018-04-29 03:00:40 +02:00
Michael Fabian 'Xaymar' Dirks
e200127595
source-mirror: Fix compiler warnings
2018-04-29 03:00:04 +02:00
Michael Fabian 'Xaymar' Dirks
c9ed74a3f9
gs-texture: Additional type safety and new methods
2018-04-29 02:59:51 +02:00