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
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
a54a526c4b
plugin: Write plugin version to log file on load and unload
2018-08-13 01:01: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
Michael Fabian 'Xaymar' Dirks
d59b54811f
utility: Code for using enumerations as flags/bitsets
...
It baffles me that this is not just part of the language itself from the beginning, it's used nearly everywhere and is needed for type safety.
2018-04-29 01:02:05 +02:00
Michael Fabian 'Xaymar' Dirks
af71a7cc1d
filter-blur: Allow applying Blur to a sub-region of the source only
...
The Blur Filter can now be applied to a region inside the source itself, the inverse of that region, and/or a feathered version of that region. This allows for easier scene setups where only some parts need to be blurred, but the rest can be left as is.
Fixes #12
2018-04-29 00:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
1ba9145fbd
filter-blur: Use only a single Gaussian Kernel Texture
2018-04-28 14:41:18 +02:00
Michael Fabian 'Xaymar' Dirks
6c1e874369
filter-blur: Refactoring, formatting and copyright
2018-04-28 13:59:54 +02:00
Michael Fabian 'Xaymar' Dirks
0cd4520774
util-math: Bilateral Blur
2018-04-28 12:45:23 +02:00
Michael Fabian 'Xaymar' Dirks
c4942da235
source-mirror: Refactoring
2018-04-28 12:45:11 +02:00
Michael Fabian 'Xaymar' Dirks
410ba9df88
source-mirror: Implement mirroring of Source Audio
...
From this point on, Source Mirror is now capable of real-time mirroring of Video and Audio. This can help if you need different filters per scene for your microphone or voice chat, depending on the scene (audio ducking for pause scene, no audio ducking for live gaming).
2018-04-27 23:38:49 +02:00
Michael Fabian 'Xaymar' Dirks
57c2daa80c
obs-audio-capture: Helper class for automated capture of source audio
2018-04-27 23:34:26 +02:00
Michael Fabian 'Xaymar' Dirks
e621b69aa2
source-mirror: Ensure that we have a source on video_tick
2018-04-24 17:07:06 +02:00
Michael Fabian 'Xaymar' Dirks
5e4a781912
source-mirror: Ensure that we have a proper source on activate()
2018-04-24 15:31:51 +02:00
Michael Fabian 'Xaymar' Dirks
d8d60f7a21
gfx-effect-source: Check for effect == nullptr in test_for_updates
2018-04-24 13:58:07 +02:00
Michael Fabian 'Xaymar' Dirks
49964e15be
gfx-source-texture, source-mirror: Prevent recursion caused by Source Mirror
2018-04-24 13:48:42 +02:00
Michael Fabian 'Xaymar' Dirks
ec19f44f96
project: Don't prefix includes with "libobs/"
2018-04-23 17:53:27 +02:00
Michael Fabian 'Xaymar' Dirks
0b5a848c32
cmake: Improve automatic versioning
2018-04-23 17:52:40 +02:00
Michael Fabian 'Xaymar' Dirks
fc78bd83a6
filter-custom-shader: Initial version based on gfx::effect_source
2018-04-09 13:28:13 +02:00
Michael Fabian 'Xaymar' Dirks
9f91039ca0
util-memory: Don't use _dbg versions for aligned_alloc/free
2018-04-09 13:27:51 +02:00
Michael Fabian 'Xaymar' Dirks
5e9f113553
gfx-effect-source: Base class for Custom Shaders
...
gfx::effect_source is the base class for all Custom Shader Sources and Transitions, which reduces the overall workload to a single file, but unfortunately also reducing the effective customization per source a bit.
2018-04-09 13:27:22 +02:00
Michael Fabian 'Xaymar' Dirks
9ae8ecc3e1
source-mirror: Fix crashes caused by uncaught exception
2018-04-09 13:23:57 +02:00
Michael Fabian 'Xaymar' Dirks
fe05dca51e
gfx, gs: Fix commits 9f518764b6
& 2adfa5765c
2018-03-20 12:50:17 +01:00
Michael Fabian 'Xaymar' Dirks
22eb53a856
gfx: Initial code for an Effect Source (Custom Shader)
...
This class will be used by any Custom Shader type (Filter, Source, Transition) and as such is pretty much used as the basis for all of it.
2018-03-20 12:45:41 +01:00
Michael Fabian 'Xaymar' Dirks
2adfa5765c
gs: Rename to snake_case instead of PascalCase
...
This should prevent mishaps with upper/lowercase typos and fits in better with the C++ standard code, which is also in snake_case.
2018-03-20 12:44:02 +01:00
Michael Fabian 'Xaymar' Dirks
9f518764b6
gfx: Move util::SourceTexture to gfx::SourceTexture
...
'gfx' is the new preview for Graphics utilities that do not act as a wrapper around the Graphics Subsystem directly.
2018-03-08 11:28:23 +01:00
Michael Fabian 'Xaymar' Dirks
53073660c0
Merge branch 'filter-custom-shader'
2018-03-05 16:50:57 +01:00
Michael Fabian 'Xaymar' Dirks
65a7ac696b
source-mirror: Use util:SourceTexture instead of custom code
2018-03-05 16:50:19 +01:00
Michael Fabian 'Xaymar' Dirks
304db23335
util-math: Add SizeFromString method
...
Converts a String to an std::pair of int64_t (long long), which contain the size or 0 if none could be parsed. Any delimiter except digits(0-9), a minus sign(-) or a plus sign(+) between width and height are allowed. If a plus or minus sign is used as a delimiter, it must immediately be followed by the second size number. This allows for formats such as: 100x100, 100:100, 100p100, 100@100, 100+100 and so on, but not formats such as 100+:100, 100ThisIsSomeReall+yLongText100, etc.
The parameter 'allowSquare' also determines what to do when the height parameter is not found. A value of true will have the function return <width,width> instead of <width,0>.
2018-03-05 16:36:20 +01:00
Michael Fabian 'Xaymar' Dirks
1f60e3d56f
util-source-texture: Fix commit 75aeb561bd
...
Including obs.h directly is not compatible with CPack installations of libobs.
2018-03-05 16:21:30 +01:00