Commit graph

165 commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks
717b38f3f7 gfx/shader: Add Per-Instance/Activation/Frame Random values 2020-07-06 01:27:23 +02:00
Michael Fabian 'Xaymar' Dirks
6e0f85d3f7 encoders/ffmpeg: Rebase onto obs::encoder_factory 2020-06-21 19:24:58 +02:00
Michael Fabian 'Xaymar' Dirks
7b8774b834 gfx/shader: Inlining, std::string_view and optimizations 2020-05-31 01:41:07 +02:00
Michael Fabian Dirks
5aed075978
locale: New Crowdin translations (#195) 2020-05-13 04:21:14 +02:00
Michael Fabian 'Xaymar' Dirks
f111330f8e filters/nv-face-tracking: Improve tracking and remove high priority CUDA stream
The high priority CUDA stream causes libOBS to be at a lower priority than the tracking, which is not what we want. Instead we want tracking to be incomplete in those cases, rather than slowing down encoding and other things.

Geometry updates are also now done once per frame instead of one per tracking update, which should improve the smoothness without affecting performance too much. Additionally all tracking info is now in the 0..1 range, which drastically simplifies some math - especially with texture coordinates.

To deal with tracking and updates being asynchronous, a very simple approximation of movement velocity has been added. This is mostly wrong, but it can bridge the gap where tracking updates are slower, as the values are all filtered anyway.
2020-05-13 02:30:15 +02:00
Michael Fabian 'Xaymar' Dirks
a26827f614 ui/about: Add version information 2020-05-12 15:07:38 +02:00
Michael Fabian 'Xaymar' Dirks
7cd14daa1f examples: Remove broken effects 2020-05-02 21:43:14 +02:00
Michael Fabian 'Xaymar' Dirks
28aca9ff15 gs-mipmapper: Update API usage, remove broken options and optimize
The new libOBS API allows us to directly access the underlying API instead of having to mess around in memory. By using it we can avoid crashing in case the compiler for it is different, or in case the actual back end structure changes.

Additionally the mostly unimplemented and unused options have also been removed, which streamlines the use of this class even further and reduces both shader and code complexity.

Finally by optimizing the use of the internal render target we can achieve a speed up of up to 3000% over the old way, allowing for many more mipmapped filters.
2020-04-25 08:40:06 +02:00
Michael Fabian 'Xaymar' Dirks
93207d4655 gfx-shader: Actually write alpha channel to render target 2020-04-24 06:18:12 +02:00
Michael Fabian Dirks
69a39e7708
locale: New Crowdin translations (#178) 2020-04-24 05:35:56 +02:00
Michael Fabian 'Xaymar' Dirks
ead6f28ca9 locale: Fix missing '[Alpha]' 2020-04-24 01:34:18 +02:00
Michael Fabian 'Xaymar' Dirks
cb215881a9 source-shader: Add ShaderToy MslfRn
Adds 'https://www.shadertoy.com/view/MslfRn' as a usable shader.
2020-04-24 01:13:34 +02:00
Michael Fabian 'Xaymar' Dirks
b765d6e745 source-shader: Add ShaderToy MslGRn
Converts 'https://www.shadertoy.com/view/MslGRn' into a usable StreamFX shader.
2020-04-24 01:13:34 +02:00
Michael Fabian 'Xaymar' Dirks
98ea37b2e2 source-shader: Add ShaderToy 3tlXWS
Converts 'https://www.shadertoy.com/view/3tlXWS' into a usable StreamFX Shader.
2020-04-24 01:13:34 +02:00
Michael Fabian 'Xaymar' Dirks
fdcecf25c9 source-shader: Add ShaderToy 3l23Rh
Converts 'https://www.shadertoy.com/view/3l23Rh' into a Shader usable by StreamFX's Shader Source.
2020-04-24 01:13:34 +02:00
Michael Fabian 'Xaymar' Dirks
d42d26db3d filter-shader: Add 'semiline' effect
The 'semiline' effect blanks out horizontal lines of increasing size, with some configuration options. Example: https://cdn.xaymar.com/private/2020-04-23/2020-04-23T08-00-37_obs64_HeartyNavyblueAtlanticridleyturtle.png
2020-04-24 01:13:34 +02:00
Michael Fabian 'Xaymar' Dirks
7a929d6af4 locale: Add missing and remove unused strings 2020-04-23 09:14:31 +02:00
Michael Fabian 'Xaymar' Dirks
d0941895ad project: Refactor into namespace streamfx 2020-04-23 00:50:39 +02:00
Michael Fabian Dirks
fec55909ef
locale: New Crowdin translations (#167) 2020-04-22 23:15:16 +02:00
Michael Fabian Dirks
6794edb223
locale: New Crowdin translations (#153) 2020-04-17 11:13:57 +02:00
Michael Fabian 'Xaymar' Dirks
a989709b6f examples: Fix some example shaders and add new ones
* Fixed 'Pixelator's color transition point being off-center and uncontrollable.
* Fixed 'Drunk' filter not working at all.
* Added an inverted mode to 'Luma Burn'.
* Added exponential Luma to 'Luma Burn'.
* Fixed odd color behavior in the 'Color Shift' transition by switching out HSL with HSV.
* Added a new 'Sliding Bars' transition shader, for an example of it see this clip: https://clips.twitch.tv/RacyEndearingHorseradishAMPTropPunch .
2020-04-17 11:13:36 +02:00
Michael Fabian Dirks
e16b4f0004
locale: New Crowdin translations (#133) 2020-04-08 23:10:19 +02:00
Michael Fabian 'Xaymar' Dirks
4b5754679e ffmpeg-encoder/prores: Fix typo in english locale 2020-04-05 06:50:54 +02:00
Michael Fabian 'Xaymar' Dirks
9e9e9cbcd5 ffmpeg-encoder/prores: Improve pixel format override logic 2020-04-04 19:34:58 +02:00
Michael Fabian 'Xaymar' Dirks
9ca190c96a gfx-shader: Don't use modified_properties to reload shaders
As OBS Studio locks some mutexes in a different order depending on what actions are being done, using modified_properties for GPU work causes things to freeze in place. Instead have users manually click the refresh button when they changed files in order to prevent this freeze from happening.

Fixes: #118
2020-04-03 18:54:56 +02:00
Michael Fabian Dirks
a8b79aa7f8
locale: New Crowdin translations (#128) 2020-04-03 18:44:16 +02:00
Michael Fabian Dirks
0242514184 locale: New Crowdin translations (#121) 2020-04-03 01:25:24 +02:00
Michael Fabian Dirks
f87e7859c4
locale: New Crowdin translations (#120) 2020-04-02 06:58:28 +02:00
Michael Fabian 'Xaymar' Dirks
516d48a5a0 locale: Add missing translation for Shader Transitions 2020-04-01 20:33:00 +02:00
Michael Fabian Dirks
29b8c4cd20 locale: New Crowdin translations (#113) 2020-03-31 21:50:40 +02:00
Michael Fabian 'Xaymar' Dirks
43f1dcf205 filter-nv-face-tracking: Nvidia exclusive Face Tracking filter
Ever wished you had a professional camera operator to highlight and follow the action, ensuring the audience never misses a beat? Thanks to NVIDIA, you can now do this at home for free! The new NVIDIA AR SDK unlocks augmented reality features, including motion tracking for faces.

This allows me to provide you with an automated zoom and cropping solution for your video camera to transform your streams into a slick, polished broadcast, where you’ll always be the star of the show. Don’t forget - everything is customizable so the possibilities are endless. You can even recreate that Futurama squinting meme if you wanted to (with some scripting)!

The filter requires compatible Nvidia RTX hardware and the Nvidia AR SDK Runtime to be installed ahead of time. This filter is considered "stable" and shouldn't change much from version to version.
2020-03-31 21:46:47 +02:00
Michael Fabian 'Xaymar' Dirks
4fda7de573 filter-shader: New filter examples
CRT Curvature: Emulate an old CRT TVs curvature ...
CRT Scanlines: ... and emulate an old CRT TVs scanlines, rollbar and bleeding!
Hexagonize: Turn things into hexagons. You know, like the thing you see in my streams.
2020-03-28 22:19:14 +01:00
Michael Fabian 'Xaymar' Dirks
7d5c4361e3 transition-shader: New transition examples
Color Shift: Uses HSL and some math to smoothly shift Hue Saturation and Lightness between A and B.
Luma Burn: "Burns" away the Luminosity of A to reveal the B side.
Pixelator: Classic/Retro pixelation effect often seen in older games to transition between settings.
2020-03-28 20:22:42 +01:00
Michael Fabian 'Xaymar' Dirks
ba97ea06b0 filter-color-grade: Fix effect 2020-03-28 20:20:33 +01:00
Michael Fabian 'Xaymar' Dirks
6f2b50b0ad cmake: Redesign for future features 2020-03-20 23:09:46 +01:00
Michael Fabian Dirks
aa3c5557a9
locale: New Crowdin translations (#105) 2020-03-17 18:46:49 +01:00
Michael Fabian Dirks
569e39fe3b
locale: New Crowdin translations (#97) 2020-02-13 09:36:31 +01:00
Michael Fabian 'Xaymar' Dirks
403aae4eb9 locale: Fix incorrect string 2020-02-13 05:09:14 +01:00
Michael Fabian 'Xaymar' Dirks
5956a6f7a9 ffmpeg-encoder/nvenc: Add AUD and DPB Size options 2020-01-15 13:43:33 +01:00
Michael Fabian 'Xaymar' Dirks
34b2859dac ffmpeg-encoder/nvenc: Add minimum bitrate, fix target quality and more
Adds support for specifying Minimum Bitrate directly in the UI instead of requiring custom settings to do so. Additionally Adaptive I/B-Frames are now only shown if Look-Ahead is a value greater than 0 frames.

Quality Minimum can also now be left at a default value of -1, the Quality group is no longer toggleable and Quality Target moved into the group. Settings options on the context is now searching children too (if there are any).

Finally, some C++17 formatting was done.

Fixes #101
2020-01-15 05:50:31 +01:00
Michael Fabian 'Xaymar' Dirks
5d5a104819 ffmpeg-encoder: Improve UI, fix acceleration encode, etc 2020-01-15 03:59:03 +01:00
Michael Fabian 'Xaymar' Dirks
0a16ce07dc project: Merged FFmpeg Encoders Step 2 2020-01-13 22:40:15 +01:00
Michael Fabian 'Xaymar' Dirks
3432ab4c1d examples: 3D Raytracing Shader Example
Very very basic 3D raytracing, nowhere close to what people manage to do in combo productions. But it does work to some degree.
2020-01-01 16:02:45 +01:00
Michael Fabian 'Xaymar' Dirks
3cd88abeae examples: Add explanation for basic StreamFX shader files 2019-12-25 20:09:37 +01:00
Michael Fabian 'Xaymar' Dirks
133d8cf599 examples: Fix plasma UV and support for float4 2019-12-22 06:14:56 +01:00
Michael Fabian 'Xaymar' Dirks
0bf4a3ff01 examples: Improve plasma effect settings 2019-12-21 19:09:42 +01:00
Michael Fabian Dirks
68d3146cb8
locale: New Crowdin translations (#93) 2019-12-21 05:02:46 +01:00
Michael Fabian 'Xaymar' Dirks
3f5adab815 examples: New example source shaders 2019-12-18 07:50:49 +01:00
Michael Fabian Dirks
43f0aad930
locale: New Crowdin translations (#91) 2019-12-18 06:49:13 +01:00
Michael Fabian 'Xaymar' Dirks
b7f76f5e01 locale: New translatable strings 2019-12-18 06:39:08 +01:00