Mods / Mirrors
- Tags:
- Author:
- Cheeki
- Side:
- Both
- Created:
- Jul 7th at 5:50 PM
- Last modified:
- Jul 7th at 6:17 PM
- Downloads:
- 362
-
Latest release (for Vintage Story 1.22.0-pre.1 - 1.22.3, potentially outdated):
Mirrors.V1.0.0.zip 1-click install
Adds mirrors with planar reflections.
Mirrors are crafted in various ways, please refer to the in game handbook. The short version is:
Polished metal plates: metal plates + lime, gets you a mirror with a tinted reflection.
Glass panels + silver nitrate: gets you a transparent glass with reflections on both sides
Silvered glass mirror: silver dust + saltpeter gets you nitrate. Add nitrate to limewater to make silvering solution, put glass panels in, wait, you have a silvered mirror with a perfect reflection.
Can be configured with Config Lib or by editing mirrors.yaml in ModConfig
Keep all of these coplanar (on the same plane as each other) for less performance drain.
Recursive mirrors are very performance expensive and are turned off by default.
Rifts will not be reflected.
Volumetric clouds will not be reflected.
Water viewed through the reflection will not have depth.
OIT is skipped in recursive bounces (glass or water or anything along those lines will not render)
When running this mod with Renderer Mangler, recursive mirrors are forcibly turned off.
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 1.0.0 | mirrorz | 362 | Jul 7th at 6:17 PM | Empty | Mirrors.V1.0.0.zip | 1-click install |




Your modlist is gigantic and I am not going through it checking every mod.
Possibly it's optimum but I cannot confirm as that won't install on my computer.
Otherwise it's some mod that ships shader overrides. Not sure which of those does.
Edit: it's SheyderMod.
I see, thank you. Welp, in this incompatibiltiy SheyderMod wins, sorry lol
I'll provide compat whenever I'll get around to it. Low priority.
Edit
Though thinking about it, it's a moving target. Updates fairly frequently, and whatever compat I provide might break at any time for changes on their side I cannot predict.
I'll provide compat, but only once. After that the onus is on them. My patching system allows for external compatibility patches for this reason.
That looks like a cool mod.
What is the issue? Maybe we can work on a solution
@@target chunkopaque.fsh
@@priority 20
@@atomic
@@patch mirror_clip_uniforms_patch
op: insert_after
match: literal
@@pattern
uniform float horizonFog;
@@content
uniform vec3 rmMirrorClipN;
uniform vec3 rmMirrorClipP;
uniform float rmMirrorClipPull;
uniform float rmMirrorClipEnable;
@@end
@@patch mirror_clip_discard_patch
op: insert_before
match: regex
@@pattern
vec4 texColor\s*=\s*mappedTex\s*\*\s*rgba;
@@content
if (rmMirrorClipEnable > 0.5 && dot(rmMirrorClipN, worldPos.xyz - rmMirrorClipP) + rmMirrorClipPull < 0.0) discard;
@@end
add this under your mod /assets/mirrors/config/shaderpatches/sheyder_mirrorpatch.txt
my mod will pick it up automatically and not make the game crash due to missing uniforms
what you need to keep updated is the @@pattern if you make breaking changes to chunkopaque.fsh (or other patches present in this mod)
mediocre documentation is available below. darkvision, mirrors and renderermangler use the same shader patching system, present in the repo below.
basically compare what the mod patches are looking for in the vanilla shader code and what you do in your shader code. if you change what they are looking for they will fail and and you have to change it yourself accordingly in your mod. if your mod is present, it gets picked up and everything works fine.
https://codeberg.org/Luigi-delle-Bicocche/darkvision/src/branch/main/darkvision/assets/darkvision/config/shaderpatches/documentation
I implemented it and it just works. This compatibility layer will be included in the next update.
I will also include this, if possible, for darkvision and renderermangler.
Actually i am not touching standard shaders that much. Most of the code is provided by an include and is designed to touch the standard code as little as possible but i keep it in mind when playing around. Though i don't think there will be any graphical effect, that makes sense, that changes chunkopaque.fsh in such a significant way.
I do not think darkvision nor renderermangler need compat. DV seemed to work fine at a glance, renderermangler, most of your shader features do not work due to how renderermangler mangles the renderer (true to its name)
Not a shader issue that one.
How do these work on a technical level? Is it like a camera that records everything in front of it?
Very roughly, yes. It's a bit more involved than that.
AWESOME
this is so cool yo.
10/10 thumbnail
the lupine