1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-03-31 06:06:39 +00:00
openmw/components/sceneutil
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
..
actorutil.cpp Make Settings::Manager::getString return a reference 2022-08-28 16:38:11 +02:00
actorutil.hpp Make Settings::Manager::getString return a reference 2022-08-28 16:38:11 +02:00
agentpath.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
agentpath.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
attach.cpp Remove unused includes 2022-10-09 16:44:18 +02:00
attach.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
clearcolor.hpp Fix and prevent -Wextra-semi warning 2022-10-06 00:26:43 +02:00
clone.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
clone.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
color.cpp Revert "Merge branch 'fix_macos_build' into 'master'" 2022-10-12 22:48:34 +01:00
color.hpp Revert "Merge branch 'fix_macos_build' into 'master'" 2022-10-12 22:48:34 +01:00
controller.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
controller.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
depth.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
depth.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
detourdebugdraw.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
detourdebugdraw.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
extradata.cpp Remove unused includes 2022-10-09 16:44:18 +02:00
extradata.hpp First pass with include-what-you-use 2022-10-09 10:39:43 +00:00
keyframe.hpp Remove unused includes 2022-10-09 16:44:18 +02:00
lightcontroller.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
lightcontroller.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
lightmanager.cpp First pass with include-what-you-use 2022-10-09 10:39:43 +00:00
lightmanager.hpp First pass with include-what-you-use 2022-10-09 10:39:43 +00:00
lightutil.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
lightutil.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
morphgeometry.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
morphgeometry.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
mwshadowtechnique.cpp Don't use FFP-friendly texture image units for shadow maps 2023-02-05 00:40:33 +00:00
mwshadowtechnique.hpp Don't use FFP-friendly texture image units for shadow maps 2023-02-05 00:40:33 +00:00
navmesh.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
navmesh.hpp Support rendering for navmesh update frequency as a heatmap 2022-05-17 01:54:20 +02:00
nodecallback.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
optimizer.cpp Disable clang-format for files that should have minimal diff with OSG 2022-09-12 23:57:10 +02:00
optimizer.hpp Disable clang-format for files that should have minimal diff with OSG 2022-09-12 23:57:10 +02:00
osgacontroller.cpp Remove unused includes 2022-10-09 16:44:18 +02:00
osgacontroller.hpp Fix and prevent -Wextra-semi warning 2022-10-06 00:26:43 +02:00
pathgridutil.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
pathgridutil.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
positionattitudetransform.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
positionattitudetransform.hpp Add META_Node to clang-format StatementMacros 2022-10-06 21:11:52 +02:00
recastmesh.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
recastmesh.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
riggeometry.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
riggeometry.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
riggeometryosgaextension.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
riggeometryosgaextension.hpp Fix and prevent -Wextra-semi warning 2022-10-06 00:26:43 +02:00
rtt.cpp First pass with include-what-you-use 2022-10-09 10:39:43 +00:00
rtt.hpp First pass with include-what-you-use 2022-10-09 10:39:43 +00:00
screencapture.cpp Log screenshot capture 2022-11-22 19:26:28 +00:00
screencapture.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
serialize.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
serialize.hpp Add 'showSceneGraph' command to export the scene or a particular object to .osgt for debugging purposes 2017-02-01 06:00:14 +01:00
shadow.cpp Don't use FFP-friendly texture image units for shadow maps 2023-02-05 00:40:33 +00:00
shadow.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
shadowsbin.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
shadowsbin.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
skeleton.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
skeleton.hpp Add META_Node to clang-format StatementMacros 2022-10-06 21:11:52 +02:00
statesetupdater.cpp Fix crash in the editor 2022-09-25 12:31:56 +04:00
statesetupdater.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
textkeymap.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
unrefqueue.cpp First pass with include-what-you-use 2022-10-09 10:39:43 +00:00
unrefqueue.hpp First pass with include-what-you-use 2022-10-09 10:39:43 +00:00
util.cpp Remove unused includes 2022-10-09 16:44:18 +02:00
util.hpp First pass with include-what-you-use 2022-10-09 10:39:43 +00:00
visitor.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
visitor.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
waterutil.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
waterutil.hpp refactor and fix wobbly shores 2021-08-04 17:49:57 -07:00
workqueue.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
workqueue.hpp First pass with include-what-you-use 2022-10-09 10:39:43 +00:00
writescene.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
writescene.hpp Make sure all paths are passed as std::filesystem::path instead of std::string where possible. 2022-09-11 14:41:15 +02:00