Commit Graph

94 Commits

Author SHA1 Message Date
elsid 402e1b3096
Fix compilation with -std=23
/usr/include/c++/15.2.1/bits/unique_ptr.h: In instantiation of ‘constexpr std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = Shader::HotReloadManager; _Args = {}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t<Shader::HotReloadManager>]’:
/home/elsid/dev/openmw/components/shader/shadermanager.cpp:83:63:   required from here
   83 |         mHotReloadManager = std::make_unique<HotReloadManager>();
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/include/c++/15.2.1/bits/unique_ptr.h:1085:30: error: invalid use of incomplete type ‘struct Shader::HotReloadManager’
 1085 |     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
components/shader/shadermanager.hpp:24:12: note: forward declaration of ‘struct Shader::HotReloadManager’
   24 |     struct HotReloadManager;
      |            ^~~~~~~~~~~~~~~~
2025-12-03 23:21:11 +01:00
elsid cef1bb1219
Log file stream errors 2025-12-03 23:21:11 +01:00
elsid c7b0f99079
Do not read failed to open shader file 2025-12-03 23:20:52 +01:00
Evil Eye f7292680d6 Fix most conversion warnings in components 2025-09-18 22:00:55 +02:00
psi29a 0ab79c4370 Merge branch 'formatcomponents' into 'master'
Remove StringUtils::format from components

See merge request OpenMW/openmw!4880
2025-08-31 17:59:35 +00:00
elsid 0f36b7fc97
Fix and enforce parameter naming 2025-08-27 12:45:09 +02:00
Evil Eye 9cce6bad68 Replace StringUtils::format in components/shader 2025-08-24 15:43:11 +02:00
Evil Eye ecbc3a7b9e Reduce string usage in ShaderManager 2025-08-24 15:40:55 +02:00
Evil Eye a085036a92 Resolve a number of Coverity defects 2025-08-06 19:52:09 +02:00
elsid d121b606b6
Fix and enforce local variable naming 2025-08-05 21:27:48 +02:00
Andrei Kortunov 225e834b88 Fix some Coverity Scan complaints 2024-02-02 09:28:19 +04:00
Andrei Kortunov b1c8a968ae Do not use invalid iterators 2023-07-31 17:53:33 +04:00
Shi Han a90e3b8c3b Move from std::atoi to std::from_char 2023-03-18 09:30:48 +00:00
Petr Mikheev e007dc9d6b Log reserving texture units 2023-03-04 00:55:34 +01:00
Cody Glassman 6a64f352a4 fix shader compilation 2023-02-26 14:31:53 -08:00
psi29a 4faa1bf3e8 Merge branch 'moo-bitch-get-out-my-hay' into 'master'
Don't use FFP-friendly texture image units for shadow maps

Closes #7102

See merge request OpenMW/openmw!2682
2023-02-25 23:12:32 +00:00
Cody Glassman ac4787aeec shade refactor 2023-02-25 11:03:39 -08:00
AnyOldName3 7d4410d4fb Use reserveGlobalTextureUnits for shadow maps 2023-02-09 01:32:48 +00:00
clang-format-bot ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
Project579 c226b35f1f Fix some remaining encoding errors due to std::filesystem transition. 2022-09-11 14:41:20 +02:00
Project579 a13709c510 Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions. 2022-09-11 14:41:20 +02:00
Project579 e5c417c968 Make sure all paths are passed as std::filesystem::path instead of std::string where possible. 2022-09-11 14:41:15 +02:00
psi29a 4078f19c74 Merge branch 'SHADER_HOT_RELOAD' into 'master'
Shaders: Hot reload, togglable by lua debug command

See merge request OpenMW/openmw!2238
2022-08-21 09:08:27 +00:00
florent.teppe 25c1f0ca16 Renamed variable to fix case issue 2022-08-21 09:18:08 +02:00
Andrei Kortunov e3ad30a517 Do not copy data when it is not needed 2022-08-15 11:52:09 +04:00
florent.teppe 166717d601 Makes sure threads are only stopped once ,and that they will be re-started 2022-08-13 00:34:01 +02:00
florent.teppe 16a4b5716b adds missing include 2022-08-12 18:52:31 +02:00
florent.teppe decfbc5387 Fix threading issues 2022-08-12 18:37:19 +02:00
florent.teppe 603b30e117 Added some variable names to make it clearer what their function was
avoid having lost of ->first and ->second that aren't meaningfull
2022-08-07 22:56:32 +02:00
florent.teppe 3ab0a99154 Hot reload done only once every 200 ms, no point in beeing faster
it may also help with bugs where the file is still locked and can't be opened
2022-08-04 13:37:12 +02:00
florent.teppe cc9d436413 includes now work when the same shader has different defines 2022-08-04 13:00:32 +02:00
florent.teppe 7b78bf4b66 Fix files with different defines weren't added to the hot reload manager 2022-08-04 12:46:39 +02:00
florent.teppe a1c8dc9d45 C++17 compat ? 2022-08-04 09:50:02 +02:00
florent.teppe cdd95f7889 replaced empty function body by default 2022-08-04 09:25:25 +02:00
florent.teppe 9a475b0c97 fixed blank lines and missing breaks 2022-08-04 09:19:41 +02:00
florent.teppe b6d7293a12 Removed weird lines that I thought were necessary to please the compiler 2022-08-04 09:13:25 +02:00
florent.teppe 68d0698924 Fixed cyclical included check 2022-08-04 09:09:26 +02:00
florent.teppe aa51d6de2a Missing chrono include ? 2022-08-04 00:14:53 +02:00
elsid f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
Replace all ciEqual overloads with one having std::string_view as argument.
2022-08-03 22:06:24 +02:00
florent.teppe f78fa989ee fixed include, cleaned comments and indentation 2022-08-03 20:50:39 +02:00
florent.teppe 6b38d62223 Added lua bindings to toggle hot reload (disabled by default) or to trigger a reload 2022-08-03 19:56:19 +02:00
florent.teppe 4e7c1c5bef Added break when the operation failed 2022-08-03 19:21:48 +02:00
florent.teppe 8d194a1601 Shaders: rudimentary hot reloader on shaders
every frame we poll the files and check if they are older or newer than the last test, if they are newer we find all the shader that included that file and update them
2022-08-03 19:12:45 +02:00
elsid bef15edf0b
Remove redundant ostream, istream, iostream and sstream includes
* Replace by std::to_string and operator+ where possible.
* Move the code requiring to include <sstream> from .hpp to .cpp files.
2022-07-05 01:41:28 +02:00
glassmancody.info b09411d396 allow soft particles on meshes and add extra data extensions 2022-06-29 18:15:12 -07:00
Petr Mikheev 3bf18c601c Better fog 2022-06-21 02:21:20 +02:00
jvoisin 21efb74b58 Remove even most boost:: 2022-05-26 16:13:07 +02:00
Evil Eye a64979e25d Replace empty std::string assignments 2022-05-04 22:33:39 +02:00
madsbuvi dc3045c970 mono-only version of the shader linking system introduced in the stereo MR 2022-04-26 19:54:24 +02:00
Bo Svensson 2e031f195b
fixes LightBufferBinding messages (#3223)
This PR aims to solve `uniform block LightBufferBinding has no binding` messages @glassmancody has reportedly encountered since PR #3110 due to an apparent bug in OSG. While we do have to add a workaround here that adds a bit of clunkiness, #3216 should allow us to clean up these interactions a bit in the future.
2021-11-07 18:26:02 +01:00