Commit Graph

307 Commits (69c4a68187d15719cb4e0277e35b2b30ba5b0f3f)

Author SHA1 Message Date
Alexei Kotov 0142caacf7 Use falloff start and stop opacity in NoLighting shader 2 years ago
glassmancody.info e778ffee9b po2 scaling for average luminance 2 years ago
AnyOldName3 0edc8fc77d Don't use FFP-friendly texture image units for shadow maps
This more-or-less gets rid of the shadow system's only depencency on FFP
stuff. All that remains is it using OSG cameras, which OSG provides a
uniform-based implementation of, too, which we can trivially migrate to.

This should mean we're not eating any of the ~8 FPP-friendly texture
units, which is good as Morrowind models can use all of those on their
(although they very rarely do), and instead use some of the ~160
shader-only texture image units. This just requires not calling
glEnable(GL_TEXTURE_2D), accomplished by changing
setTextureAttributeAndModes to setTextureAttribute.

Also changes from using glTexGen and its eye plane matrices to pass the
shadow space matrix for each light to explicit uniforms. Thankfully, the
maths was a simple combination of the valid region matrix and eye plane
matrix maths.

As of this commit, I believe this kills shadows in one eye for stereo
rendering.
2 years ago
glassmancody.info 897ee702d1 move water normal to vfs 2 years ago
glassmancody.info 27fe8d42ae fix pass normals 2 years ago
glassmancody.info 9a4977d334 rain occlusion 2 years ago
florent.teppe 43b0ae1ce7 all debug renders now use the same shader and it works
remove debug draw shader, now that debug and debugdraw serve the same function

remove debug draw code from actors to clean

replaced int uniforms with bool for better readability

clang format

cleanup, remove unused func, and mistake whitespace

fix namespace

added more colors

fixed missing whitespace
2 years ago
florent.teppe 21971c08ba debug draw shader uses the generic functions
renamed files

roundabout way to change case with windows noticing

fixed type

fix filename in cmakelist.txt

ported shader and c++ code so glsl 120 can be used instead of 330

new debug shader and old one are almost unified

for some reason, even though I get no compilation issue, old debug draws don't work, only the new one implemented by this MR

remove useless const cast
2 years ago
florent.teppe bd1bbc0ab8 removes mutex, and uses double buffering to avoid writing on a resource that will be read by the draw thread
changes when the buffers are reset -> at the end of the draw, because that's when we are certain the data isn't needed anymore

removed useless variable
fixed typo
include osg::vec3 instead of osg vec3f

compile linux

compile ?

applied clang format to the new files
2 years ago
florent.teppe 2a980ecb50 cleaned some code and fixed some naming issues
Moved debug draw to components, fixed some whitespace issues, added include guard

fixed uniform name, removed old files

Fixes some more whitespace weirdness
2 years ago
florent.teppe 12b3424dd7 initial work to get lines in
lines need the same synchronisation system as the other primitives

This two points are there because if I resize to 0 it crashes, si I need a pice of line at 0.,0.,0. so there is no crash.Not ideal

Lines are colored

didn't commit updated shader file
2 years ago
florent.teppe 76008e1ff8 Multiple shapes to draw
adds wireCube primitive

scale of the command taken into account

shading light is more vertical
2 years ago
florent.teppe 93af569a68 can place a cube at 0,0,0 Useless for now
Arbitrarly draw cubes at certain position with a certain color

Adds exemple of how it looks in the actor update code.

draws a green cube if alive, red else
2 years ago
glassmancody.info 02ded8832c temporary fix for artifacts in transparent post-pass 2 years ago
glassmancody.info fd4966f77a temporary fix for auto exposure 2 years ago
Petr Mikheev b3c8c8eb56 Support sky blending in multiview mode 3 years ago
glassmancody.info 89bc756732 tmp_sun_fix 3 years ago
Abdu Sharif c09648c349 Add a missing 0 in fog.glsl 3 years ago
Cody Glassman 03616ae2d3 Fix undeclared shader variable 3 years ago
glassmancody.info 7b958148d0 better fade 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
Mads Buvik Sandvei b0e4c7e76a [Postprocessing] Stereo integration 3 years ago
Petr Mikheev 3bf18c601c Better fog 3 years ago
cody glassman 04843fed6d moddable post-processing pipeline 3 years ago
psi29a 275bebb066 Merge branch 'Stereo-MR' into 'master'
Stereo

See merge request OpenMW/openmw!1757
3 years ago
madsbuvi 79577f37de Rebase artifacts + cleaned up the remaining unnecessary exposures of stereo awareness. 3 years ago
cody glassman 276cb6f170 clamp vertex lighting in fragment shader properly 3 years ago
Mads Buvik Sandvei 606a795a54 multiview linker-method 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 164458dc56 shader 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
psi29a d8d7a3b372 Merge branch 'softparticles_patch' into 'master'
Shadervisitor adjustments and Mac OS fix for soft particles

See merge request OpenMW/openmw!1380
3 years ago
glassmancody.info d5cba38f4b shader-based object texture blending 3 years ago
Bret Curtis 9336626927 use OPENMW_RESOURCES_ROOT instead 3 years ago
Bret Curtis a9bf53d4ed modified builtin_scripts to be macOS aware; simplified things as the SHADER and MYGUI dir were just pointing to the OpenMW_BINARY_DIR anyway, so removing the code duplication 3 years ago
glassmancody.info 9389cfaa42 mac os driver workaround and shadervisitor fixes 3 years ago
psi29a 68e7a4083e Merge branch 'master' into 'master'
Overhaul raindrop water ripple effect

