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
elsid
1a12c453d6
Support different agent collision shape type for pathfinding
...
Actors may have different collision shapes. Currently there are axis-aligned
bounding boxes and rotating bounding boxes. With AABB it's required to use
bounding cylinder for navmesh agent to avoid providing paths where actor can't
pass. But for rotating bounding boxes cylinder with diameter equal to the front
face width should be used to not reduce of available paths. For example rats
have rotating bounding box as collision shape because of the difference between
front and side faces width.
* Add agent bounds to navmesh tile db cache key. This is required to distinguish
tiles for agents with different bounds.
* Increase navmesh version because navmesh tile db cache key and data has changed.
* Move navmesh version to the code to avoid misconfiguration by users.
* Fix all places where wrong half extents were used for pathfinding.
2022-06-21 12:57:32 +02:00
Petr Mikheev
3bf18c601c
Better fog
2022-06-21 02:21:20 +02:00
elsid
fdd84265b3
Use proper agent height and radius when render actor path
...
That are based on half extents used to find path over navmesh which is different
for interior and exterior cells.
Use common functions to get agent height and radius for actor path rendering and
navmesh generation.
2022-06-15 01:11:11 +02:00
glassmancody.info
8146b05c92
pass only lights with visible geometry
2022-06-04 21:01:01 -07:00
glassmancody.info
327b8ecdcb
pass sorted lights to light postprocess light buffers
2022-06-04 20:33:21 -07:00
Cody Glassman
ce49aa1202
Attach lights at origin when missing AttachLight node
2022-06-04 13:35:27 +00:00
Evil Eye
a95b6e050a
Replace new with make_unique in components
2022-05-29 13:24:32 +02:00
psi29a
a14285bff5
Merge branch 'light_tweaks' into 'master'
...
[Postprocessing] Tweaks to light collection
See merge request OpenMW/openmw!1928
2022-05-25 07:51:17 +00:00
cody glassman
30a64ee82a
move to world space, fix bug with uniform size updates
2022-05-24 22:30:25 -07:00
jvoisin
6feb92a9bf
Remove boost::filesystem from a couple of files
2022-05-24 21:18:21 +00:00
elsid
215b46503c
Support rendering for navmesh update frequency as a heatmap
...
Useful when need to find tiles with high number of updates.
Add debug Lua package with new functions to toggle render mode and set navmesh
render mode.
2022-05-17 01:54:20 +02:00
cody glassman
0cb63ca4e6
experimental point light bindings
2022-05-15 10:03:58 -07:00
cody glassman
04843fed6d
moddable post-processing pipeline
2022-05-15 10:03:58 -07:00
madsbuvi
31a97141b7
Mac
2022-04-29 21:59:26 +02:00
Mads Buvik Sandvei
606a795a54
multiview linker-method
2022-04-28 21:09:06 +02:00
madsbuvi
dd5901d351
Initial commit
...
Multiview shaders.
Refactor Frustum management
Rewrite shared shadow map
cull mask should respect stereo
Stereo savegame screencap
LocalMap refactoring
use the vertex buffer hint instead of the display list patch to enable/disable display lists
Character preview fixes
2022-04-28 21:05:34 +02:00
ζeh Matt
b39aea4346
Move extremeEdges into queue instead of copying
2022-04-10 20:56:52 +03:00
ζeh Matt
19df9c3d17
Use vector for edge queue
2022-04-10 20:38:59 +03:00
ζeh Matt
0790af962e
Cleanup code in mwshadowtechnique.cpp
2022-04-10 20:16:15 +03:00
psi29a
1ac7eaa6b0
Merge branch 'NiFltAnimationNode' into 'master'
...
Add NiFltAnimationNode support
Closes #6684
See merge request OpenMW/openmw!1732
2022-04-06 23:59:04 +00:00
Wolfgang Lieff
ead73fce31
initial NiFltAnimationNode support
2022-04-07 00:09:11 +02:00
Alexei Dobrohotov
81e9212db9
Slightly optimize MergeGroupsVisitor's xenophobia
2022-04-06 06:37:42 +03:00
elsid
42d6032c8b
Support compilation with c++20
2022-02-24 00:49:40 +01:00
glassmancody.info
27d2daabc1
move depth define to header, missing on mac
2022-02-08 14:12:17 -08:00
glassmancody.info
8c2c322d92
add stencil to water RTTs, reword some comments
2022-02-07 14:35:15 -08:00
Alexei Dobrohotov
142b6fdf2f
Fix double precision bound issues in std::max/std::clamp
2022-02-02 16:57:59 +03:00
Alexei Dobrohotov
aaea2bc0f6
Implement transformBoundingSphere for both sphere types (bug #6579 )
2022-02-02 16:51:35 +03:00
Bret Curtis
d1fb854521
move most of the files from esm to esm3, keep common code in esm; this is make space for a future with esm4
...
esm typo
esm typo
2022-01-23 17:04:48 +01:00
jvoisin
1a6be08149
Fix "warning: loop variable is copied but only used as const reference;...
2022-01-05 10:44:44 +00:00
AnyOldName3
d66907ba67
Log OpenGL Vendor, Renderer and Version on startup
2021-12-15 22:17:38 +00:00
elsid
01c712d5f1
Split navigator settings into subtypes
...
Mostly to distinguish settings that affect properties of the generated navmesh.
2021-12-10 23:55:03 +01:00
psi29a
7256654f29
Merge branch 'navmesh_render' into 'master'
...
Rework navmesh render (#6187 )
See merge request OpenMW/openmw!1338
2021-12-02 10:34:41 +00:00
psi29a
a9008d224a
Merge branch 'light_refactors' into 'master'
...
LightManager consolidation
Closes #6389
See merge request OpenMW/openmw!1400
2021-11-30 16:02:28 +00:00
elsid
cffcb6a897
Share state set between all navmesh tiles
...
Do not change GL_DEPTH because it's always disabled anyway.
2021-11-21 18:01:26 +01:00
elsid
d1a1b8c01c
Use polygon offset to render navmesh and recast mesh
2021-11-21 17:59:25 +01:00
elsid
0511a81baa
Use different alpha color for navmesh tiles with non zero user id
2021-11-21 17:43:32 +01:00
elsid
3c41d0efc3
Render each navmesh tile independently
2021-11-21 17:42:27 +01:00
elsid
66390bd8a4
Use line width 1 as the only guaranteed to be supported value by glLineWidth
2021-11-21 17:40:55 +01:00
Cody Glassman
d85f772269
Depth refactor
2021-11-21 02:25:05 +00:00
glassmancody.info
750514cda2
simply lightmanager and fix racey behavior
2021-11-18 19:40:13 -08:00