1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-16 08:59:54 +00:00
Commit graph

298 commits

Author SHA1 Message Date
psi29a
ddd64c893a Merge branch 'noyoudumbtoolyourflipingwrong' into 'master'
Don't flip the water normal map twice

See merge request OpenMW/openmw!4022
2024-04-20 16:39:09 +00:00
Alexei Kotov
537964f8d8 Reconstruct normal Z *properly* 2024-04-18 11:23:58 +03:00
Alexei Kotov
58afe1ba23 Support red-green normal maps 2024-04-15 12:02:52 +03:00
Alexei Kotov
f880ada633 Don't flip the water normal map twice 2024-04-13 00:06:24 +03:00
Alexei Kotov
f2e0129436 Convert water/ripple defines to camelCase 2024-04-04 21:12:47 +03:00
Alexei Kotov
612177be09 Improve some cryptic naming in the water shader 2024-04-04 21:01:14 +03:00
Alexei Kotov
0be7d7fa4c Reduce the amount of redundant code in the water shader 2024-04-04 21:01:14 +03:00
Alexei Kotov
fbe84f4668 Remove underwater fog radialization remnants
The fog is now view-independent so this is not something to concern ourselves as with anymore
2024-04-04 21:01:14 +03:00
Alexei Kotov
76105cc2d1 Make sunlight scattering and wobbly shores optional 2024-03-29 10:41:04 +03:00
AnyOldName3
d282fdb77a Eliminate unused uniform 2024-02-20 23:10:03 +00:00
Andrei Kortunov
525dee00f1 Refraction fog based on water depth (feature 5926) 2024-02-08 18:07:48 +04:00
Alexei Kotov
f83a7b711a Don't handle per-vertex normals as tangent space normals 2023-12-30 03:09:56 +03:00
Cody Glassman
c53abd870b Merge branch 'waterscatter' into 'master'
Use sun visibility for sunlight scattering (bug #7309)

Closes #7309

See merge request OpenMW/openmw!3478
2023-12-28 22:18:03 +00:00
psi29a
ff514df5a1 Merge branch 'distortion' into 'master'
Distortion

See merge request OpenMW/openmw!3536
2023-12-26 10:31:51 +00:00
Alexei Kotov
099c39ae87 Use fallback weather ripple settings (bug #7292) 2023-12-23 11:46:08 +03:00
Cody Glassman
187f63d3d3 support postprocess distortion 2023-12-21 10:56:38 -08:00
Alexei Kotov
93ea9dbc3b Do all lighting calculations in one place, support per-vertex specularity
Force PPL when specular maps are used
2023-12-15 11:44:54 +03:00
Alexei Kotov
d1274fd3db Deduplicate lambert calculations, consolidate doLighting 2023-12-15 10:36:47 +03:00
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
2023-12-12 22:42:53 +03:00
Alexei Kotov
9c94058727 Support Oblivion parallax setup 2023-11-27 03:41:51 +03:00
jvoisin
60ec894d8a Merge branch 'lightitupbaby' into 'master'
Support point specular lighting (#6188)

Closes #6188

See merge request OpenMW/openmw!3559
2023-11-08 22:43:42 +00:00
Alexei Kotov
e1cd5250af Use sun visibility for sunlight scattering (bug #7309) 2023-11-07 10:30:26 +03:00
Zackhasacat
231803c6ea Merge branch 'sunvisibility' into 'master'
Make sun specularity behavior more intuitive (bug #6190)

Closes #6190

See merge request OpenMW/openmw!3535
2023-11-05 17:55:27 +00:00
Alexei Kotov
820fc068d1 Support point specular lighting (#6188)
Fix passing light specular colors with shader lighting methods (with help from wazabear)
2023-11-04 17:58:51 +03:00
Alexei Kotov
12abd30e9f Make sun specularity behavior more intuitive (bug #6190)
Remove sun visibility influence on object specularity
Subdue sun visibility influence on water specularity
2023-10-29 04:11:40 +03:00
Cody Glassman
09928ba265 use a dynamic falloff range for soft effect and use shader flags 2023-10-28 10:23:55 -07:00
AnyOldName3
606a0eea8f Get rid of obsolete comment
The matrix in question was removed by !2682
2023-10-23 19:28:54 +00:00
Petr Mikheev
63d5bd6f8a Apply soft effect to nifs marked with soft effect flag (developed by Cody Glassman) 2023-09-27 20:41:52 +02:00
Alexei Dobrohotov
52a16e0e93 BSEffectShader/NoLighting fixes
Don't hijack BSShader::NoLighting for BSEffectShader functionality
(Fallout meshes break if you use the actual emissive color as a base color)
Don't use falloff for textureless NoLighting objects
Use falloff flag for BSEffectShader
2023-07-09 14:44:09 +03:00
Petr Mikheev
115f1e9800 Fix tree shadows when TreeAnim flag is used 2023-05-29 18:47:27 +02:00
Petr Mikheev
788a4d32aa Handle DoubleSided and TreeAnim flags in BSLightingShaderProperty. 2023-05-29 18:47:27 +02:00
Andrei Kortunov
1be1f72f6c Improve shaders formatting 2023-04-21 09:02:12 +04:00
psi29a
b0a129d6e4 Merge branch 'ripples' into 'master'
Implement shader-based water ripples

See merge request OpenMW/openmw!2877
2023-04-02 22:43:22 +00:00
Andrei Kortunov
909e301dc6 Increase distotion level 2023-04-02 14:02:40 +04:00
Andrei Kortunov
295f528f08 Use Allman brackets 2023-04-02 13:31:06 +04:00
Mads Buvik Sandvei
e666f36b60 [Multiview] Fix transparent pass and vertex shader 2023-04-01 20:27:07 +00:00
Andrei Kortunov
e17281ac67 Implement shader-based water ripples (feature 3537) 2023-04-01 17:26:19 +04:00
Cody Glassman
6a64f352a4 fix shader compilation 2023-02-26 14:31:53 -08:00
psi29a
4faa1bf3e8 Merge branch 'moo-bitch-get-out-my-hay' into 'master'
Don't use FFP-friendly texture image units for shadow maps

Closes #7102

See merge request OpenMW/openmw!2682
2023-02-25 23:12:32 +00:00
Cody Glassman
ac4787aeec shade refactor 2023-02-25 11:03:39 -08:00
Alexei Kotov
2de81738c1 Implement the basics of BSEffectShaderProperty 2023-02-20 00:23:00 +03:00
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