Commit Graph

112 Commits

Author SHA1 Message Date
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
Evil Eye 2be27da791 Merge branch 'const_refs' into 'master'
Add a ton of const refs

See merge request OpenMW/openmw!954
2021-06-24 18:57:41 +00: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
jvoisin 1123dc46ee Add a ton of const refs 2021-06-23 23:13:59 +02:00
glassmancody.info bb834fb44e append filename to shader names 2021-06-05 18:21:03 -07:00
Andrei Kortunov e309f75938 Join variables declaration and usage 2021-04-14 08:07:56 +04:00
glassmancody.info 582f7b52cf Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 2021-04-13 11:09:52 -07:00
glassmancody.info 690995988b More formatting, OpenCS cells are unbroken 2021-04-13 11:09:35 -07:00
glassmancody.info 7370acdf54 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 2021-04-13 11:09:19 -07:00
glassmancody.info 43ac32921c Rewrite, support different lighting methods 2021-04-13 11:09:19 -07:00
glassmancody.info 9d9074c244 Add shared UBO 2021-04-13 11:07:48 -07:00
glassmancody.info dda735c54a initial commit 2021-04-13 11:06:16 -07: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
Andrei Kortunov 14cf0ce1dc Implement instanced groundcover 2021-01-26 22:29:41 +04: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 05ad44d0b1 Set correct array size 2020-12-18 01:44:46 +00:00
AnyOldName3 a080071588 Set default state sensibly 2020-12-18 00:02:51 +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
Alexei Dobrohotov 53f91a3aa5
Merge pull request #3018 from akortunov/emplace
Use emplace_back instead of push_back
2020-11-01 01:58:56 +03:00
Andrei Kortunov 065ed5138e Use emplace_back instead of push_back 2020-10-18 10:27:35 +04:00
Andrei Kortunov 8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
Mads Buvik Sandvei d5450a7d88 Correctly resetting line numbering during shader processing. 2020-10-03 14:22:34 +02:00
Mads Buvik Sandvei 0d6be9bd18 More accurate detection of cyclic includes 2020-08-06 01:16:19 +02:00
Mads Buvik Sandvei 2ed12a398d addLineDirectivesAfterConditionalBlocks move check for npos to catch all npos 2020-08-04 01:46:54 +00:00
elsid 40ad87bc4d
Replace OpenThreads by std types 2020-06-25 22:16:09 +02:00
Capostrophic c0b322b264 Improve color mode handling in shaders 2020-05-09 16:15:10 +03:00
psi29a b72720f357 Merge branch 'shadow-transparency-rework' into 'master'
Only alpha-test shadows when necessary

See merge request OpenMW/openmw!170
2020-05-08 21:32:16 +00:00
elsid 1f3dfaedcc
Add tests for ShaderManager 2020-05-02 17:59:49 +02:00
elsid edf002aa97
Rename argument shaderTemplate to templateName 2020-05-02 17:56:24 +02:00
AnyOldName3 a3b032bf2b Fix chameleon shadows 2020-04-27 23:49:48 +01:00
elsid 7aaec5e989
Log shader template name on parse error 2020-04-23 19:52:17 +02:00
AnyOldName3 53b9b41159 Rely on existing alpha test for non-blended shadow casting 2020-04-21 18:18:55 +01:00