florent.teppe
6b38d62223
Added lua bindings to toggle hot reload (disabled by default) or to trigger a reload
2022-08-03 19:56:19 +02:00
florent.teppe
4e7c1c5bef
Added break when the operation failed
2022-08-03 19:21:48 +02:00
florent.teppe
8d194a1601
Shaders: rudimentary hot reloader on shaders
...
every frame we poll the files and check if they are older or newer than the last test, if they are newer we find all the shader that included that file and update them
2022-08-03 19:12:45 +02:00
glassmancody.info
651916694c
use correct indexed color mask
2022-08-01 07:56:16 -07:00
jvoisin
f451b09f10
Merge branch 'rm_stream_include' into 'master'
...
Remove redundant ostream, istream, iostream and sstream includes
See merge request OpenMW/openmw!2097
2022-07-05 11:00:50 +00:00
glassmancody.info
7bed2208e9
only force ppl on particles with normal maps
2022-07-04 18:28:29 -07:00
elsid
bef15edf0b
Remove redundant ostream, istream, iostream and sstream includes
...
* Replace by std::to_string and operator+ where possible.
* Move the code requiring to include <sstream> from .hpp to .cpp files.
2022-07-05 01:41:28 +02:00
psi29a
56187ad977
Merge branch 'soften_me_up_like_one_of_your_french_meshes' into 'master'
...
Allow soft particle effect on any NIF
See merge request OpenMW/openmw!2015
2022-06-30 13:46:22 +00:00
glassmancody.info
b09411d396
allow soft particles on meshes and add extra data extensions
2022-06-29 18:15:12 -07:00
Petr Mikheev
d0deb37f5c
Fix several issues with sky blending
2022-06-27 21:51:41 +02:00
psi29a
feef257584
Merge branch 'postprocessor-stereo' into 'master'
...
[Postprocessing] Stereo integration
See merge request OpenMW/openmw!1988
2022-06-21 15:55:06 +00:00
Mads Buvik Sandvei
b0e4c7e76a
[Postprocessing] Stereo integration
2022-06-21 15:55:06 +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
Petr Mikheev
3bf18c601c
Better fog
2022-06-21 02:21:20 +02:00
jvoisin
21efb74b58
Remove even most boost::
2022-05-26 16:13:07 +02:00
jvoisin
02cafc3b98
And one more
2022-05-21 22:08:20 +02:00
cody glassman
04843fed6d
moddable post-processing pipeline
2022-05-15 10:03:58 -07:00
Evil Eye
a64979e25d
Replace empty std::string assignments
2022-05-04 22:33:39 +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
madsbuvi
dc3045c970
mono-only version of the shader linking system introduced in the stereo MR
2022-04-26 19:54:24 +02:00
Alexei Dobrohotov
dd473d06df
Implement gloss-mapping (feature #6541 )
2022-02-18 06:24:06 +03:00
AnyOldName3
14a330609f
ShaderVisitor improvements
...
* Adds comments explaining the less-than-obvious aspects.
* Adds comments explaining what to do when adding new stuff.
* Some fixes caused by those comments not historically existing.
* Add a TODO comment to something which may catch fire in the future.
2021-12-29 13:45:42 -08:00
glassmancody.info
9389cfaa42
mac os driver workaround and shadervisitor fixes
2021-11-20 18:39:20 -08:00
Cody Glassman
d85f772269
Depth refactor
2021-11-21 02:25:05 +00:00
psi29a
5836d0225f
Merge branch 'leave_butter_to_soften' into 'master'
...
Soft Particles (#6128 )
See merge request OpenMW/openmw!980
2021-11-09 14:16:47 +00:00
Bo Svensson
2e031f195b
fixes LightBufferBinding messages ( #3223 )
...
This PR aims to solve `uniform block LightBufferBinding has no binding` messages @glassmancody has reportedly encountered since PR #3110 due to an apparent bug in OSG. While we do have to add a workaround here that adds a bit of clunkiness, #3216 should allow us to clean up these interactions a bit in the future.
2021-11-07 18:26:02 +01:00
glassmancody.info
4461366761
settings update and launcher option
2021-11-01 09:26:50 -07:00
glassmancody.info
40b6bbbdf3
use openmw define system
2021-10-30 12:19:31 -07:00
glassmancody.info
8c3b00164e
soft particles
2021-10-30 12:19:31 -07:00
glassmancody.info
07e32c0fa6
remove object shader path
2021-10-25 10:23:16 -07:00
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
Bret Curtis
803195a05f
add back some explicit includes
2021-09-29 16:29:10 +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
cb08f490d7
Sprinkle some const-ref in loop
...
This was done on the good advices of clang-tidy
2021-09-04 20:50:59 +02: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
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
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