Commit Graph

793 Commits (master)

Author SHA1 Message Date
glassmancody.info 09e03fde2e refactor and fix wobbly shores 3 years ago
glassmancody.info cad0b151cb enable shaders path and dehardcode depth formats 3 years ago
glassmancody.info b457dfd8b8 fix water RTTs and minor math error in non-infinite projection matrix 3 years ago
glassmancody.info 70fac33940 initial reverse-z depth implementation 3 years ago
glassmancody.info 1e52ca2b64 properly initialize light settings 3 years ago
psi29a 8c36eb56cf Merge branch 'stereo_friendly_water' into 'master'
Stereo friendly water and statesetupdater

See merge request OpenMW/openmw!563
3 years ago
madsbuvi 41c08b1c3b Stereo friendly StateSetUpdater
(cherry picked from commit 496b3aef88b8fd867dcdd23a6ca43144573b1b2f)

Stereo friendly water

(cherry picked from commit 0e22c55e48a7f965367d3d430c1bef5357b22748)

Option to disable per view mapping.

Include memory header

De-hardcode settings and buffers.

formatting error

Update water.cpp (whitespace)

Update water.cpp (more whitespace)

include render order

c array -> c++ array
3 years ago
elsid 9a5ec5fd03
Store heightfields as array of heights instead of triangles
To reduce size of RecastMesh and therefore cache size.
3 years ago
elsid d60edb36aa
Make RecastMesh independent from recast scale factor
To avoid scaling until it's required by delaying coordinates conversion until
navmesh generation.
3 years ago
elsid af7059373c
Make RecastMesh independent from the order of RecastMeshBuilder calls
To make sure RecastMesh objects are equal if built with the same data but in
different order. Will be used later when there will be more than one place
building RecasMesh objects.
3 years ago
elsid d4a2dab9d9
Remove redundant else 4 years ago
elsid eece47f70e
Avoid copying osg::ref_ptr when adding or removing item from work queue
Copy constructor does refcounting, and move constructor doesn't.
4 years ago
elsid b8fcd6d3ba
Manage work item lifetime on the client side
Instead of explicit work queue stop before any possibly used engine manager
is destructed. Based on an assumption that any engine manager can be destructed
independently from the work queue destruction. This model is already used in
CellPreloader that conflicts with explicit work queue stop.

After the work queue is requested to be stopped, any client waiting for a not
started work item to be done will wait forever because the work item is dropped
from the queue. Therefore either clients should not wait for own work items to
be completed in destructor or the work queue should not drop items before
clients are destructed. Other approaches are possible but are not considered
due to increasing complexity.

CellPreloader already tries to wait for all created work items to be done so
keep it that way and extend the model to AsyncScreenCaptureOperation and Scene.
Additionally abort all scheduled work items when owner is destructed. This
prevents a long exit when multiple screenshots are scheduled right before
exiting the game.
4 years ago
elsid 5103120eef
Notify about saved screenshot
Show message about saved screenshot via schedule message box. Since screenshot
saving happens not in the main thread calling messageBox directly is unsafe.
WindowManager::scheduleMessageBox delays message box showing until next update
in the main thread.
4 years ago
elsid f7a6be053d
Stop engine work queue before destructing environment
To avoid access to null and dangling pointers from active work items on
quitting.
4 years ago
elsid f8e02000ec
Write screenshots to file asynchronously 4 years ago
elsid 33aa4d0822
Move WriteScreenshotToFileOperation to components 4 years ago
AnyOldName3 84a9facedf Disable coverage adjustment for blended objects 4 years ago
Evil Eye 2be27da791 Merge branch 'const_refs' into 'master'
Add a ton of const refs

See merge request OpenMW/openmw!954
4 years ago
Evil Eye 9f7980ecd7 Merge branch 'refenreces' into 'master'
Sprinkle some references where it makes sense

