Commit Graph

211 Commits (master)

Author SHA1 Message Date
florent.teppe cdd95f7889 replaced empty function body by default 2 years ago
florent.teppe 9a475b0c97 fixed blank lines and missing breaks 2 years ago
florent.teppe b6d7293a12 Removed weird lines that I thought were necessary to please the compiler 2 years ago
florent.teppe 68d0698924 Fixed cyclical included check 2 years ago
florent.teppe aa51d6de2a Missing chrono include ? 2 years ago
elsid f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
Replace all ciEqual overloads with one having std::string_view as argument.
2 years ago
florent.teppe f78fa989ee fixed include, cleaned comments and indentation 2 years ago
florent.teppe 31d412527d forgot memory include 2 years ago
florent.teppe 6b38d62223 Added lua bindings to toggle hot reload (disabled by default) or to trigger a reload 2 years ago
florent.teppe 4e7c1c5bef Added break when the operation failed 2 years ago
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
2 years ago
glassmancody.info 651916694c use correct indexed color mask 2 years ago
jvoisin f451b09f10 Merge branch 'rm_stream_include' into 'master'
Remove redundant ostream, istream, iostream and sstream includes

See merge request OpenMW/openmw!2097
3 years ago
glassmancody.info 7bed2208e9 only force ppl on particles with normal maps 3 years ago
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.
3 years ago
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
3 years ago
glassmancody.info b09411d396 allow soft particles on meshes and add extra data extensions 3 years ago
Petr Mikheev d0deb37f5c Fix several issues with sky blending 3 years ago
psi29a feef257584 Merge branch 'postprocessor-stereo' into 'master'
[Postprocessing] Stereo integration

See merge request OpenMW/openmw!1988
3 years ago
Mads Buvik Sandvei b0e4c7e76a [Postprocessing] Stereo integration 3 years ago
psi29a a822044199 Merge branch 'riggeoosgaext' into 'master'
custom class for osgAnimation::RigGeometry, Collada animated deforming body parts

