1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-04-12 16:06:43 +00:00
openmw/files/shaders
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
..
alpha.glsl Disable coverage adjustment for blended objects 2021-07-04 23:29:22 +01:00
blended_depth_postpass_fragment.glsl temporary fix for artifacts in transparent post-pass 2022-07-31 18:51:42 -07:00
blended_depth_postpass_vertex.glsl [Postprocessing] Stereo integration 2022-06-21 15:55:06 +00:00
CMakeLists.txt rain occlusion 2023-01-06 22:23:03 -08:00
debug_fragment.glsl all debug renders now use the same shader and it works 2022-09-11 17:54:01 +02:00
debug_vertex.glsl all debug renders now use the same shader and it works 2022-09-11 17:54:01 +02:00
depth.glsl enable shaders path and dehardcode depth formats 2021-08-04 17:39:11 -07:00
fog.glsl Support sky blending in multiview mode 2022-07-09 22:21:48 +02:00
fullscreen_tri_fragment.glsl moddable post-processing pipeline 2022-05-15 10:03:58 -07:00
fullscreen_tri_vertex.glsl [Postprocessing] Stereo integration 2022-06-21 15:55:06 +00:00
groundcover_fragment.glsl fix pass normals 2023-01-19 09:28:51 -08:00
groundcover_vertex.glsl moddable post-processing pipeline 2022-05-15 10:03:58 -07:00
gui_fragment.glsl multiview linker-method 2022-04-28 21:09:06 +02:00
gui_vertex.glsl multiview linker-method 2022-04-28 21:09:06 +02:00
hdr_luminance_fragment.glsl temporary fix for auto exposure 2022-07-22 20:41:08 -07:00
hdr_resolve_fragment.glsl temporary fix for auto exposure 2022-07-22 20:41:08 -07:00
lighting.glsl remove object shader path 2021-10-25 10:23:16 -07:00
lighting_util.glsl allow soft particles on meshes and add extra data extensions 2022-06-29 18:15:12 -07:00
multiview_resolve_fragment.glsl [Postprocessing] Stereo integration 2022-06-21 15:55:06 +00:00
multiview_resolve_vertex.glsl [Postprocessing] Stereo integration 2022-06-21 15:55:06 +00:00
nv_default_fragment.glsl fix pass normals 2023-01-19 09:28:51 -08:00
nv_default_vertex.glsl Rebase artifacts + cleaned up the remaining unnecessary exposures of stereo awareness. 2022-04-29 17:35:24 +02:00
nv_nolighting_fragment.glsl Better fog 2022-06-21 02:21:20 +02:00
nv_nolighting_vertex.glsl multiview linker-method 2022-04-28 21:09:06 +02:00
objects_fragment.glsl fix pass normals 2023-01-19 09:28:51 -08:00
objects_vertex.glsl rain occlusion 2023-01-06 22:23:03 -08:00
openmw_fragment.glsl Support sky blending in multiview mode 2022-07-09 22:21:48 +02:00
openmw_fragment.h.glsl Support sky blending in multiview mode 2022-07-09 22:21:48 +02:00
openmw_fragment_multiview.glsl Support sky blending in multiview mode 2022-07-09 22:21:48 +02:00
openmw_vertex.glsl [Postprocessing] Stereo integration 2022-06-21 15:55:06 +00:00
openmw_vertex.h.glsl [Postprocessing] Stereo integration 2022-06-21 15:55:06 +00:00
openmw_vertex_multiview.glsl [Postprocessing] Stereo integration 2022-06-21 15:55:06 +00:00
parallax.glsl Flip the parallax offset Y component based on tangent parity (Bug #3440) 2016-06-16 18:07:10 +02:00
precipitation_fragment.glsl rain occlusion 2023-01-06 22:23:03 -08:00
precipitation_vertex.glsl rain occlusion 2023-01-06 22:23:03 -08:00
s360_fragment.glsl multiview linker-method 2022-04-28 21:09:06 +02:00
s360_vertex.glsl multiview linker-method 2022-04-28 21:09:06 +02:00
shadowcasting_fragment.glsl multiview linker-method 2022-04-28 21:09:06 +02:00
shadowcasting_vertex.glsl multiview linker-method 2022-04-28 21:09:06 +02:00
shadows_fragment.glsl Add optional shadow map max distance and fading 2019-11-02 18:06:39 +03:00
shadows_vertex.glsl Don't use FFP-friendly texture image units for shadow maps 2023-02-05 00:40:33 +00:00
sky_fragment.glsl tmp_sun_fix 2022-07-05 23:47:23 -07:00
sky_vertex.glsl Rebase artifacts + cleaned up the remaining unnecessary exposures of stereo awareness. 2022-04-29 17:35:24 +02:00
skypasses.glsl introduce sky shaders 2021-10-23 17:53:38 -07:00
softparticles.glsl better fade 2022-06-30 08:23:28 -07:00
terrain_fragment.glsl fix pass normals 2023-01-19 09:28:51 -08:00
terrain_vertex.glsl Rebase artifacts + cleaned up the remaining unnecessary exposures of stereo awareness. 2022-04-29 17:35:24 +02:00
vertexcolors.glsl Clean up shader lighting 2020-12-22 04:46:35 +03:00
water_fragment.glsl fix pass normals 2023-01-19 09:28:51 -08:00
water_nm.png New water WIP 2015-10-29 00:25:23 +01:00
water_vertex.glsl multiview linker-method 2022-04-28 21:09:06 +02:00