e8ec23c4d4 
								
							 
						 
						
							
							
								
								obs/source-tracker: Fix leaked source references  
							
							... 
							
							
							
							This functionality broke at some point in the past without anyone noticing, resulting in most dropdowns that rely on this functionality being blank.
Fixes  #1025  
							
						 
						
							2023-04-05 18:59:03 +02:00  
				
					
						
							
							
								 
						
							
								0f4f6d0485 
								
							 
						 
						
							
							
								
								gfx/source-texture: Don't use weak_source for strong references  
							
							
							
						 
						
							2023-04-05 18:58:57 +02:00  
				
					
						
							
							
								 
						
							
								7226fe7046 
								
							 
						 
						
							
							
								
								gfx/blur/box: Initialize streamfx::gfx::util  
							
							
							
						 
						
							2023-04-05 18:58:56 +02:00  
				
					
						
							
							
								 
						
							
								52afca38aa 
								
							 
						 
						
							
							
								
								gfx/mipmapper: Move gs-mipmapper into proper directory  
							
							... 
							
							
							
							This is not an obs feature, so it shouldn't be in the obs directory. 
							
						 
						
							2023-04-05 18:58:56 +02:00  
				
					
						
							
							
								 
						
							
								8aa8745a3a 
								
							 
						 
						
							
							
								
								gfx/util: Move draw_fullscreen_triangle here for consistency  
							
							
							
						 
						
							2023-04-05 18:58:56 +02:00  
				
					
						
							
							
								 
						
							
								9b8ef5ac74 
								
							 
						 
						
							
							
								
								gfx/util: Rename debug to util(ity)  
							
							... 
							
							
							
							They may be useful for debugging, but they are still utilities. 
							
						 
						
							2023-04-05 18:58:55 +02:00  
				
					
						
							
							
								 
						
							
								1c7350edf7 
								
							 
						 
						
							
							
								
								code: Fix initialization order for constructors  
							
							... 
							
							
							
							Prevents some out-of-order events from occurring. 
							
						 
						
							2023-04-05 18:58:40 +02:00  
				
					
						
							
							
								 
						
							
								08544b4116 
								
							 
						 
						
							
							
								
								cmake, code: Abuse pre-processor to disable/enable warnings  
							
							
							
						 
						
							2023-04-05 18:58:39 +02:00  
				
					
						
							
							
								 
						
							
								8e52bbf88b 
								
							 
						 
						
							
							
								
								code: Ignore warnings from external code  
							
							... 
							
							
							
							May need to find a better solution such as disabling all warnings on third party code. 
							
						 
						
							2023-04-05 18:58:38 +02:00  
				
					
						
							
							
								 
						
							
								0aca1fc132 
								
							 
						 
						
							
							
								
								code: Always provide a default case for enumerations  
							
							
							
						 
						
							2023-04-05 18:58:37 +02:00  
				
					
						
							
							
								 
						
							
								4fa26dd2d6 
								
							 
						 
						
							
							
								
								code: Always initialize or cast to correct type  
							
							
							
						 
						
							2023-04-05 18:58:37 +02:00  
				
					
						
							
							
								 
						
							
								0fe5c7e654 
								
							 
						 
						
							
							
								
								code: Don't use try-catch as function definition  
							
							... 
							
							
							
							This breaks MSVC and results in leaked exceptions. 
							
						 
						
							2023-04-05 18:58:37 +02:00  
				
					
						
							
							
								 
						
							
								fb09e98a5f 
								
							 
						 
						
							
							
								
								gfx/shader/param-texture: Use obs::weak_source instead of obs::source  
							
							
							
						 
						
							2023-04-05 18:58:33 +02:00  
				
					
						
							
							
								 
						
							
								6e1566386e 
								
							 
						 
						
							
							
								
								project: Apply more C++ paradigms to the code  
							
							... 
							
							
							
							- Use auto in places where code clarity is improved or identical.
