1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-16 17:29:55 +00:00
Commit graph

307 commits

Author SHA1 Message Date
Alexei Kotov
0142caacf7 Use falloff start and stop opacity in NoLighting shader 2023-02-11 23:19:26 +03:00
glassmancody.info
e778ffee9b po2 scaling for average luminance 2023-02-05 12:30:38 -08:00
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.
2023-02-05 00:40:33 +00:00
glassmancody.info
897ee702d1 move water normal to vfs 2023-01-29 11:14:08 -08:00
glassmancody.info
27fe8d42ae fix pass normals 2023-01-19 09:28:51 -08:00
glassmancody.info
9a4977d334 rain occlusion 2023-01-06 22:23:03 -08:00
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
2022-09-11 17:54:01 +02:00
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
2022-09-11 17:53:59 +02:00
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
2022-09-11 17:53:56 +02:00
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
2022-09-11 17:53:53 +02:00
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
2022-09-11 17:53:51 +02:00
florent.teppe
76008e1ff8 Multiple shapes to draw
adds wireCube primitive

scale of the command taken into account

shading light is more vertical
2022-09-11 17:53:47 +02:00
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
2022-09-11 17:53:41 +02:00
glassmancody.info
02ded8832c temporary fix for artifacts in transparent post-pass 2022-07-31 18:51:42 -07:00
glassmancody.info
fd4966f77a temporary fix for auto exposure 2022-07-22 20:41:08 -07:00
Petr Mikheev
b3c8c8eb56 Support sky blending in multiview mode 2022-07-09 22:21:48 +02:00
glassmancody.info
89bc756732 tmp_sun_fix 2022-07-05 23:47:23 -07:00
Abdu Sharif
c09648c349 Add a missing 0 in fog.glsl 2022-07-04 17:31:03 +00:00
Cody Glassman
03616ae2d3 Fix undeclared shader variable 2022-07-01 14:34:59 +00:00
glassmancody.info
7b958148d0 better fade 2022-06-30 08:23:28 -07: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
Mads Buvik Sandvei
b0e4c7e76a [Postprocessing] Stereo integration 2022-06-21 15:55:06 +00:00
Petr Mikheev
3bf18c601c Better fog 2022-06-21 02:21:20 +02:00
cody glassman
04843fed6d moddable post-processing pipeline 2022-05-15 10:03:58 -07:00
psi29a
275bebb066 Merge branch 'Stereo-MR' into 'master'
Stereo

See merge request OpenMW/openmw!1757
2022-04-30 16:40:09 +00:00
madsbuvi
79577f37de Rebase artifacts + cleaned up the remaining unnecessary exposures of stereo awareness. 2022-04-29 17:35:24 +02:00
cody glassman
276cb6f170 clamp vertex lighting in fragment shader properly 2022-04-28 20:02:13 -07:00
Mads Buvik Sandvei
606a795a54 multiview linker-method 2022-04-28 21:09:06 +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
164458dc56 shader fixes 2022-04-27 17:43:51 +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
psi29a
d8d7a3b372 Merge branch 'softparticles_patch' into 'master'
Shadervisitor adjustments and Mac OS fix for soft particles

See merge request OpenMW/openmw!1380
2022-01-06 13:13:52 +00:00
glassmancody.info
d5cba38f4b shader-based object texture blending 2021-12-30 17:08:43 -08:00
Bret Curtis
9336626927 use OPENMW_RESOURCES_ROOT instead 2021-12-08 14:33:49 +01:00
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 2021-12-08 14:28:56 +01:00
glassmancody.info
9389cfaa42 mac os driver workaround and shadervisitor fixes 2021-11-20 18:39:20 -08:00
psi29a
68e7a4083e Merge branch 'master' into 'master'
Overhaul raindrop water ripple effect

Closes #6360

