particle_ext Material Type - PrismaticFlower/shaderpatch GitHub Wiki

A material type that let's you tweak your particles in various ways.

Works the same way as other material type, give the material the name of a stock texture being used by a particle and it'll be used for particles using that texture.

An important note is this material type can only be applied to particles. (Lightsabers and blaster bolts are drawn as particles.) You can exepect to get a crash if you attempt to use it on other geometry.

Lightsaber/Blast Bolt Thoughts

In general you'd probably use this material type to help get that pesky lightsaber bloom under control. Though the tips I'm about to give should be equally useful for blaster bolts as well.

Firstly in your Shader Patch versions of the color maps for the lightsabers you should edit out (or just create new textures) the white core and replace it with a solid color (or pattern if you really wanted, it's your mod go crazy). The important thing is that it gets replaced with the color of the lightsaber. This needs to be done because the white core in the texture is typically where the washed-out bloom comes from with vanilla lightsabers and we don't need it because we can add it back using bloom and tonemapping.

Second after applying this material type you'll likely notice the secondary particle that makes up a lightsaber in the game. This is what gives it it's glow, even when bloom is disabled. The name of it is lightsabreglow.tga, depending on if you like the look of it or not you may want to replace this texture with a 1x1 completely transparent texture and get rid of it for all your new fancy lightsabers.

An easy way to do this (if you don't care about the texture being missing when SP isn't active) is to put a 1x1 fully transparent texture in your side (or in your ingame) folder and then add a reference to that texture. If you're unsure how to do that you basically add this:

    REQN
    {
        "texture"
        "lightsabreglow"
    }

Right under this:

ucft
{

Next expect to have to hone in both the brightness of the lightsaber using either EmissivePower or a HDR texture like and also the bloom settings themselves. (Intensity and threshold.) A GlobalEmissivePower setting maybe exposed to the effects system in the future to make honing stuff like this across multiple maps easier. (Since each map will likely need different bloom settings, if that does sound useful to you feel free to speak up.)

The final tip I can give is that in order to help with getting the look right for lightsabers is to throw tonemapping at the problem. Specifically the ACES Tonemapper, it has properties that make it potentially very useful for mimicking the characteristic look of lightsabers.

As always play around with it, find what works for your mod/map and if you have any questions or need help feel free to ask.

Material Properties

All properties have reasonable defaults so there is no need to specify them all in your config if you do not want.

UseAnisotropicFiltering

  • Type: bool
  • Default: false

Whether to use anisotropic filtering when sampling the textures or not. By default particles do not use (or need to use) anisotropic filtering but if you have a use case or need for them to you may enable it here.

EmissivePower

Type: float

Value determining how much to increase or decrease the brightness of the particles. 0.0 is no change.

Texture Properties

ColorMap

Sets the color map to use for the particles. Format should be BC7 or BC6H_UF16. If the material will be used with HDR rendering then sRGB should be set to yes.