- Replace trivial constructors and destructors with default.
- Use true random for random generation.
- Use std::string_view where it is valid to do so.
- Apply const where it is valid to do so.
- Use references where it is valid to do so.
- Manually optimize memory usage with std::move and std::copy.
- Opt for memory efficient containers where the size is known ahead of time.
Signed-off-by: lainon <GermanAizek@yandex.ru> 
							
						 
						
							2023-04-05 18:58:32 +02:00  
				
					
						
							
							
								 
						
							
								30134bd284 
								
							 
						 
						
							
							
								
								gfx/source-texture: Fix bad ref with Debug compiles  
							
							
							
						 
						
							2023-04-05 18:58:30 +02:00  
				
					
						
							
							
								 
						
							
								ba15203c67 
								
							 
						 
						
							
							
								
								gfx/source-texture: Apply formatting as required by clang-format 14  
							
							
							
						 
						
							2023-04-05 18:58:26 +02:00  
				
					
						
							
							
								 
						
							
								8a31b986ab 
								
							 
						 
						
							
							
								
								project: Update to new classes  
							
							
							
						 
						
							2023-04-05 18:58:22 +02:00  
				
					
						
							
							
								 
						
							
								b108362ee1 
								
							 
						 
						
							
							
								
								gfx/source-texture: Update to new classes  
							
							
							
						 
						
							2023-04-05 18:58:21 +02:00  
				
					
						
							
							
								 
						
							
								0627628884 
								
							 
						 
						
							
							
								
								obs/tools: Remove work-around for obs_properties_remove_by_name  
							
							... 
							
							
							
							The bug fix to this was applied upstream, so we no longer need to support the broken behavior 
							
						 
						
							2023-04-05 18:58:20 +02:00  
				
					
						
							
							
								 
						
							
								cce33eef80 
								
							 
						 
						
							
							
								
								gfx/shader/texture: Fix incorrect placement of modified_type  
							
							... 
							
							
							
							The previous placement would result in the properties not yet existing. 
							
						 
						
							2023-04-05 18:51:49 +02:00  
				
					
						
							
							
								 
						
							
								ba05258547 
								
							 
						 
						
							
							
								
								gfx/shader/texture: Improve load/acquire behavior  
							
							... 
							
							
							
							Prevents massive stalls from happening unexpectedly due to repeatedly loading the same thing over and over. 
							
						 
						
							2023-04-05 18:51:49 +02:00  
				
					
						
							
							
								 
						
							
								7994d03166 
								
							 
						 
						
							
							
								
								gfx/shader/texture: Add default file annotation  
							
							
							
						 
						
							2023-04-05 18:51:49 +02:00  
				
					
						
							
							
								 
						
							
								c3b1dc2ec2 
								
							 
						 
						
							
							
								
								gfx/shader: Call defaults before update before properties  
							
							... 
							
							
							
							Fixes an unusual order of initialization bug resulting in poor user experience 
							
						 
						
							2023-04-05 18:51:48 +02:00  
				
					
						
							
							
								 
						
							
								86cb224783 
								
							 
						 
						
							
							
								
								gfx/shader: Clear render target before rendering  
							
							... 
							
							
							
							Accidentally left as a comment, this causes things like SMAA to freak out. 
							
						 
						
							2023-04-05 18:51:48 +02:00  
				
					
						
							
							
								 
						
							
								89f1affe32 
								
							 
						 
						
							
							
								
								gfx/shader: Shaders don't render in sRGB mode  
							
							
							
						 
						
							2023-04-05 18:51:47 +02:00  
				
					
						
							
							
								 
						
							
								ab84537a6e 
								
							 
						 
						
							
							
								
								gfx/shader/param-texture: Fix detection of enumerations and paths  
							
							
							
						 
						
							2023-04-05 18:51:46 +02:00  
				
					
						
							
							
								 
						
							
								4601df76d9 
								
							 
						 
						
							
							
								
								gfx/shader/param/texture: Add support for Texture parameters  
							
							... 
							
							
							
							Implements File, Source and Enumeration type for Texture shader inputs, completing the initial Shader implementation.
Related: #5 
Co-authored-by: Michael Fabian 'Xaymar' Dirks <info@xaymar.com> 
							
						 
						
							2023-04-05 18:51:43 +02:00  
				
					
						
							
							
								 
						
							
								1816e29862 
								
							 
						 
						
							
							
								
								gfx/shader: Optional sRGB support for inputs  
							
							
							
						 
						
							2023-04-05 18:51:43 +02:00  
				
					
						
							
							
								 
						
							
								93a20c7dd4 
								
							 
						 
						
							
							
								
								gfx/shader: Add profiling code and fix problems with properties  
							
							
							
						 
						
							2023-04-05 18:51:43 +02:00  
				
					
						
							
							
								 
						
							
								e1b7e6eaf2 
								
							 
						 
						
							
							
								
								gfx/shader: Get-er for currently loaded shader file  
							
							
							
						 
						
							2023-04-05 18:51:43 +02:00  
				
					
						
							
							
								 
						
							
								22786005d6 
								
							 
						 
						
							
							
								
								gfx/shader/param: Track the parent shader object  
							
							
							
						 
						
							2023-04-05 18:51:42 +02:00  
				
					
						
							
							
								 
						
							
								69a72d4975 
								
							 
						 
						
							
							
								
								gfx/shader: Add a way to retrieve the underlying obs_source_t*  
							
							
							
						 
						
							2023-04-05 18:51:42 +02:00  
				
					
						
							
							
								 
						
							
								bba606e439 
								
							 
						 
						
							
							
								
								gfx/shader: Support for visible and active tracking in parameters  
							
							... 
							
							
							
							Co-authored-by: Michael Fabian 'Xaymar' Dirks <info@xaymar.com> 
							
						 
						
							2023-04-05 18:51:42 +02:00  
				
					
						
							
							
								 
						
							
								6aa3f6dbc2 
								
							 
						 
						
							
							
								
								gfx/shader: De-duplicate some code paths  
							
							... 
							
							
							
							Co-authored-by: Michael Fabian 'Xaymar' Dirks <info@xaymar.com> 
							
						 
						
							2023-04-05 18:51:41 +02:00  
				
					
						
							
							
								 
						
							
								655ff6e367 
								
							 
						 
						
							
							
								
								third-party: Add GLAD OpenGL wrapper  
							
							
							
						 
						
							2023-04-05 18:51:40 +02:00  
				
					
						
							
							
								 
						
							
								29bbe22bec 
								
							 
						 
						
							
							
								
								obs/gs/effect: Preprocess shaders to improve platform compatibility  
							
							... 
							
							
							
							Improves cross-platform compatibility of Shaders written for StreamFX through the use of preprocessing to make things a bit more compatible. While we don't perform any proper parsing, this will be able to prevent basic issues. 
							
						 
						
							2023-04-05 18:51:38 +02:00  
				
					
						
							
							
								 
						
							
								28fa127ead 
								
							 
						 
						
							
							
								
								gfx/debug: Helper class to handle common debug rendering  
							
							
							
						 
						
							2023-04-05 18:51:35 +02:00  
				
					
						
							
							
								 
						
							
								380d75f770 
								
							 
						 
						
							
							
								
								project: Unify logging structure  
							
							
							
						 
						
							2023-04-05 18:51:14 +02:00  
				
					
						
							
							
								 
						
							
								733b325f98 
								
							 
						 
						
							
							
								
								gfx/blur/dual-filtering: Clean up code  
							
							... 
							
							
							
							Cleans up the code slightly, without affecting actual functionality 
							
						 
						
							2023-04-05 18:51:02 +02:00  
				
					
						
							
							
								 
						
							
								011bee032a 
								
							 
						 
						
							
							
								
								gfx/blur/gaussian: Fix Gaussian Kernel generation  
							
							... 
							
							
							
							While the previous method worked, it matches no other implementation including a reference implementation. The new implementation almost perfectly matches the reference implementation and uses oversampling to achieve the goal. This has the downside of limiting the blur size to just 64, but it is necessary in order to achieve correct results.