See merge request OpenMW/openmw!1316
2021-11-13 21:44:25 +00:00
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
2021-11-12 22:05:05 +00:00
wareya
a1d03d178d Update water_fragment.glsl 2021-11-12 06:55:19 +00:00
Alexei Dobrohotov
9880c43c86 Add specular strength shader parameter 2021-11-10 19:58:06 +03:00
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.
2021-11-09 23:25:06 -05: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
Alexei Dobrohotov
9dd36a345f Fix a typo in nv_default shader 2021-11-07 16:02:27 +03:00
wareya
6d98866be0 Merge remote-tracking branch 'upstream/master' 2021-11-06 11:44:12 -04:00
wareya
9b030e174f removing this part was a mistake, made the ripples more repetitive 2021-10-31 15:52:54 -04:00
wareya
e1378cd290 Replace uniform with define 2021-10-31 13:18:19 -04:00
wareya
226d3eac0d Improve performance, add simpler ripples, add a setting, fix nighttime brightness 2021-10-31 10:33:28 -04: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
9cbbd2fff5 better transitions 2021-10-24 17:13:42 -07:00
glassmancody.info
1e40d27318 introduce sky shaders 2021-10-23 17:53:38 -07:00
wareya
1848f7f915 Overhaul raindrop water ripple effect 2021-10-22 21:33:32 -04:00
Bret Curtis
e581b61ecb check if FORCE_OPAQUE is available before using it. 2021-10-06 08:05:10 +02: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
glassmancody.info
81267e7be7 add missing centroid to debug vertex shaders 2021-08-07 18:04:11 -07:00
glassmancody.info
09e03fde2e refactor and fix wobbly shores 2021-08-04 17:49:57 -07:00
glassmancody.info
cad0b151cb enable shaders path and dehardcode depth formats 2021-08-04 17:39:11 -07:00
glassmancody.info
70fac33940 initial reverse-z depth implementation 2021-08-04 17:39:11 -07:00
Alexei Dobrohotov
9834fd51af Address shader issues pointed out by AnyOldName3 2021-07-29 22:28:05 +03:00
Alexei Dobrohotov
11694ba87f Correct dark map and detail map alpha handling
Comment texenv usage in NIF loader
2021-07-29 04:48:59 +03:00
psi29a
6949dd89c2 Merge branch 'gui_shaders' into 'master'
Add shader path for mygui (#6162)

See merge request OpenMW/openmw!1019
2021-07-25 21:37:39 +00:00
psi29a
a7881b9196 Merge branch 'wobblywater' into 'master'
Wobbly Water: make shorelines wavy when refraction is enabled

See merge request OpenMW/openmw!673
2021-07-25 21:35:52 +00:00
glassmancody.info
e8c6f31e0c add shader path for mygui (#6162) 2021-07-22 15:55:30 -07:00
AnyOldName3
84a9facedf Disable coverage adjustment for blended objects 2021-07-04 23:29:22 +01:00
Dobrohotov Alexei
ad5ee1aa1c Don't flip NV PPL shader Y axis erroneously 2021-05-03 01:34:54 +03:00
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.
2021-04-22 16:53:37 -07:00
AnyOldName3
ce3ed28403 Control stomping via settings. 2021-04-18 21:44:23 +01:00
AnyOldName3
87ce1a7351 Explain stomp constants 2021-04-18 20:31:33 +01:00
AnyOldName3
a81dfe9ccc MGE XE-like stomping 2021-04-18 20:31:33 +01:00
AnyOldName3
1737f737df Don't use a vec3 if only two components get read 2021-04-18 20:31:32 +01:00
glassmancody.info
531a6e1979 Code review fixes, remove implicit GLSL casts 2021-04-13 11:09:54 -07:00
glassmancody.info
92033bca64 Fixed error in calculating viewspace sun dir, minor cleanup 2021-04-13 11:09:49 -07:00
glassmancody.info
9e80091aff clear up force shaders and make it less convoluted 2021-04-13 11:09:49 -07:00
glassmancody.info
d4e7d25d14 Make life not suck for whoever wants to edit lighting shaders 2021-04-13 11:09:49 -07:00
glassmancody.info
eecb9886a9 Shader cleanup, fix indicies 2021-04-13 11:09:49 -07:00
glassmancody.info
4ba473b684 Finalize settings, torch fix 2021-04-13 11:09:49 -07:00
glassmancody.info
71c30a31df in-game settings, some require restart 2021-04-13 11:09:49 -07:00
glassmancody.info
280fd2b162 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 2021-04-13 11:09:35 -07:00
glassmancody.info
71f7f30c0b Don't break NV shaders 2021-04-13 11:09:35 -07:00
glassmancody.info
d195602a9d Switch to shared layout, some rewording 2021-04-13 11:09:35 -07:00
glassmancody.info
690995988b More formatting, OpenCS cells are unbroken 2021-04-13 11:09:35 -07:00
glassmancody.info
08b5681284 Missed redundant formatting changes 2021-04-13 11:09:35 -07:00
glassmancody.info
328ec85757 Code review cleanup, add setting documentation 2021-04-13 11:09:35 -07:00
glassmancody.info
24454a1698 Switch to integer, uint not reliable in GLSL 120 2021-04-13 11:09:35 -07:00
glassmancody.info
ec27e60284 Cutoff conditional in light shader 2021-04-13 11:09:35 -07:00
glassmancody.info
05a5cee132 Brighter point lights and light fade 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
Andrei Kortunov
1ab5a9f530 Revert "Merge branch 'refractiontest' into 'master'"
This reverts commit b31459cc00, reversing
changes made to 369adf1583.
2021-03-30 15:32:01 +04:00
Alexei Dobrohotov
2fdbe9b3f6 Handle BSShader[PP/No]LightingProperty 2021-03-22 01:55:58 +03:00
wareya
2ea0bf91e6 try to estimate vertical water depth, not screen-direction water depth 2021-03-20 13:11:19 -04:00
wareya
56fe1a8c12 wobbly water 2021-03-19 21:49:17 -04:00
wareya
1a4e9df707 add bit to suppress coastline artifacts at more of a distance 2021-03-19 20:12:40 -04:00
wareya
bf336e4cb4 make sun scattering color stop being an ugly radioactive green 2021-03-19 18:51:52 -04:00