Commit Graph

698 Commits (6f6e452dfafc7eb80f38f514a6d3ac95ecd19497)

Author SHA1 Message Date
Alexei Dobrohotov 20e799dadc Use Rig/MorphGeometry state for its child geometry
Cherry-pick of ed44095cdc from 0.48 branch
2 years ago
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
2 years ago
Cody Glassman ac4787aeec shade refactor 2 years ago
Alexei Dobrohotov 0f222d270e Prefer the earliest eponymous nodes in skeletons (bug #3842) 2 years ago
AnyOldName3 83b940397e AdD lInE bReAk ThAt ClAnG-fOrMaT wAnTeD 2 years ago
AnyOldName3 7d4410d4fb Use reserveGlobalTextureUnits for shadow maps 2 years ago
AnyOldName3 9be3d2668a Break out of loops when uniform is found 2 years ago
florent.teppe 486d15b19e moved light common to its own file
moved esm4light to it's own file
2 years ago
florent.teppe dc961e3189 Adds the light into the scene.
Common struct for ESM3 and ESM4 light
2 years ago
AnyOldName3 80d6f6bc97 Add line break that clang-format wanted 2 years ago
AnyOldName3 0edc8fc77d Don't use FFP-friendly texture image units for shadow maps
This more-or-less gets rid of the shadow system's only depencency on FFP
stuff. All that remains is it using OSG cameras, which OSG provides a
uniform-based implementation of, too, which we can trivially migrate to.

This should mean we're not eating any of the ~8 FPP-friendly texture
units, which is good as Morrowind models can use all of those on their
(although they very rarely do), and instead use some of the ~160
shader-only texture image units. This just requires not calling
glEnable(GL_TEXTURE_2D), accomplished by changing
setTextureAttributeAndModes to setTextureAttribute.

Also changes from using glTexGen and its eye plane matrices to pass the
shadow space matrix for each light to explicit uniforms. Thankfully, the
maths was a simple combination of the valid region matrix and eye plane
matrix maths.

As of this commit, I believe this kills shadows in one eye for stereo
rendering.
2 years ago
AnyOldName3 66e5415895 Log screenshot capture 2 years ago
AnyOldName3 77de37b1ed Revert "Merge branch 'fix_macos_build' into 'master'"
As well as fixing the MacOS build, it meddled with a bunch of files that
already did the right thing.

This reverts commit 8162541a14, reversing
changes made to e16c451d08.
2 years ago
elsid c324482338
Use separate header to define missing GL constants 2 years ago
elsid 843753da14
Remove unused includes 2 years ago
jvoisin 3cbf1dc042 First pass with include-what-you-use 2 years ago
elsid bb8b5e2108
Add META_Node to clang-format StatementMacros 2 years ago
elsid 063fff7fa4
Fix and prevent -Wextra-semi warning 2 years ago
Andrei Kortunov 890be1b590 Fix crash in the editor 2 years ago
clang-format-bot ddb0522bbf
Apply clang-format to code base 2 years ago
AnyOldName3 84f8a6848a Renormalise line endings
This should replace accidental CRLF with LF
2 years ago
elsid 50d8bd9cdd
Disable clang-format for files that should have minimal diff with OSG 2 years ago
elsid 219b9e7cbf
Revert "Use raw string literals for shaders"
This reverts commit 0e72055385.
2 years ago
elsid 0e72055385
Use raw string literals for shaders 2 years ago
Project579 a13709c510 Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions. 2 years ago
Project579 e5c417c968 Make sure all paths are passed as std::filesystem::path instead of std::string where possible. 2 years ago
Evil Eye 2222b47e3d Make Settings::Manager::getString return a reference 2 years ago
glassmancody.info 1f2d9f2280 don't recycle statesets for light cullcallback for now 2 years ago
Evil Eye 0df45a90b3 Use string_view in the remaining Class methods and push string_views closer to the MyGUI boundary 2 years ago
elsid 5dc612aa54
Replace ciCompareLen with ciStartsWith where possible
`ciCompareLen(a, b, b.size()) == 0` expression is an equivalent of checking for
equality of `a` prefix with size `b.size()` with `b`.

`ciCompareLen(a, b, a.size()) == 0` is also the same thing but `a` is a prefix
`b` should start with.
2 years ago
unknown 206711876d Address feedback 2 years ago
unknown 827a2f0b77 Use string_view in animation code 2 years ago
elsid cc8c7002ea
Cleanup components includes 2 years ago
psi29a b551e69b6f #5534 remove OSG 3.4 support and require at least 3.6.5 support 2 years ago
psi29a bb9884c024 Merge branch 'split_stringops' into 'master'
Split components/misc/stringops.hpp into multiple headers

See merge request OpenMW/openmw!2233
2 years ago
glassmancody.info c513ec7824 null check 2 years ago
glassmancody.info 2cea4f3172 stop excessive allocations with lightmanager callback 2 years ago
elsid f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
Replace all ciEqual overloads with one having std::string_view as argument.
2 years ago
Evil Eye 55134d1e31 Use string_view in the CharacterController 2 years ago
elsid 0614b82452
Restore UnrefQueue to destruct animation asynchronously 2 years ago
Andrei Kortunov de58c9dff3 Get rid of obsolete osg::Geode where it is possible 2 years ago
psi29a 6cc3ec12db Merge branch 'ci-werror' into 'master'
Windows, MSVC: Enable warnings as errors on CI

See merge request OpenMW/openmw!2146
3 years ago
elsid 0e12d331f9
Simplify iteration over Bone::mChildren 3 years ago
elsid e4f599575e
Use unique_ptr to manage Bone lifetime 3 years ago
Project579 02ef9c953e MSVC: Fix all warnings at level 4, upgrade Qt5 to 5.15.2 to also reduce warnings, disabled 5054 warnings due to Qt5's use of deprecated operators in C++20 . 3 years ago
Mads Buvik Sandvei b277fa48c7 Refactor multiview to avoid littering OSG_HAS_MULTIVIEW and multiview-related uniforms around the code, keep them all in multiview.cpp. 3 years ago
elsid 9ac3bb753e
Move declaration private static member variables of LightManager to .cpp
There is no need to expose them to other translation units.
3 years ago
elsid 4211cf1c24
Use uniform indent and apply openmw naming policy 3 years ago
glassmancody.info a0265ffb89 only enable soft particles when enabled in settings 3 years ago
elsid 2d6e048d88
Fix C4589 msvc warning
Constructor of abstract class 'SceneUtil::KeyframeController' ignores initializer for virtual base class 'osg::Object'
3 years ago