Fixes  #573  
							
						 
						
							2023-04-05 18:51:01 +02:00  
				
					
						
							
							
								 
						
							
								cda430ccad 
								
							 
						 
						
							
							
								
								gfx/shader: Apply coding guidelines  
							
							
							
						 
						
							2023-04-05 18:51:01 +02:00  
				
					
						
							
							
								 
						
							
								578d84be63 
								
							 
						 
						
							
							
								
								gfx: Apply coding guidelines  
							
							
							
						 
						
							2023-04-05 18:50:59 +02:00  
				
					
						
							
							
								 
						
							
								c84c301d49 
								
							 
						 
						
							
							
								
								obs/gs: Apply coding guidelines  
							
							
							
						 
						
							2023-04-05 18:50:59 +02:00  
				
					
						
							
							
								 
						
							
								015fac588b 
								
							 
						 
						
							
							
								
								obs: Apply coding guidelines  
							
							
							
						 
						
							2023-04-05 18:50:58 +02:00  
				
					
						
							
							
								 
						
							
								d62da72ce5 
								
							 
						 
						
							
							
								
								util: Apply coding guidelines  
							
							
							
						 
						
							2023-04-05 18:50:57 +02:00  
				
					
						
							
							
								 
						
							
								5a65cf3525 
								
							 
						 
						
							
							
								
								plugin: Replace long descriptions with "Open Manual" button  
							
							... 
							
							
							
							While the long descriptions were useful, keeping the updated and translated is pretty much impossible. Technology moves fast and not everyone that translates the project knows a lot about technology.
Therefore the long descriptions have now been replaced with a button that opens the wiki page for the feature instead. This should drastically reduce the number of help cases, and improve the translation coverage at the same time. 
							
						 
						
							2023-03-28 13:11:20 +02:00  
				
					
						
							
							
								 
						
							
								e7dd44e3ec 
								
							 
						 
						
							
							
								
								gfx/shader: Allow specifying effect for direct rendering ( #501 )  
							
							
							
						 
						
							2023-03-28 13:11:17 +02:00  
				
					
						
							
							
								 
						
							
								eba0a467d5 
								
							 
						 
						
							
							
								
								gfx/lut: Add a simple but efficient LUT producer and consumer  
							
							... 
							
							
							
							For simple image and video editing, LUTs (Look-Up Tables) are vastly superior to running the entire editing operation on each pixel - especially if all the processing can be done inside a single shader.
Due to the post-processing requirements for our LUTs, we are limited to 8 bits per channel - though clever use of the unused Alpha channel may result in additional space. For our purposes however, this is definitely enough. 
							
						 
						
							2023-03-28 13:11:11 +02:00  
				
					
						
							
							
								 
						
							
								17ffbdc55e 
								
							 
						 
						
							
							
								
								gfx/shader: Correctly cache shader rendering result  
							
							... 
							
							
							
							Fixes  #392  
						
							2023-03-28 13:11:06 +02:00  
				
					
						
							
							
								 
						
							
								54127f6ced 
								
							 
						 
						
							
							
								
								gfx/shader: Fix unicode support  
							
							... 
							
							
							
							Related: #359  
							
						 
						
							2023-03-28 13:11:04 +02:00