Morrowind
0 of 0

File information

Last updated

Original upload

Created by

Hemaris

Uploaded by

mwclevername

Virus scan

Safe to use

Tags for this mod

About this mod

Adjusts every vanilla light mesh to enhance the effects of other shader and lighting mods. Compatible with MGE, OpenMW, ReShade, True Lights And Darkness, Enlightened Flames, and just about everything else.

Requirements
Permissions and credits
Changelogs
Donations
Many other mods adjust Morrowind's lighting by changing the settings for cells and light objects (e.g., True Lights and Darkness), or by adding visual effects through in-engine shaders (MGE XE and OpenMW shader packs), or with external post-processing injectors (ReShade). All of them are limited by the janky geometry and material settings found in most of the game's 150-ish candlestick, lantern, torch, and fire meshes. This mod makes comprehensive edits to every mesh used as a light source in Morrowind, Tribunal, or Bloodmoon, as well as most of the unused meshes in the game's \Meshes\L\ folders, so that in-game light fields are actually centered on the flames, smoke and sparks respond correctly to lighting, candlesticks are properly lit by their own flames, and stuff that should glow in the dark actually does so. It achieves this without adding glowmaps to anything, which means it works pluginlessly.

There is also a small, optional pack of replacements for certain vanilla smoke and steam meshes so that they no longer glow in the dark.

Compatibility
This mod is compatible with all shader packs, both game engines, and any other mod which adjusts lighting through plugins and scripts. It is also compatible with any texture replacer for vanilla meshes. You should load this mod after Morrowind Optimization Patch (MOP).

Specific mods which people have asked about:
  • Enlightened Flamesyes, it works with this mod's candle meshes and still does something useful. Only affects candle flames, not light field locations or fires, so it and this mod complement each other.
  • Enlightened Flames OpenMW Patcher — yes, ditto.
  • Glowing Flames — no, it is completely replaced by this mod. I made my light meshes illuminate themselves by adjusting their vertex normals, rather than by adding glowmaps. That means unlit candles don't glow, which removes the need for separate "_off" mesh variants, which in turn removes the need for a plugin to change the meshes used by the game's "off by default" lights.

Performance
This mod retains all of the performance benefits of MOP's light meshes, and extends MOP-style improvements to every light mesh not already covered by MOP.

Why isn't this part of Morrowind Optimization Patch?
The only reason why I'm publishing this as a standalone mod, rather than contributing the meshes to MOP, is that moving the light field attachment points to physically plausible locations on the meshes causes some of them to show increased "green light" artifacts in vanilla clamped lighting. That happens already with most of the vanilla lights, but it becomes more noticeable in some cases with this mod, and that could be considered objectionable for some vanilla purist players.

How do I disable vanilla clamped lighting?
  • MGE XE: open the config program (not the in-game menu) and turn on "per-pixel lighting."
  • OpenMW: open your "settings.cfg" file in a text editor, find the [Shaders] heading (or add it if it doesn't exist), and add the line "clamp lighting = false" (no quotation marks) underneath it.

***


What's different about these meshes?
Background: in Morrowind, if a Light object uses a mesh with an empty NiNode named "AttachLight", the game engine centers the light field on that node. If there is no AttachLight node, then the root node is used instead. Many of the vanilla light meshes have their AttachLight nodes and/or root nodes positioned somewhere far away from the flame-emitting parts of the mesh. There are some cases where I think the AttachLight node was deleted by mistake during TES3's development, but the general policy of attaching the light to somewhere outside of the mesh actually does serve a purpose. In vanilla clamped lighting, anything too close to the center of a light field hits the brightness limit and turns kind of greenish and ugly, an effect sometimes called "greenlighting" among modders. Since there are now shaders and engine changes which unclamp Morrowind's lighting, we can make several types of changes to the light meshes to improve their appearance and realism. Those changes are:

  • Adding or moving AttachLight nodes to a physically plausible location within the flame. This change was necessary for nearly every mesh, and I don't think any previous light mesh replacer mod does this systematically.
  • Adjusting the vertex normals on candlesticks to compensate for the new AttachLight positions. When the light field is closer to the top of the candle, it strikes the candlestick at a shallower angle, causing the wax to look weirdly underilluminated. Glowing Flames compensates for this category of problem by adding glowmaps (emissivity) to the candlesticks, but that creates a new problem — its candlesticks continue to glow even when the Light object has an "off by default" flag, which disables the light field and removes the flame particle emitter. As a result, Glowing Flames needs a plugin to reassign all of the game's off-by-default Light records to use separate meshes without glowmaps, and it would need a compatibility patch for any other mod which added new off-by-default Light records using vanilla meshes. This mod, instead of adding glowmaps, re-orients the vertex normals at the tops of candlesticks to point slightly more upwards, which makes the candle catch more of its own light and still look correct when marked off-by-default.
  • Changing the Emissive color on flame particle materials. (Glowing Flames does this too.) Some of the vanilla light meshes have flame particles with zero/black emissive colors, meaning they rely entirely on the in-game light field to brighten them. That can interact poorly with Light objects defined to have a very small radius, by making the flames appear to not glow.
  • Decreasing the Diffuse and Ambient colors of emissive materials. In the real world, a flame is almost perfectly "black" in the sense of not reflecting any light; if you light a real candle and take it outside in full sun, the candlestick gets brighter but the fire stays the same. In Morrowind, virtually all fire and flame particles have their Diffuse and Ambient colors set to pure white. That doesn't make a visible difference in clamped lighting mode, since a #FFFFFF Emissive color is enough to hit the brightness cap by itself. But in unclamped lighting, an object with white Emissive and white Diffuse and Ambient can end up badly overbrightened in brightly lit scenes, e.g. streetlights outdoors during the day. This mod sets most flames and paper lantern shells to have #3f3f3f (25% gray) Diffuse and Ambient. That's enough for the lights to still "pop" outdoors during the day, but their highlights get less badly blown out. For a comparison of how different Diffuse/Ambient colors affect things, see this Imgsli gallery: https://imgsli.com/MTExNTc2
  • Removing physically incorrect emissive properties from smoke, ash, and steam particle emitters. Some vanilla light meshes have smoke and ash with white emissive colors, making them glow in the dark. Having looked at how all these meshes are structured, I suspect that those cases were mistakes or accidents. I also removed the white emissive colors from some vanilla steam and smoke emitters, e.g. lava vents and chimney smoke, even though those meshes are not used as Light objects per se. But I think that's arguably a little bit out of scope for a lighting mod, so I put those in an optional subfolder.