1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-19 19:53:53 +00:00
Commit graph

793 commits

Author SHA1 Message Date
AnyOldName3
2bc091fc05 Include missing header
I thought I'd seen this class defined in one of the existing headers
with a different name, but I was muddling its forward declaration and a
different class being in a non-obvious header.
2024-02-23 00:15:23 +00:00
AnyOldName3
ec4731d454 Cope with scene widgets being destroyed in a weird order
I can't actually test this as the CS still doesn't get far enough with this MR.
2024-02-23 00:15:23 +00:00
AnyOldName3
36a75cdb29 Get the GLExtensions instance when a context is created 2024-02-23 00:15:23 +00:00
AnyOldName3
3335ccbc32 Capitulate 2024-02-20 23:51:42 +00:00
AnyOldName3
8c92f6ee87 Make uniform a signed int again 2024-02-20 23:10:23 +00:00
AnyOldName3
d282fdb77a Eliminate unused uniform 2024-02-20 23:10:03 +00:00
AnyOldName3
132c43affa Fix warning
Also attempt to make an equivalent warning fire with MSVC, then have to fix other stuff because /WX wasn't working, then back out of enabling the warning because none of the ones I could find disliked the old code.
2024-02-20 22:14:13 +00:00
AnyOldName3
7391bf2814 Fix OpenGL errors
There's no reason to use the AndModes variant as we never (intentionally) attempt to sample from a shadow map via the FFP.
2024-02-20 21:23:23 +00:00
AnyOldName3
535c5e328a Affect correct texture units when disabling shadows for stateset
Knowing which are right required making the function non-static, so the shadow manager had to become a singleton as the results of passing it around to where it's needed were hellish.