See merge request OpenMW/openmw!952
4 years ago
jvoisin cf11870b1c Sprinkle some references where it makes sense 4 years ago
jvoisin 895864099c Simplify NodeMapVisitor::apply
No need to run a find() before a std::replace
4 years ago
jvoisin 1123dc46ee Add a ton of const refs 4 years ago
Bret Curtis 868a5b35e3 workaround shadow issue on macOS, https://gitlab.com/OpenMW/openmw/-/issues/6057 4 years ago
jvoisin 7f4f2c042e Use sizeof(GLfloat) instead of sizeof(GL_FLOAT)
GL_FLOAT is an enum, with the value 0x1406, while GLFloat is the actual type.
Source: https://www.khronos.org/opengl/wiki/OpenGL_Type
4 years ago
elsid d4f28ac979
Avoid resetting buffer object when configuring light buffer layout
Otherwise this casues RaceSelectionPreview to have no light until first change.
4 years ago
Andrei Kortunov 11c57978b6 Fix crashes on exit in the LightManager (bug #6044) 4 years ago
Andrei Kortunov c54ef55ebb Revert "Replace raw pointer by observer_ptr to avoid dangling pointer dereferencing"
This reverts commit 5373cf1cd5.
4 years ago
elsid d520b440aa
Copy LightBuffer data into a new object when changing layout
Before this change LightBuffer copy constructor copied only mData pointer into
a new object. Then memcpy was applied to an overlapping source and destination
that is UB.

Replace configureLayout function by a special constructor. That copies all
mData values and a pointer to a buffer object into a newly allocated object.
4 years ago
elsid 5373cf1cd5
Replace raw pointer by observer_ptr to avoid dangling pointer dereferencing
When game exit is requests when initial loading screen is active LightManager
can be destructed in the main thread before LightManagerStateAttribute::apply
is completed by different thread. Given that it uses raw pointer at some point
it becomes dangling because object is destructed this leads to UB and eventual
SIGSEGV.
4 years ago
Andrei Kortunov 2e8873af51 Add new scene nodes to scene graph serializer blacklist 4 years ago
jvoisin d45184a730 Sprinkle some const-ref to avoid unnecessary copies 4 years ago
Chris Djali f0cef87cd8
Merge pull request #3069 from akortunov/msvc_warnings
Rework warnings settings
4 years ago
Andrei Kortunov 18a4c81b5c Merge branch 'fix_toggleborders' into 'master'
Fix ToggleBorders debug view with 'Shaders' lighting method

See merge request OpenMW/openmw!792
4 years ago
AnyOldName3 ceb6a280ff Fix typo
Hopefully this will actually let us make better use of shadow bounds,
but I wouldn't count on it.
4 years ago
glassmancody.info 9f314d1d6f Fix ToggleBorders 4 years ago
Andrei Kortunov 6d351b2bdd Fix MSVC 4706 warnings 4 years ago
Bret Curtis 50d6cd2a34
Merge pull request #3070 from akortunov/coverity
Fix an another portion of Coverity warnings
4 years ago
Bret Curtis c6c92b5712
Merge pull request #3071 from akortunov/master
Fix an another batch of MSVC complaints
4 years ago
AnyOldName3 ff46eceabe Merge branch 'maybe-reintroduce-5904' into 'master'
Fix crash on startup

See merge request OpenMW/openmw!709
4 years ago
Andrei Kortunov d10399e083 Cast double constant to float explicitely 4 years ago
Andrei Kortunov 7d5c5f8a24 Do not assign negative values to unsigned variables 4 years ago
Andrei Kortunov 987b231fdd Fix an another portion of Coverity warnings 4 years ago
psi29a d0883f9a0d Merge branch 'light_settings_tweak' into 'master'
Lighting patch

Closes #5957 and #5959

See merge request OpenMW/openmw!752
4 years ago
glassmancody.info 16856d45c5 Lighting Patch
Fixes build errors with older OSG builds and some issues with 'shared' layout.
Bring back ambient in inventory through lightmodel instead of sun ambient, mirrors scene ambient/sunlight relationship.
Forces shaders when certain lighting methods are enabled and finalize settings.
Correctly override sun for localmap.
4 years ago
Andrei Kortunov 0c7ddd3938 Remove redundant qualifiers 4 years ago
Andrei Kortunov bce6effe95 Fix uninitialized variables in the LightManager 4 years ago
glassmancody.info 531a6e1979 Code review fixes, remove implicit GLSL casts 4 years ago
glassmancody.info 92033bca64 Fixed error in calculating viewspace sun dir, minor cleanup 4 years ago
glassmancody.info 9e80091aff clear up force shaders and make it less convoluted 4 years ago
glassmancody.info 8ce65232ff fix race condition with sun uniform 4 years ago
glassmancody.info d4e7d25d14 Make life not suck for whoever wants to edit lighting shaders 4 years ago
glassmancody.info eecb9886a9 Shader cleanup, fix indicies 4 years ago
glassmancody.info 4ba473b684 Finalize settings, torch fix 4 years ago
glassmancody.info 71c30a31df in-game settings, some require restart 4 years ago
glassmancody.info 3d713e8602 Fix incorrect minimum ambient 4 years ago
glassmancody.info 280fd2b162 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info d195602a9d Switch to shared layout, some rewording 4 years ago
glassmancody.info 690995988b More formatting, OpenCS cells are unbroken 4 years ago
glassmancody.info 328ec85757 Code review cleanup, add setting documentation 4 years ago
glassmancody.info 05a5cee132 Brighter point lights and light fade 4 years ago
glassmancody.info 43ac32921c Rewrite, support different lighting methods 4 years ago
glassmancody.info 9d9074c244 Add shared UBO 4 years ago
glassmancody.info dda735c54a initial commit 4 years ago
AnyOldName3 168f26fc80 Fix crash on startup 4 years ago
AnyOldName3 c6033b4de6 Fix #5904 4 years ago
AnyOldName3 0431ba4c87 Merge branch 'alpha-meddling-shader-side-mip-meddling' into alpha-meddling 4 years ago
AnyOldName3 46a1715d8a Actually return something 4 years ago
AnyOldName3 f5a87ee46d Refactor out duplicated RTT setup code 4 years ago
AnyOldName3 153ab57ae3 Make assignment in while loop condition obviously intentional 4 years ago
AnyOldName3 4f510d85ba Merge remote-tracking branch 'upstream/master' into alpha-meddling 4 years ago
psi29a c33b2e0100 Merge branch 'dehardcodebaseanim' into 'master'
Dehardcode Base_animation and improve Collada support

See merge request OpenMW/openmw!510
4 years ago
AnyOldName3 3e273a759a Clarify method name now we're using it differently 4 years ago
Nelsson Huotari bae27e8199 dynamic_cast to static_cast 4 years ago
Nelsson Huotari b28d8251aa Clone animation tracks 4 years ago
Nelsson Huotari 1221889cf7 Limit conversion of underscores to nodes origating from osgAnimation library 4 years ago
Nelsson Huotari 5b88d16a50 Clean-up 4 years ago
Nelsson Huotari 2162b97fef Handle case in osgAnimation bone names 4 years ago
Nelsson Huotari 7d3f2bc113 Convert underscores in bone names to whitespaces 4 years ago
madsbuvi 7edaa50195 another approach 4 years ago
Nelsson Huotari 3194520dcd Move base_anim settings to settings-default.cfg 4 years ago
Andrei Kortunov f175beb304 Define template ref classes in components 4 years ago
Andrei Kortunov 801e2d6ad0 Avoid to use uninitialized variables 4 years ago
AnyOldName3 4ed3252001 Check for EXT_gpu_shader4 CPU-side
Mesa lies and always defines GL_EXT_gpu_shader4 even when the extension
isn't present.
4 years ago
AnyOldName3 8f4b856b44 Initial A2C implementation 4 years ago
AnyOldName3 11b4af49ce Allow shadowsbin to optimise clockwise-wound meshes when face culling is off 4 years ago
AnyOldName3 a36ed5f129 Optimise out redundant call
We already had the results
4 years ago
AnyOldName3 657da50d99 Ensure GL_BLEND is disabled when drawing shadow maps 4 years ago
AnyOldName3 cc2ce9fa3e Explicitly default-construct array
The docs seem to imply this is automatic when the array contains a
class-type, which osg::ref_ptr is, but I got a crash log that doesn't
make sense if that's true.
4 years ago
AnyOldName3 0b5d5eab4c Move is faster 4 years ago
AnyOldName3 05ad44d0b1 Set correct array size 4 years ago
AnyOldName3 ce2bcba5d4 Replace deprecated alpha test in shader visitor 4 years ago
Nelsson Huotari 8b2bf12e8f Use bip01 for root bone name 4 years ago
Nelsson Huotari 6c1f6169c0 Fix root movement glitch 4 years ago
Nelsson Huotari 256aa5e71d Use const auto& 4 years ago
AnyOldName3 5ad297e6ff Guarantee glow updater regenerates shaders on completion
Previously, it would edit the odd numbered stateset, then regenerate
shaders for the even-numbered one, then edit the even numbered one, and
regenerate shaders for the odd numbered one (or vice versa if it
finished during an even numbered frame). This would leave one of the
shader programs still trying to use the state that had been removed.
4 years ago
Andrei Kortunov 8084a336b5 Replace zeroes and nulls by nullptrs 4 years ago
Nelsson Huotari 55dcc6582a Don't duplicate getFileExtension, use OpenMW's namespaces 4 years ago
Nelsson Huotari 3232faa703 Use const ref instead of value 4 years ago
Nelsson Huotari 32d4344803 Don't copy osga-data in base class keyframecontroller, fix warnings. 4 years ago
Nelsson Huotari 6e77ad1f6a OSG-Collada animation support 4 years ago
Nelsson Huotari f78a5d795c Separate keyframes logic to provide basis for osgAnimation integration. 4 years ago
AnyOldName3 37661bffea Merge branch 'shadowdisable-fix' into 'master'
Make disableShadowsForStateSet a no-op when shadows are disabled

See merge request OpenMW/openmw!205
4 years ago
AnyOldName3 7768556ce6 Set dummy state when disabling shadows indoors
As we don't reconfigure all shaders without shadows when we disable them
indoors (as it'd probably add a hitch to transitioning in and out) we
need to set up dummy state so the shaders don't do anything illegal.

This hadn't had symptoms for most objects as when indoors, nearly
everything would be drawn first in one of the water RTTs, which had
dummy state to disable shadows already. This wasn't true of the water
plane itself, though, yet somehow it took until just now for anyone to
report that.

This resolves vtastek's issue where the water would be invisible indoors
4 years ago
AnyOldName3 1e0df23d14 Merge branch 'shadows-bin' into 'master'
Use a custom renderbin to avoid pointless OpenGL state switches

See merge request OpenMW/openmw!402
4 years ago
AnyOldName3 fcfd340c69 Actually copy alpha blended drawables to the new stategraph 4 years ago
AnyOldName3 55f65752fd Don't bind unnecessary colour buffer when drawing shadow maps 4 years ago
AnyOldName3 cdbf19a508 Tidy up run-on lines 4 years ago
AnyOldName3 296dce470a Spelling fix 4 years ago
AnyOldName3 72f7e6a702 Handle all shadow alpha uniforms in shadowsbin 4 years ago
AnyOldName3 5d046bc95d Mark override 4 years ago
Alexei Dobrohotov 53f91a3aa5
Merge pull request #3018 from akortunov/emplace
Use emplace_back instead of push_back
4 years ago
AnyOldName3 449506fef1 Attempt to explain what shadowsbin is doing 4 years ago
Alexei Dobrohotov 4fc5e22e9e NIF fixes and cleanup
Get rid of NodeIndexHolder
Use unsigned 32-bit type for NIF record index
Fix calculation of the number of UV sets
4 years ago
AnyOldName3 f7dddb8857 Merge branch '3' of https://gitlab.com/bzzt/openmw into shadows-bin
This won't actually work.
4 years ago
Andrei Kortunov 065ed5138e Use emplace_back instead of push_back 4 years ago
Andrei Kortunov 8ca3c3b123 Mark overrided methods by override keyword 4 years ago
Alexei Dobrohotov 9f08dc9968 Revert "Merge branch 'skinning' into 'master'"
This reverts merge request !327
4 years ago
Alexei Dobrohotov 6be808e301 RigGeometry: convert some pairs to structs 4 years ago
AnyOldName3 fd14dad789 const osg::ref_ptf reference should be faster than value as constructor and destructor are non-trivial
I played around in GodBolt and got into an argument to determine this. The difference will be immeasurably small, but my curiosity has been satisfied.
4 years ago
AnyOldName3 707204133d Double-buffer shadow uniforms that change each frame 4 years ago
AnyOldName3 ce98d7053b Double buffer view-dependent data stateset 4 years ago
AnyOldName3 98b2d5d921 Make shadow debug HUD thread-safe
* Double buffer the frustum uniforms.
* Don't mess with the debug geometry's StateSet.
* Change two-element vectors to arrays so the size is explicit.
4 years ago
Andrei Kortunov 215ddb9106 Do not print warnings for VisController 4 years ago
Capostrophic 46825e8a4d Move NIF record index back to a separate user object
This makes sure it's never erroneously optimized out. NodeIndexHolders don't need to be cloned as their record index is never supposed to be changed.
4 years ago
Capostrophic cc791af0f5 Serialization fixes
Make sure NifOsg::MatrixTransform serialization behaves as intended
Add a dummy serializer for NifOsg::UVController
4 years ago
Capostrophic 3b55d657e5 CopyRigVisitor: Log the number of parents in multiple parents error 4 years ago
Capostrophic a61267f57d Replace NodeUserData with a custom transform node 4 years ago
Capostrophic 4c9cefefdd Get rid of NifOsg::CollisionSwitch 4 years ago
Bret Curtis 0c2fea8254
Merge pull request #2932 from elsid/replace_open_threads
Replace OpenThreads by std types
5 years ago
Andrei Kortunov ef6fe8d52a Fix crash in the stateset updater (regression #5478) 5 years ago
elsid 40ad87bc4d
Replace OpenThreads by std types 5 years ago
elsid 3251687a3d
Use std types for WorkQueue 5 years ago
psi29a f94ca28dbe #5463: Optimizer fix, problem was indeed related to tangents not being transformd properly. 5 years ago
psi29a 66b5cf9f1d Merge branch 'master' into 'near_far_mode_in_launcher'
# Conflicts:
#   files/settings-default.cfg
5 years ago
bzzt lost a hitlab login 26ab176389 profiling
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login daa2761c2d alphablending & billboardfix
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login f12879a04c allow statesetupdater as cullcallback = faster + works in paging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login 9f0398c021 intersection by refnum tag + enable paging for acti,door,cont
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login ce505a9bb3 crashfix + optimiziation
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt d684f1a78f terrainbased objectpaging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
Icecream95 f14db21745
Make disableShadowsForStateSet a no-op when shadows are disabled
Otherwise the GPU has to do useless shadow comparisons when shadows
are disabled.
5 years ago
Capostrophic 78b1bbe130 Remove unnecessary null check 5 years ago
Capostrophic 72e5043eda CopyRigVisitor fixes
Make sure it copies all relevant drawable parent nodes (e.g. including the node with the environment map effect)
Make sure it doesn't copy nodes multiple times
5 years ago
psi29a b72720f357 Merge branch 'shadow-transparency-rework' into 'master'
Only alpha-test shadows when necessary

See merge request OpenMW/openmw!170
5 years ago
Bret Curtis aaa8990006
Merge pull request #2799 from Capostrophic/simplewaterfog
Fix simple water with radial fog enabled
5 years ago
Bret Curtis f51476a3c5
Merge pull request #2816 from Capostrophic/switchlod
CollisionSwitch and Switch/LOD node fixes
5 years ago
Bret Curtis 5f0f2f0f16 rename to better reflect what is going on per AnyOldName3 comment; added none option 5 years ago
Bret Curtis bf6daa7269
Merge pull request #2811 from Capostrophic/emitter
Allow particle emitters to be attached to an arbitrary node
5 years ago
Capostrophic 957d2a890f Ignore empty children of osg::LOD and osg::Switch like in OSG 5 years ago
Capostrophic 63fe02b1ba CollisionSwitch and Switch/LOD node fixes
Properly apply transformations to both switch and LOD nodes
Allow both NiSwitchNode and NiLODNode to be the root node
Properly add CollisionSwitch into the scene graph
5 years ago
psi29a bb5fe13e13 Make sure it is either one or the other with the default to bounding volumes. 5 years ago
Bret Curtis d38c3e971c remove extra line 5 years ago
Bret Curtis ae729a1ac7 add ability to set the type of near far method to be used in shadow calculation; default to bounding volumes; cleaned up code while there and re-ordered items 5 years ago
Capostrophic 6b874e397b Make particle system cloning map names more sensible 5 years ago
Capostrophic f516178ec9 Fix particle processor cloning
Extend emitter handling comment in NIF loader
5 years ago
psi29a 476a74c2d3 Merge branch 'bzzt_5_tight_scene_bound' into 'master'
Allow use of OSG's Bounding Volumes

See merge request OpenMW/openmw!189
5 years ago
Bret Curtis 31a75a962a Add 3 additional classes to be ignored who dumping "showscenegraph" debug output; less spammy 5 years ago
Bret Curtis ca0adc25bb add two additional classes we do not need to serialize; less pam during `showscenegraph` debug dump. 5 years ago
Bret Curtis 886b9813ad Something changed in OSG 3.6 that makes the command "showscenegraph" less useful; it writes out raw data of images to the debug output file openmw.ogst. This commit adds the hint and restores default behaviour found in OSG 3.4 5 years ago
bzzt dc33eeadf1 tightscenebound is uncessary after water bbfix 5 years ago
elsid c59c8ae1f4
Remove unused macro 5 years ago
Capostrophic 688e804548 Fix simple water with radial fog enabled 5 years ago
Bret Curtis 8a8107e837 as it says; revert vismask and uncomplicate openmw 5 years ago
AnyOldName3 1cf2036386 Don't add empty PrimitiveSets (prevent undefined behaviour) 5 years ago
AnyOldName3 12044a607b Only alpha-test shadows when necessary
Previously we always discarded shadow map fragments if the alpha channel of the output would have been low, but there were some (modded) assets that have non-one alpha but have testing or blending disabled so end up opaque anyway. This lets the shadows of those objects match.
5 years ago
Andrei Kortunov 02d7b13075
Merge pull request #2529 from akortunov/nodecopy
Copy transformations data when we clone node
5 years ago
elsid 7ae7cb181d
Support recast mesh rendering 5 years ago
Andrei Kortunov 84979fa8b7 Move VisMask to components 5 years ago
bzzt d340224c95 shadowsbin for gl state reduction 5 years ago
elsid 2e1d8a5e55
Remove unused virtual modifiers in DebugHUD
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        addAnotherShadowMap();
        ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is true.  Entering loop body
    for (int i = 0; i < 2; ++i)
    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is true.  Entering loop body
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is false. Execution continues on line 3102
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3126:21: note: Assuming 'i' is < 'numberOfShadowMapsPerLight'
    for (int i = 0; i < numberOfShadowMapsPerLight; ++i)
                    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3126:5: note: Loop condition is true.  Entering loop body
    for (int i = 0; i < numberOfShadowMapsPerLight; ++i)
    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: note: This constructor of an object of type 'DebugHUD' has not returned when the virtual method was called
        addAnotherShadowMap();
        ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: note: Call to virtual function during construction
5 years ago
elsid bd149b909f
Remove unused virtual modifiers in ShadowManager
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        setupShadowSettings();
        ^
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯9: note: This constructor of an object of type 'ShadowManager' has not returned when the virtual method was called
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯9: note: Call to virtual function during construction
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        enableOutdoorMode();
        ^
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: note: This constructor of an object of type 'ShadowManager' has not returned when the virtual method was called
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: note: Call to virtual function during construction
5 years ago
Andrei Kortunov f09d20434c Clamp number of shadow maps 5 years ago
Andrei Kortunov 7074baa1c2 Clamp number of shadow maps, as described in docs 5 years ago
bzzt b6ed2f1718 Add optional shadow map max distance and fading 5 years ago
Andrei Kortunov e568ad30ea Copy transformations data when we clone node (bug #5163) 5 years ago
Andrei Kortunov d4a8023e1a
Merge pull request #2485 from Capostrophic/lighting
Add support for QuadraticMethod/LinearMethod setup (bug #4965, continuation)
5 years ago
capostrophic 62fd2d47a5 Rewrite flickering/pulsing to work more like vanilla (bug #4952) 5 years ago
capostrophic c0d5cbdc8b Add support for QuadraticMethod/LinearMethod setup (bug #4965) 5 years ago
Andrei Kortunov 8557346fbd Use glow for enchanted arrows (feature #5122) 5 years ago
Capostrophic 6622e36226 Only merge pure osg::Groups in the optimizer 6 years ago
Alexei Dobrohotov 1444ef6f43
Merge pull request #2298 from akortunov/optimize
Do not allocate eight dummy LightStateAttribute's for every stateset
6 years ago
Capostrophic 05d94d35f9 Make disabled shadow defines map static 6 years ago
Capostrophic 85e99182ce Revise light source configuration (bug #4965)
Set up attenuation less awkwardly
Use global attenuation settings for magic light source
Use constant attenuation settings
6 years ago
bzzt 1a65adacdd Do not allocate dummy LightStateAttribute's for every stateset 6 years ago
Andrei Kortunov b466bfee40 Enable light sources directly to avoid virtual calls 6 years ago
Andrei Kortunov b2fca46206 Fix a couple of minor issues in shadows 6 years ago
Capostrophic de572226e4 Update optimizer with upstream improvements 6 years ago
Bret Curtis 7917f1fc84
Merge pull request #2252 from akortunov/terrain
Do not allocate empty callbacks in the RigGeometry
6 years ago
bzzt 4ab93aeffe Do not allocate empty callbacks in the RigGeometry 6 years ago
elsid 8e09468f45
Don't set display list usage for navmesh 6 years ago
elsid 4395a92c35
Use display list to render navmesh
Slightly improves performance of massive navmesh rendering.
6 years ago
Andrei Kortunov bacaa1f789 Get rid of C-style limits in the shadows code 6 years ago
Bret Curtis 551563cbfb Merge branch 'clsb-warning' into 'master'
Hopefully fix Clang warning about hiding overloaded virtual functions

See merge request OpenMW/openmw!82
6 years ago
elsid 47e87cc2bd
Fix ODR violation for VDSMCameraCullCallback
This class is also defined in OpenSceneGraph at global namespace.
6 years ago
AnyOldName3 d34724a3c4 Hopefully fix Clang warning about hiding overloaded virtual functions 6 years ago
Grigory Latyshev 3872d7476b Move makeOsgVec3f() to settingsutils.hpp
Remove all other makeOsgVec3f() implementations
6 years ago
bzzt 8c649f05e6 Don't reallocate light list vector unnecessarily 6 years ago
bzzt a567111400 Use emplace instead of find-assign 6 years ago
Andrei Kortunov 3032b177a1 Remove redundant includes 6 years ago
Chris Djali cb5a57e41b
Merge pull request #1547 from AnyOldName3/osgshadow-test-vdsm
Shadows
6 years ago
AnyOldName3 0c8ad0a3bb Double buffer debug HUD frustum geometries to prevent race conditions. 6 years ago
Bret Curtis f4313c02e1
Merge pull request #2153 from akortunov/glowing_windows
Native glowing windows support
6 years ago
Andrei Kortunov 60c9806d62 Share RigGeometry node data 6 years ago
Andrei Kortunov 9e4a339ad3 Daytime node switch support (feature #4836) 6 years ago
AnyOldName3 15547750ba Correct behaviour of use front face culling setting to not use back face culling either when disabled. 6 years ago
AnyOldName3 cfe921fb82 Remove uneeded includes. 6 years ago
AnyOldName3 2761a38562 Prettify shadow define map setup. 6 years ago
AnyOldName3 57e10e26b2 Make variable name less confusing 6 years ago
AnyOldName3 a24b8ec3d2 Fix enable/disable mixup. 6 years ago
AnyOldName3 556c9a3382 Add normal-offset shadow mapping to remove shadow acne (flicker) 6 years ago
Andrei Kortunov 03b71d3c30 Improve switchable nodes handling by optimizer 6 years ago
AnyOldName3 8482236a82 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 6 years ago
AnyOldName3 d82c85913a Don't bother multiplying a matrix by its inverse and applying that to the light direction.
Hopefully this will improve numerical stability and reduce shadow flicker a little.
6 years ago
AnyOldName3 4438ab4493 Use CullVisitor traversal mask for light manager. 6 years ago
Andrei Kortunov 2c38e337ae Support NiSwitchNode (feature #4812) 6 years ago
Andrei Kortunov 8e6fd348d1 RigGeometry optimization: optimize geometry optimization 6 years ago
Andrei Kortunov 254f01b89d RigGeometry optimization: vector iteration is more cheap than map iteration 6 years ago
Ilya Zhuravlev 07e9ce84b3 Replace volatile bools with std::atomic<bool> 6 years ago
AnyOldName3 199e6ed82d Revert "Use forward declaration to reduce build times."
This reverts commit 305b9826df.
6 years ago
AnyOldName3 305b9826df Use forward declaration to reduce build times. 6 years ago
AnyOldName3 7b108ae9a2 Disable depth sorting for translucent objects in the shadow maps 6 years ago
AnyOldName3 53188f61fc Fix animation bug with VAOs 6 years ago
Bret Curtis fc19c842cf
Revert "fix a rig bug visible with OSG_VERTEX_BUFFER_HINT=VAO" 6 years ago
AnyOldName3 2d5da1a6fa Don't exclusively rely on a shadow map if its bounds have been expanded since the cull traversal. 6 years ago
mp3butcher 7a85e10d2f fix a rig bug visible with OSG_VERTEX_BUFFER_HINT=VAO 6 years ago
AnyOldName3 0a409c0ab8 Make shadow map front-face culling configurable 6 years ago
AnyOldName3 dd207d9e54 Make the shadow polygon offset parameters configurable 6 years ago
AnyOldName3 aa11832949 Resolve bugs with depth-clamped shadow maps 6 years ago
AnyOldName3 7ad4882f0c Fix debug hud frustum outline disappearence 6 years ago
AnyOldName3 061fa57335 Switch to better-performing data types for debug hud geometry 6 years ago
AnyOldName3 632b0d8979 Make shadow maps use their whole depth range for the overlap with the view frustum and rely on depth clamping to ensure objects outside the frustum still cast shadows. 6 years ago
AnyOldName3 660e423e99 Correct debug hud frustum colour 6 years ago
AnyOldName3 3785ba6aa0 Merge upstream/master 6 years ago
AnyOldName3 1ca7ea23d1 Add extra uniforms to the disabled shadows StateSet so that the shadow texture samplers are bound ot the dummy shadow maps correctly. 6 years ago
AnyOldName3 b0907f8929 Add todos in case they're left until after the shadow PR is merged 6 years ago
AnyOldName3 474770eca8 Switch shadow map rendering to a specialised, simplified shader. 6 years ago
elsid dc09674362
Add command and settings option to enable actors paths render 6 years ago
elsid 70a369f70e
Add command to enable NavMesh render
togglenavmesh or tnm
6 years ago
AnyOldName3 0124be5713 Merge upstream/master 6 years ago
Andrei Kortunov e06f0b797a Replace all NULLs to nullptr 6 years ago
Andrei Kortunov 87394f2ebb Revert "Take in account transformations of NiTriShape and NiSkinData in skinning (bug #4437)"
This reverts commit 09427d3f5e since the
fix is not entirely correct.
6 years ago
Kyle Cooley 6bece13a32 Use new Log class for error message 6 years ago
Kyle Cooley e2ac392a40 Move common stuff to scene util, fix errors with 1st person meshes 6 years ago
Kyle Cooley 8444ee9981 Start rendering npc's 6 years ago
Andrei Kortunov 09427d3f5e Take in account transformations of NiTriShape and NiSkinData in skinning (bug #4437) 6 years ago
Marc Zinnschlag 24ce8cce72 Merged pull request #1898 6 years ago
Andrei Kortunov 0ddd0e4edc Fix light flicker amplitude calculation 6 years ago
Andrei Kortunov c677f7ca27 Rework pulsing light sources (bug #4615) 6 years ago
Marc Zinnschlag 232ea4f793 Merged pull request #1887 6 years ago
Sophie Kirschner c412f99963 Remove commented lines in UnrefWorkItem::doWork 6 years ago
Andrei Kortunov ff241fb787 Optimize skinning (task #4605) 6 years ago
Sophie Kirschner 4dd9386c4f Fix error: member access into incomplete type 'SceneUtil::UnrefWorkItem'
Fixes compile error encountered on OSX 10.9 with g++

sophie:build pineapple$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix

The compilation error:

[ 24%] Building CXX object apps/openmw/CMakeFiles/openmw.dir/mwrender/renderingmanager.cpp.o
In file included from /Users/pineapple/git/openmw/apps/openmw/mwrender/renderingmanager.cpp:1:
In file included from /Users/pineapple/git/openmw/apps/openmw/mwrender/renderingmanager.hpp:4:
/Users/pineapple/git/openmw/openmw-deps/include/osg/ref_ptr:35:36: error: member access into incomplete type 'SceneUtil::UnrefWorkItem'
        ~ref_ptr() { if (_ptr) _ptr->unref();  _ptr = 0; }
                                   ^
/Users/pineapple/git/openmw/./components/sceneutil/unrefqueue.hpp:14:11: note: in instantiation of member function
      'osg::ref_ptr<SceneUtil::UnrefWorkItem>::~ref_ptr' requested here
    class UnrefQueue : public osg::Referenced
          ^
/Users/pineapple/git/openmw/./components/sceneutil/unrefqueue.hpp:10:11: note: forward declaration of 'SceneUtil::UnrefWorkItem'
    class UnrefWorkItem;
6 years ago
AnyOldName3 db707a31ec Add clipping planes when allow shadow map overlap is enabled 6 years ago
AnyOldName3 15e820825f Fix another convex hull clipping issue and restore z-clipping 6 years ago
AnyOldName3 80082308f0 Merge upstream (shadermanager log system revamp) 6 years ago
AnyOldName3 dd501f4132 Make ConvexHull::clip more resilient against large values. 6 years ago
AnyOldName3 987306feb9 Fix ConvexHull::extendTowardsNegativeZ 6 years ago
Andrei Kortunov 1452684d9e Use new logging system for components 6 years ago
AnyOldName3 3b3721897d Make indoor shadows disableable. 6 years ago
AnyOldName3 6286f5a1d4 Ensure RigGeometry child geometries have sensible bounds without actually computing them. 6 years ago
AnyOldName3 71778e2552 Disable convex hull clipping based on render leaf traverser results in the z direction. 7 years ago
AnyOldName3 02ab3b466a Use simplified convex hull clipping maths from the other function doing hte same thing 7 years ago
AnyOldName3 85aba2e1da Add toggleable shadow debug overlay. 7 years ago
AnyOldName3 ed68db5ef9 Fix issue where the camera frustum cropping wouldn't consider where casters might cast shadows, just where they actually were. 7 years ago
AnyOldName3 f5b144ef77 Improve bounds calculation for shadow casters outside of the viewing frustum 7 years ago
AnyOldName3 50fdd0be99 Resolve computed near plane issues with extremely high viewing distances. 7 years ago
AnyOldName3 2c30bc1b4f Accidentally fix the one remaing case where shadows look awful while refactoring some stuff. 7 years ago
AnyOldName3 9f0a49c303 Disable CSM when disabled in the settings. 7 years ago
AnyOldName3 84284a60a7 Make CSM shader changes controllable by the setting. 7 years ago
AnyOldName3 5d05aadb37 Begin to let settings toggle between CSM and PSSM 7 years ago
AnyOldName3 7255c266ba Merge branch 'osgshadow-test-vdsm' into osgshadow-test-dicking-around-with-cascading-shadow-maps 7 years ago
AnyOldName3 fc1aee10f4 Remove function declaration that somehow snuck in. 7 years ago
AnyOldName3 1b30d47d7f Add a hacky temporary version of cascading shadow maps 7 years ago
AnyOldName3 44b2cf2b7f Merge upstream. 7 years ago
AnyOldName3 166e7df778 Improve debug HUD frustum 7 years ago
AnyOldName3 4547151863 Add the view frustum to the debug HUD (in the most annoying way possible) 7 years ago
scrawl 6c79c0fb35
Add an empty compileGLObjects implementation to Rig/MorphGeometry to avoid unnecessary creation of display list done by osg 7 years ago
elsid 14daadded7
Add virtual destructors
To fix warnings:
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr_base.h:588:8: warning: delete called on non-final 'NifOsg::ControllerFunction' that has virtual functions but non-virtual destructor
      [-Wdelete-non-virtual-dtor]
              delete __p;
              ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
      'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<NifOsg::ControllerFunction *>' requested here
        : __shared_count(__p)
          ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
      'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<NifOsg::ControllerFunction *>' requested here
        : _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
                       ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<NifOsg::ControllerFunction,
      __gnu_cxx::_S_atomic>::__shared_ptr<NifOsg::ControllerFunction, void>' requested here
        shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
                               ^
/home/elsid/dev/openmw/components/nifosg/nifloader.cpp:242:39: note: in instantiation of function template specialization 'std::shared_ptr<NifOsg::ControllerFunction>::shared_ptr<NifOsg::ControllerFunction, void>' requested here
                callback->setFunction(std::shared_ptr<NifOsg::ControllerFunction>(new NifOsg::ControllerFunction(key)));
                                      ^

/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/unique_ptr.h:78:2: warning: delete called on non-final 'MWGui::ResponseCallback' that has virtual functions but non-virtual destructor
      [-Wdelete-non-virtual-dtor]
        delete __ptr;
        ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/unique_ptr.h:268:4: note: in instantiation of member function 'std::default_delete<MWGui::ResponseCallback>::operator()' requested here
          get_deleter()(__ptr);
          ^
/home/elsid/dev/openmw/apps/openmw/mwgui/dialogue.cpp:58:23: note: in instantiation of member function 'std::unique_ptr<MWGui::ResponseCallback, std::default_delete<MWGui::ResponseCallback> >::~unique_ptr' requested here
    PersuasionDialog::PersuasionDialog(ResponseCallback* callback)
                      ^
7 years ago
AnyOldName3 e885612bd7 Make a dynamic cast static 7 years ago
AnyOldName3 b553b58de5 Fix another compiler warning 7 years ago
AnyOldName3 3bed2a7b01 Fix some copiler warnings (hopefully) 7 years ago
AnyOldName3 fc41902798 Replace a dynamic cast with string comarison 7 years ago
AnyOldName3 bc4b4c66e4 (Hopefully) add include which G++ requires even though VC++ doesn't. 7 years ago
AnyOldName3 d1a2955fa1 Merge upstream 7 years ago
AnyOldName3 66a114d6ec Fix a couple of warnings 7 years ago
AnyOldName3 f9cf1ac94b Separate indoor and outdoor shadow casting masks. 7 years ago
AnyOldName3 35eb71052e Tidy up the shadow manager 7 years ago
AnyOldName3 882b63cba9 Make split point control parameters configurable with the new shadow technique. 7 years ago
AnyOldName3 e233dae1cd Hook up the new shadow technique 7 years ago
AnyOldName3 97b607fc66 Make whitespace match upstream OSG 7 years ago
AnyOldName3 99db93510c Undo minor cockup where the same file appeared twice 7 years ago
AnyOldName3 639a4f5e8c Remove TODO left in by accident. Also, become 100 commits ahead of upstream. 7 years ago
AnyOldName3 478367bef3 Ensure the debug HUD won't crash if settings are changed at runtime. 7 years ago
AnyOldName3 7b52091a82 Make the debug hud enableable 7 years ago
AnyOldName3 5d719e9d5f Add the debug HUD to the new shadow technique 7 years ago
AnyOldName3 76f23c28b1 Make shadows disableable. 7 years ago
AnyOldName3 0f1e770c53 Transfer changes to cull to new shadow technique 7 years ago
AnyOldName3 4c31b38f77 Move CLSB changes to new shadow technique 7 years ago
AnyOldName3 06b2ce6646 Fix alignment issues caused by renaming classes 7 years ago