Commit Graph

116 Commits (e4a9e83609b482afb85a1b3a36c8c8f75f83e717)

Author SHA1 Message Date
Andrei Kortunov 251d01304f Use move semantics for osg::ref_ptr 12 months ago
Alexei Kotov 4a96885323 Untangle normals and parallax handling
Move tangent space generation to the vertex shaders
Support diffuse parallax when no normal map is present
Don't use diffuse parallax if there's no diffuse map
Generalize normal-to-view conversion
Rewrite parallax
1 year ago
Alexei Kotov 9c94058727 Support Oblivion parallax setup 1 year ago
elsid 08902371b4
Use settings values for Shaders settings 1 year ago
Petr Mikheev a401461a64 Update addedState in shadervisitor.cpp 1 year ago
Petr Mikheev 63d5bd6f8a Apply soft effect to nifs marked with soft effect flag (developed by Cody Glassman) 1 year ago
Andrei Kortunov a08d921c4c Create a stateset for every particle system to create its own defineMap 2 years ago
Mads Buvik Sandvei fe066069d7 /components/ code should not access the stereo manager without checking whether or not stereo is enabled first. Stereo component code should not read settings itself, but rather take settings as parameters. 2 years ago
AnyOldName3 ccdb1bf6b7 Ensure shader requirements are pushed at least once for subgraph
Shaders, if deemed necessary, get attached to the node mentioned by the
top of the requirements stack. Previously an empty stack was incorrectly
assumed to mean no shaders were required, but we found out that was
wrong. We need to put shaders *somewhere*, and the root of the subgraph
we're modifying should be the best place.
2 years ago
AnyOldName3 aee1edaf9e Partially revert "Attach shaders to geometry that lacks a stateset if necessary"
This reverts commit 6aef366fd3.
2 years ago
AnyOldName3 4aa40897ca Revert "Apply ShaderVisitor to Rig/MorphGeometry source geometry"
This reverts commit 471f6abf6c.

The commit should be redundant as of 20e799dadc
2 years ago
Alexei Dobrohotov 471f6abf6c Apply ShaderVisitor to Rig/MorphGeometry source geometry 2 years ago
Alexei Dobrohotov 6aef366fd3 Attach shaders to geometry that lacks a stateset if necessary 2 years ago
Cody Glassman ac4787aeec shade refactor 2 years ago
glassmancody.info 9a4977d334 rain occlusion 2 years ago
AnyOldName3 66b8d4fb29 Add a setting to control coverage adjustment
With it on, which was always the case before this setting was added,
vanilla content and poorly-made mods will look acceptable, but well-made
mods will have alpha-tested meshes appear to grow and potentially gain a
weird outline as they get further away.

With it off, which replicates the 0.46 behaviour, well-made mods will
look really good, but vanilla content and poorly-made mods will have
alpha-tested meshes shrink as they get further away.

It's been bugging me that this was forced on since 0.47 released, and
I'd hoped to figure out a solution for automatic detection at some point
before 0.48 branched off, but I didn't, so now this is what we're
getting to have Tamriel Rebuilt look right.
2 years ago
jvoisin 3cbf1dc042 First pass with include-what-you-use 2 years ago
clang-format-bot ddb0522bbf
Apply clang-format to code base 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
glassmancody.info 651916694c use correct indexed color mask 2 years ago
glassmancody.info 7bed2208e9 only force ppl on particles with normal maps 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
Nelsson Huotari 334c6dde0b custom class for osgAnimation::RigGeometry, Collada animated deforming body parts 3 years ago
jvoisin 02cafc3b98 And one more 3 years ago
cody glassman 04843fed6d moddable post-processing pipeline 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
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
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
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 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