I'm seeing a bunch of OpenGL errors when actually using this, so I'll investigate whether they're happening on master.
I'm hesitant to look into it too much, though, as I'm affected by https://gitlab.com/OpenMW/openmw/-/issues/7811, and also have the Windows setting enabled that turns driver timeouts into a BSOD so a kernel dump is collected that I can send to AMD.
2024-02-20 21:02:31 +00:00
psi29a
f9820e2061 Merge branch 'debugdrawdebugged' into 'master'
Try to uncursify debug primitive drawer (#7767)

Closes #7767

See merge request OpenMW/openmw!3852
2024-02-17 18:56:21 +00:00
Alexei Kotov
38ab09a52e Try to uncursify DebugDrawer scene representation 2024-02-09 20:49:40 +03:00
Andrei Kortunov
6760fa4945 Localize screenshot messages 2024-02-08 12:50:12 +04:00
Andrei Kortunov
251d01304f Use move semantics for osg::ref_ptr 2024-01-21 13:48:33 +04:00
elsid
4d6350539c
Move FindLowestUnusedTexUnitVisitor to unnamed namespace
It's not used anywhere except this translation unit so no need to make the
symbol available everywhere else.
2024-01-15 22:23:59 +01:00
elsid
3ad79e3b3e
Pregenerate glow texture names
To avoid strings generation and allocations every time model is added to a
scene.
2024-01-11 23:54:20 +01:00
Cody Glassman
187f63d3d3 support postprocess distortion 2023-12-21 10:56:38 -08:00
jvoisin
abbb620ea2 Merge branch 'nifogproperty' into 'master'
Handle NiFogProperty (feature #5173)

Closes #5173

See merge request OpenMW/openmw!3642
2023-12-12 18:30:11 +00:00
Alexei Kotov
9cdaf2c29b Handle NiFogProperty (feature #5173) 2023-12-09 17:13:16 +03:00
Alexei Kotov
c1088e5f70 Streamline passing influence data to skinning 2023-12-08 20:58:34 +03:00
Alexei Kotov
820fc068d1 Support point specular lighting (#6188)
Fix passing light specular colors with shader lighting methods (with help from wazabear)
2023-11-04 17:58:51 +03:00
elsid
f4efbcc1c4
Use settings values for Shadows settings 2023-11-02 16:36:44 +01:00
Cody Glassman
09928ba265 use a dynamic falloff range for soft effect and use shader flags 2023-10-28 10:23:55 -07:00
psi29a
c058b30322 Merge branch 'riggeometry' into 'master'
Refurbish SceneUtil::RigGeometry

See merge request OpenMW/openmw!3472
2023-10-24 10:20:12 +00:00
Alexei Kotov
715efe6cb1 Handle NiParticleBomb (feature #7634) 2023-10-22 16:26:46 +03:00
Alexei Kotov
76939aae45 Refurbish RigGeometry
Restructure/untangle influence data
Don't store the input influence data
Overall cleanup
2023-10-22 16:20:32 +03:00
elsid
08902371b4
Use settings values for Shaders settings 2023-10-12 20:43:53 +02:00
Alexei Kotov
799da630e4 CopyRigVisitor: don't copy unskinned geometry (bug #5280) 2023-10-07 00:11:31 +03:00
AnyOldName3
15e6ababf1 Merge branch 'soft_particles' into 'master'
Apply soft effect to nifs marked with soft effect flag (originally developed by Cody Glassman)

See merge request OpenMW/openmw!3447
2023-10-02 21:38:14 +00:00
elsid
1d94527a19
Avoid using settings in components to get actor model
Settings::Values are initialized only for engine. Accessing them from other
binaries leads to a crash.
2023-09-27 21:00:46 +02:00
Petr Mikheev
63d5bd6f8a Apply soft effect to nifs marked with soft effect flag (developed by Cody Glassman) 2023-09-27 20:41:52 +02:00
elsid
ad509bb954
Use settings values for Models settings 2023-09-09 13:12:08 +02:00
Andrei Kortunov
35561450f1 Do not copy osg::ref_ptr when possible 2023-07-31 20:43:46 +04:00
Andrei Kortunov
d3d7a663c6 Move some objects instead of copying 2023-07-31 20:43:46 +04:00
elsid
dd54857610
Add missing array include 2023-07-29 00:29:03 +02:00
elsid
b4868c6094
Filter evade directions by supported animations
To avoid trying those which will not lead to any actor movement due to absent
animation.
2023-07-22 17:30:40 +02:00
elsid
f6fce5ee15
Cleanup includes 2023-07-08 11:28:56 +02:00
glassmancody.info
a659d2eaeb lua - fix bounding box once and for all 2023-07-04 09:55:11 -07:00
Bret Curtis
ff6944701f Be more explicit about use of CLAMP_TO_EDGE instead of defaulting to GL CLAMP 2023-06-16 09:16:07 +02:00
psi29a
2686e586e5 Merge branch 'dev-7019' into 'master'
Fix improper access of stereo manager by other shared components

See merge request OpenMW/openmw!2437
2023-06-09 21:25:21 +00:00
Evil Eye
9728024978 Replace compare with more idiomatic methods 2023-05-22 19:51:27 +02:00
elsid
5d5e6844d1
Use settings values for Camera settings 2023-05-20 22:23:09 +02:00
glassmancody.info
a7b7f99d72 Expose game object's bounding box in lua api 2023-05-18 11:10:10 -07:00
jvoisin
c7a3f43915 Minor header cleanup
This has been done via CLion's "unused include directive",
set to "detect completely unused".
2023-04-30 16:26:03 +02:00
Mads Buvik Sandvei
fe066069d7 /components/ code should not access the stereo manager without checking whether or not stereo is enabled first. Stereo component code should not read settings itself, but rather take settings as parameters. 2023-04-22 16:11:42 +02:00
Evil Eye
8d8207b734 Refactor pathgrid indices to use size_t instead of int 2023-04-08 00:32:43 +00:00
Alexei Dobrohotov
20e799dadc Use Rig/MorphGeometry state for its child geometry
Cherry-pick of ed44095cdc from 0.48 branch
2023-03-06 00:54:02 +00: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
Alexei Dobrohotov
0f222d270e Prefer the earliest eponymous nodes in skeletons (bug #3842) 2023-02-23 15:36:04 +03:00
AnyOldName3
83b940397e AdD lInE bReAk ThAt ClAnG-fOrMaT wAnTeD 2023-02-10 00:12:55 +00:00
AnyOldName3
7d4410d4fb Use reserveGlobalTextureUnits for shadow maps 2023-02-09 01:32:48 +00:00
AnyOldName3
9be3d2668a Break out of loops when uniform is found 2023-02-07 22:19:53 +00:00
florent.teppe
486d15b19e moved light common to its own file
moved esm4light to it's own file
2023-02-07 16:29:17 +01:00
florent.teppe
dc961e3189 Adds the light into the scene.
Common struct for ESM3 and ESM4 light
2023-02-07 10:07:59 +01:00
AnyOldName3
80d6f6bc97 Add line break that clang-format wanted 2023-02-05 02:07:00 +00:00
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.
2023-02-05 00:40:33 +00:00
AnyOldName3
66e5415895 Log screenshot capture 2022-11-22 19:26:28 +00:00
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.
2022-10-12 22:48:34 +01:00
elsid
c324482338
Use separate header to define missing GL constants 2022-10-09 23:35:55 +02:00
elsid
843753da14
Remove unused includes 2022-10-09 16:44:18 +02:00
jvoisin
3cbf1dc042 First pass with include-what-you-use 2022-10-09 10:39:43 +00:00
elsid
bb8b5e2108
Add META_Node to clang-format StatementMacros 2022-10-06 21:11:52 +02:00
elsid
063fff7fa4
Fix and prevent -Wextra-semi warning 2022-10-06 00:26:43 +02:00
Andrei Kortunov
890be1b590 Fix crash in the editor 2022-09-25 12:31:56 +04:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
AnyOldName3
84f8a6848a Renormalise line endings
This should replace accidental CRLF with LF
2022-09-16 00:53:24 +01:00
elsid
50d8bd9cdd
Disable clang-format for files that should have minimal diff with OSG 2022-09-12 23:57:10 +02:00
elsid
219b9e7cbf
Revert "Use raw string literals for shaders"
This reverts commit 0e72055385.
2022-09-12 23:54:13 +02:00
elsid
0e72055385
Use raw string literals for shaders 2022-09-12 21:00:51 +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
Evil Eye
2222b47e3d Make Settings::Manager::getString return a reference 2022-08-28 16:38:11 +02:00
glassmancody.info
1f2d9f2280 don't recycle statesets for light cullcallback for now 2022-08-24 15:07:04 -07:00
Evil Eye
0df45a90b3 Use string_view in the remaining Class methods and push string_views closer to the MyGUI boundary 2022-08-23 22:14:27 +02:00
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.
2022-08-22 09:32:22 +02:00
unknown
206711876d Address feedback 2022-08-21 19:43:29 +02:00
unknown
827a2f0b77 Use string_view in animation code 2022-08-21 18:53:38 +02:00
elsid
cc8c7002ea
Cleanup components includes 2022-08-16 19:14:04 +02:00
psi29a
b551e69b6f #5534 remove OSG 3.4 support and require at least 3.6.5 support 2022-08-09 21:07:28 +00:00
psi29a
bb9884c024 Merge branch 'split_stringops' into 'master'
Split components/misc/stringops.hpp into multiple headers

See merge request OpenMW/openmw!2233
2022-08-09 18:06:40 +00:00
glassmancody.info
c513ec7824 null check 2022-08-08 12:53:20 -07:00
glassmancody.info
2cea4f3172 stop excessive allocations with lightmanager callback 2022-08-07 17:04:03 -07: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
Evil Eye
55134d1e31 Use string_view in the CharacterController 2022-07-26 17:23:00 +02:00
elsid
0614b82452
Restore UnrefQueue to destruct animation asynchronously 2022-07-24 21:08:43 +02:00
Andrei Kortunov
de58c9dff3 Get rid of obsolete osg::Geode where it is possible 2022-07-20 15:28:56 +04:00
psi29a
6cc3ec12db Merge branch 'ci-werror' into 'master'
Windows, MSVC: Enable warnings as errors on CI

See merge request OpenMW/openmw!2146
2022-07-17 15:49:51 +00:00
elsid
0e12d331f9
Simplify iteration over Bone::mChildren 2022-07-17 13:52:24 +02:00
elsid
e4f599575e
Use unique_ptr to manage Bone lifetime 2022-07-17 13:34:45 +02:00
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 . 2022-07-17 11:23:12 +02:00
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. 2022-07-11 17:27:05 +02:00
elsid
9ac3bb753e
Move declaration private static member variables of LightManager to .cpp
There is no need to expose them to other translation units.
2022-07-08 17:21:01 +02:00
elsid
4211cf1c24
Use uniform indent and apply openmw naming policy 2022-07-08 17:14:13 +02:00
glassmancody.info
a0265ffb89 only enable soft particles when enabled in settings 2022-07-02 09:42:15 -07:00
elsid
2d6e048d88
Fix C4589 msvc warning
Constructor of abstract class 'SceneUtil::KeyframeController' ignores initializer for virtual base class 'osg::Object'
2022-07-01 18:47:06 +02:00
glassmancody.info
b09411d396 allow soft particles on meshes and add extra data extensions 2022-06-29 18:15:12 -07:00
elsid
1a5932a669
Move std::ostream& operator<< to .cpp 2022-06-26 22:43:53 +02:00
psi29a
1a478875f0 Merge branch 'navmesh_agent_bounds' into 'master'
Support different agent collision shape type for pathfinding

See merge request OpenMW/openmw!2030
2022-06-21 16:13:41 +00:00
psi29a
a822044199 Merge branch 'riggeoosgaext' into 'master'
custom class for osgAnimation::RigGeometry, Collada animated deforming body parts

See merge request OpenMW/openmw!1682
2022-06-21 15:27:34 +00:00
Nelsson Huotari
334c6dde0b custom class for osgAnimation::RigGeometry, Collada animated deforming body parts 2022-06-21 15:27:34 +00:00