Closes #6360

See merge request OpenMW/openmw!1316
3 years ago
psi29a bea8df7dd4 Merge branch 'astoecke-fix-6386-water-reflection' into 'master'
Use `gl_FragCoord`  in `water_fragment.glsl` (fixes #6386)

Closes #6386

See merge request OpenMW/openmw!1347
3 years ago
wareya a1d03d178d Update water_fragment.glsl 3 years ago
Alexei Dobrohotov 9880c43c86 Add specular strength shader parameter 3 years ago
Andreas Stöckel fbc7cf5e65 Fix #6386
Use `gl_FragCoords` instead passing the normalised screen-space coordinates
to the fragment shader in a numerically unstable way.
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
Alexei Dobrohotov 9dd36a345f Fix a typo in nv_default shader 3 years ago
wareya 6d98866be0 Merge remote-tracking branch 'upstream/master' 3 years ago
wareya 9b030e174f removing this part was a mistake, made the ripples more repetitive 3 years ago
wareya e1378cd290 Replace uniform with define 3 years ago
wareya 226d3eac0d Improve performance, add simpler ripples, add a setting, fix nighttime brightness 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 9cbbd2fff5 better transitions 3 years ago
glassmancody.info 1e40d27318 introduce sky shaders 3 years ago
wareya 1848f7f915 Overhaul raindrop water ripple effect 3 years ago
Bret Curtis e581b61ecb check if FORCE_OPAQUE is available before using it. 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
glassmancody.info 81267e7be7 add missing centroid to debug vertex shaders 3 years ago
glassmancody.info 09e03fde2e refactor and fix wobbly shores 3 years ago
glassmancody.info cad0b151cb enable shaders path and dehardcode depth formats 3 years ago
glassmancody.info 70fac33940 initial reverse-z depth implementation 3 years ago
Alexei Dobrohotov 9834fd51af Address shader issues pointed out by AnyOldName3 3 years ago
Alexei Dobrohotov 11694ba87f Correct dark map and detail map alpha handling
Comment texenv usage in NIF loader
3 years ago
psi29a 6949dd89c2 Merge branch 'gui_shaders' into 'master'
Add shader path for mygui (#6162)

See merge request OpenMW/openmw!1019
3 years ago
psi29a a7881b9196 Merge branch 'wobblywater' into 'master'
Wobbly Water: make shorelines wavy when refraction is enabled

See merge request OpenMW/openmw!673
3 years ago
glassmancody.info e8c6f31e0c add shader path for mygui (#6162) 3 years ago
AnyOldName3 84a9facedf Disable coverage adjustment for blended objects 4 years ago
Dobrohotov Alexei ad5ee1aa1c Don't flip NV PPL shader Y axis erroneously 4 years ago
glassmancody.info c48eee4eee Clamp vertex lighting before interpolation
Fixes a regression in which pass lighting was clamped after being passed
to fragment shader. For correct FFP emulation, we need to clamp the result
in vertex shader. When clamping after interpolation, negative lights in
particular have a much more drastic effect.
4 years ago
AnyOldName3 ce3ed28403 Control stomping via settings. 4 years ago
AnyOldName3 87ce1a7351 Explain stomp constants 4 years ago
AnyOldName3 a81dfe9ccc MGE XE-like stomping 4 years ago
AnyOldName3 1737f737df Don't use a vec3 if only two components get read 4 years ago
glassmancody.info 531a6e1979 Code review fixes, remove implicit GLSL casts 4 years ago
glassmancody.info 92033bca64 Fixed error in calculating viewspace sun dir, minor cleanup 4 years ago
glassmancody.info 9e80091aff clear up force shaders and make it less convoluted 4 years ago
glassmancody.info d4e7d25d14 Make life not suck for whoever wants to edit lighting shaders 4 years ago
glassmancody.info eecb9886a9 Shader cleanup, fix indicies 4 years ago
glassmancody.info 4ba473b684 Finalize settings, torch fix 4 years ago
glassmancody.info 71c30a31df in-game settings, some require restart 4 years ago
glassmancody.info 280fd2b162 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info 71f7f30c0b Don't break NV shaders 4 years ago
glassmancody.info d195602a9d Switch to shared layout, some rewording 4 years ago
glassmancody.info 690995988b More formatting, OpenCS cells are unbroken 4 years ago
glassmancody.info 08b5681284 Missed redundant formatting changes 4 years ago
glassmancody.info 328ec85757 Code review cleanup, add setting documentation 4 years ago
glassmancody.info 24454a1698 Switch to integer, uint not reliable in GLSL 120 4 years ago
glassmancody.info ec27e60284 Cutoff conditional in light shader 4 years ago
glassmancody.info 05a5cee132 Brighter point lights and light fade 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
Andrei Kortunov 1ab5a9f530 Revert "Merge branch 'refractiontest' into 'master'"
This reverts commit b31459cc00, reversing
changes made to 369adf1583.
4 years ago
Alexei Dobrohotov 2fdbe9b3f6 Handle BSShader[PP/No]LightingProperty 4 years ago
wareya 2ea0bf91e6 try to estimate vertical water depth, not screen-direction water depth 4 years ago
wareya 56fe1a8c12 wobbly water 4 years ago
wareya 1a4e9df707 add bit to suppress coastline artifacts at more of a distance 4 years ago
wareya bf336e4cb4 make sun scattering color stop being an ugly radioactive green 4 years ago