1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-16 21:59:55 +00:00
Commit graph

78 commits

Author SHA1 Message Date
glassmancody.info
1e40d27318 introduce sky shaders 2021-10-23 17:53:38 -07:00
Bo Svensson
4b1c009ffd
use StateSet define for translucentFramebuffer (#3138)
With this PR we test out osg's shader define system for a somewhat harmless feature. As we can see, our code becomes more concise and efficient in this case. Most importantly, we no longer create unneeded vertex shader objects.
2021-10-05 14:37:08 +02:00
Bo Svensson
2568f119a4
reapplies PR without npe (#3137)
* avoids creating empty statesets on drawables

Currently, we attempt to skip creating state on drawable nodes when this state matches the default state. This attempt is incomplete because we still create an avoidable empty stateset in the default case.

* renderingmanager.cpp

* nifloader.cpp

* nifloader.cpp

* shadervisitor.cpp
2021-10-01 10:11:00 +02:00
Bo Svensson
8358418555
set the correct program link parameters (#3110)
* shadermanager.hpp setProgramTemplate

* shadermanager.hpp

* shadermanager.cpp setProgramTemplate

* shadervisitor.hpp setProgramTemplate

* shadervisitor.cpp setProgramTemplate

* scenemanager.cpp setProgramTemplate

* scenemanager.hpp setProgramTemplate

* renderingmanager.cpp

* groundcover.cpp setProgramTemplate

* groundcover.hpp

* groundcover.cpp

* shadervisitor.cpp

* util.cpp

* lightmanager.cpp

* scenemanager.cpp

* scenemanager.hpp

* lightmanager.cpp

* lightmanager.cpp

* lightmanager.cpp

* scenemanager.hpp [ci skip]

* water.cpp

* groundcover.cpp

* shadermanager.hpp
2021-09-29 15:40:37 +02:00
Bo Svensson
2cebd19432
shadervisitor.cpp 2021-09-14 11:37:23 +00:00
Bo Svensson
3415f12e12
shadervisitor.cpp 2021-09-14 11:30:07 +00:00
Bo Svensson
6d12a240a3
shadervisitor.cpp uniform 2021-09-12 09:23:36 +00:00
jvoisin
7a015d24c6 Sprinkle some const-ref 2021-08-15 19:50:28 +02:00
AnyOldName3
5ec2ddb4a0 Actually increment iterators to be erased. 2021-07-17 20:47:55 +01:00
AnyOldName3
84a9facedf Disable coverage adjustment for blended objects 2021-07-04 23:29:22 +01:00
AnyOldName3
0e57622bbe Correctly track added and removed state 2021-07-03 21:04:17 +01:00
AnyOldName3
2147c18cf5 Do not overwrite old removed state with old dummy state 2021-06-28 00:11:31 +01:00
AnyOldName3
0e122b1e3d Avoid copy and deep equality check 2021-06-27 01:48:06 +01:00
AnyOldName3
8a1b4bde8a Ensure original (removed) state overrides replacement state when recreating shaders
When the shader visitor replaces state (e.g. changes the deprecated
alpha test to a shader-based one) it backs up the original state. If
shaders are recreated, we need to know what the canonical state was and
create shaders to implement that instead of creating shaders to
implement dummy replacement state.

This was actually usually working as the removed state got checked after
the active state, so overwrote anything derived from it. However, if the
active state had the override bit set, that would make it override the
removed state.

Skipping any active state that duplicates removed state fixes this case.

Resolves #6108
2021-06-27 00:12:07 +01:00
jvoisin
5840279f16 Use default instead of empty constructors/destructors
See https://pvs-studio.com/en/docs/warnings/v832/ for details
2021-06-24 00:26:15 +02:00
Andrei Kortunov
e309f75938 Join variables declaration and usage 2021-04-14 08:07:56 +04:00
AnyOldName3
8ff4f731fb Make Coverity happy about A2C
Initialise member variable
2021-04-09 23:08:51 +00:00
Andrei Kortunov
cf52bee188 Fix build with OSG 3.4 2021-03-24 16:32:15 +04:00
Alexei Dobrohotov
2fdbe9b3f6 Handle BSShader[PP/No]LightingProperty 2021-03-22 01:55:58 +03:00
AnyOldName3
0431ba4c87 Merge branch 'alpha-meddling-shader-side-mip-meddling' into alpha-meddling 2021-03-13 01:23:30 +00:00
AnyOldName3
9be258d260 Make it possible to reinstate FFP state easily 2021-02-19 19:59:48 +00:00
AnyOldName3
4f510d85ba Merge remote-tracking branch 'upstream/master' into alpha-meddling 2021-02-14 22:42:55 +00:00
AnyOldName3
b6e92c9c6d Use ShaderVisitor to skip translucent framebuffer specific stuff 2021-01-20 23:37:19 +00:00
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.
2021-01-07 18:13:51 +00:00
AnyOldName3
e3fd5efcfe Disable A2C for alpha-blended drawables 2021-01-02 19:09:06 +00:00
AnyOldName3
8f4b856b44 Initial A2C implementation 2020-12-26 22:45:53 +00:00
AnyOldName3
8c3a786e54 Unconditionally disable alpha testing when shaders are used 2020-12-24 00:32:15 +00:00
AnyOldName3
ce2bcba5d4 Replace deprecated alpha test in shader visitor 2020-12-17 14:57:43 +00:00
AnyOldName3
48f397f168 Remove existing shader when no longer required 2020-12-03 21:06:02 +00:00
AnyOldName3
1e0df23d14 Merge branch 'shadows-bin' into 'master'
Use a custom renderbin to avoid pointless OpenGL state switches

See merge request OpenMW/openmw!402
2020-11-13 16:29:41 +00:00
AnyOldName3
72f7e6a702 Handle all shadow alpha uniforms in shadowsbin 2020-11-12 00:26:30 +00:00
Alexei Dobrohotov
b523574090 Remove shader visitor settings manager dependency 2020-11-09 13:59:59 +03:00
Andrei Kortunov
065ed5138e Use emplace_back instead of push_back 2020-10-18 10:27:35 +04:00
Capostrophic
c0b322b264 Improve color mode handling in shaders 2020-05-09 16:15:10 +03:00
AnyOldName3
a3b032bf2b Fix chameleon shadows 2020-04-27 23:49:48 +01:00
AnyOldName3
53b9b41159 Rely on existing alpha test for non-blended shadow casting 2020-04-21 18:18:55 +01:00
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.
2020-04-10 15:45:37 +01:00
Capostrophic
5770227e37 Avoid using auto-detected normal maps that are bump map namesakes 2020-03-05 13:19:34 +03:00
Capostrophic
624a9ac353 Force shaders for objects affected by new envmap option 2020-03-04 14:06:22 +03:00
Capostrophic
19a7245251 Add bump mapping support 2020-03-03 13:32:30 +03:00
Andrei Kortunov
1cdd33b434 Implement additional stringops to avoid Boost functions 2020-01-09 19:40:22 +04:00
bzzt
ffe8bbd2dd racingcrashfix #4766 2019-05-29 13:37:00 +00:00
Capostrophic
0cdc46dfd6 Move forcePPL and clamp to global shader defines (bug #4869) 2019-03-05 23:36:08 +03:00
Andrei Kortunov
3032b177a1 Remove redundant includes 2019-02-23 08:02:12 +04:00
AnyOldName3
244bd289cb Change default colour mode (as apparently it actually gets used sometimes) 2018-12-03 18:56:37 +00:00
AnyOldName3
a41ce42208 Move setting of colorMode to ShaderRequirements in case they're reused 2018-10-18 16:00:51 +01:00
AnyOldName3
474770eca8 Switch shadow map rendering to a specialised, simplified shader. 2018-10-16 21:23:31 +01:00
AnyOldName3
ce15369bbd Convert colorMode shader define to a uniform 2018-10-15 23:12:15 +01:00
Andrei Kortunov
e06f0b797a Replace all NULLs to nullptr 2018-10-09 10:21:12 +04:00
Andrei Kortunov
1452684d9e Use new logging system for components 2018-08-14 19:42:41 +04:00