See merge request OpenMW/openmw!1682
3 years ago
Nelsson Huotari 334c6dde0b custom class for osgAnimation::RigGeometry, Collada animated deforming body parts 3 years ago
Petr Mikheev 3bf18c601c Better fog 3 years ago
jvoisin 21efb74b58 Remove even most boost:: 3 years ago
jvoisin 02cafc3b98 And one more 3 years ago
cody glassman 04843fed6d moddable post-processing pipeline 3 years ago
Evil Eye a64979e25d Replace empty std::string assignments 3 years ago
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
3 years ago
madsbuvi dc3045c970 mono-only version of the shader linking system introduced in the stereo MR 3 years ago
Alexei Dobrohotov dd473d06df Implement gloss-mapping (feature #6541) 3 years ago
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.
3 years ago
glassmancody.info 9389cfaa42 mac os driver workaround and shadervisitor fixes 3 years ago
Cody Glassman d85f772269 Depth refactor 3 years ago
psi29a 5836d0225f Merge branch 'leave_butter_to_soften' into 'master'
Soft Particles (#6128)

See merge request OpenMW/openmw!980
3 years ago
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.
3 years ago
glassmancody.info 4461366761 settings update and launcher option 3 years ago
glassmancody.info 40b6bbbdf3 use openmw define system 3 years ago
glassmancody.info 8c3b00164e soft particles 3 years ago
glassmancody.info 07e32c0fa6 remove object shader path 3 years ago
glassmancody.info 1e40d27318 introduce sky shaders 3 years ago
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.
3 years ago
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
3 years ago
Bret Curtis 803195a05f add back some explicit includes 3 years ago
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
3 years ago
Bo Svensson 2cebd19432
shadervisitor.cpp 3 years ago
Bo Svensson 3415f12e12
shadervisitor.cpp 3 years ago
Bo Svensson 6d12a240a3
shadervisitor.cpp uniform 3 years ago
jvoisin cb08f490d7 Sprinkle some const-ref in loop
This was done on the good advices of clang-tidy
3 years ago
jvoisin 7a015d24c6 Sprinkle some const-ref 3 years ago
AnyOldName3 5ec2ddb4a0 Actually increment iterators to be erased. 4 years ago
AnyOldName3 84a9facedf Disable coverage adjustment for blended objects 4 years ago
AnyOldName3 0e57622bbe Correctly track added and removed state 4 years ago
AnyOldName3 2147c18cf5 Do not overwrite old removed state with old dummy state 4 years ago
AnyOldName3 0e122b1e3d Avoid copy and deep equality check 4 years ago
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
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
jvoisin 5840279f16 Use `default` instead of empty constructors/destructors
See https://pvs-studio.com/en/docs/warnings/v832/ for details
4 years ago
jvoisin 1123dc46ee Add a ton of const refs 4 years ago
glassmancody.info bb834fb44e append filename to shader names 4 years ago
Andrei Kortunov e309f75938 Join variables declaration and usage 4 years ago
glassmancody.info 582f7b52cf Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info 690995988b More formatting, OpenCS cells are unbroken 4 years ago
glassmancody.info 7370acdf54 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 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 8ff4f731fb Make Coverity happy about A2C
Initialise member variable
4 years ago
Andrei Kortunov cf52bee188 Fix build with OSG 3.4 4 years ago
Alexei Dobrohotov 2fdbe9b3f6 Handle BSShader[PP/No]LightingProperty 4 years ago
AnyOldName3 0431ba4c87 Merge branch 'alpha-meddling-shader-side-mip-meddling' into alpha-meddling 4 years ago
AnyOldName3 9be258d260 Make it possible to reinstate FFP state easily 4 years ago
AnyOldName3 4f510d85ba Merge remote-tracking branch 'upstream/master' into alpha-meddling 4 years ago
Andrei Kortunov 14cf0ce1dc Implement instanced groundcover 4 years ago
AnyOldName3 b6e92c9c6d Use ShaderVisitor to skip translucent framebuffer specific stuff 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 e3fd5efcfe Disable A2C for alpha-blended drawables 4 years ago
AnyOldName3 8f4b856b44 Initial A2C implementation 4 years ago
AnyOldName3 8c3a786e54 Unconditionally disable alpha testing when shaders are used 4 years ago
AnyOldName3 05ad44d0b1 Set correct array size 4 years ago
AnyOldName3 a080071588 Set default state sensibly 4 years ago
AnyOldName3 ce2bcba5d4 Replace deprecated alpha test in shader visitor 4 years ago
AnyOldName3 48f397f168 Remove existing shader when no longer required 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 72f7e6a702 Handle all shadow alpha uniforms in shadowsbin 4 years ago
Alexei Dobrohotov b523574090 Remove shader visitor settings manager dependency 4 years ago
Alexei Dobrohotov 53f91a3aa5
Merge pull request #3018 from akortunov/emplace
Use emplace_back instead of push_back
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
Mads Buvik Sandvei d5450a7d88 Correctly resetting line numbering during shader processing. 4 years ago
Mads Buvik Sandvei 0d6be9bd18 More accurate detection of cyclic includes 4 years ago
Mads Buvik Sandvei 2ed12a398d addLineDirectivesAfterConditionalBlocks move check for npos to catch all npos 4 years ago
elsid 40ad87bc4d
Replace OpenThreads by std types 5 years ago
Capostrophic c0b322b264 Improve color mode handling in shaders 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
elsid 1f3dfaedcc
Add tests for ShaderManager 5 years ago
elsid edf002aa97
Rename argument shaderTemplate to templateName 5 years ago
AnyOldName3 a3b032bf2b Fix chameleon shadows 5 years ago
elsid 7aaec5e989
Log shader template name on parse error 5 years ago
AnyOldName3 53b9b41159 Rely on existing alpha test for non-blended shadow casting 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