Jump to content

Recommended Posts

Posted

In this post, I will compare volumetric lighting and particles in Ultra with Leadwerks.

1- Volumetric Lighting

The volumetric lighting in Ultra Engine is very poor, so I recommend the volumetric lighting from Leadwerks 4.6 to be brought to Ultra. Because;


1.1- The volumetric lighting in Leadwerks looks realistic than Ultra. (Check 1st photo)
1.2 -The volumetric illumination value cannot be increased directly; to do so, the “brightness” of the light must be increased.
1.3 -Causes an FPS drop (I'm not sure if this is only happening to me)
1.4 -When you move a little away from the light source, the volumetric lighting is not visible.
1.5 -Volumetric lighting in Leadwerks dynamically emits light based on surrounding objects. in Ultra, volumetric lighting is static. (Check 2nd photo)

1st_photo.thumb.png.2eb6919f07f4248a284e53bb814ac809.png     2nd_photo.thumb.png.ec4ba2c9d34ee470fa58dd43f8cf4dbc.png

 

 

 


In other words, the current volumetric lighting in Ultra is an incomplete feature. 

2- Particle Effects

I'll speak for myself about particle effects:
The particle effect settings are confusing. I can never get the particle effect I want. For example, I couldn't figure out how to change the speed of my particle effect in ultra. Or the alpha value, duration time etc... Also, the curve editor in Leadwerks was a good feature. 

 

For example, I don't think such a particle could be produced in the same way in ultra: 

 

The particle effect in Leadwerks had more features and was easier to understand. At least, I knew what I was doing in Leadwerks.

 

ultra_particle.png.89b935d3fa4c7c28ea9daefe0585352f.png       hah.png.13502bcf79048617d0eef06d25512604.png

 

 

  • Like 4
  • 2 weeks later...
Posted
On 9/30/2025 at 1:14 PM, Qulex3 said:

1.1- The volumetric lighting in Leadwerks looks realistic than Ultra. (Check 1st photo)
1.2 -The volumetric illumination value cannot be increased directly; to do so, the “brightness” of the light must be increased.
1.3 -Causes an FPS drop (I'm not sure if this is only happening to me)
1.4 -When you move a little away from the light source, the volumetric lighting is not visible.
1.5 -Volumetric lighting in Leadwerks dynamically emits light based on surrounding objects. in Ultra, volumetric lighting is static. (Check 2nd photo)

  1. It's pretty hard to compare them directly. You can probably fine-tune a screenshot to make either look good.
  2. You can control volumetric intensity per-light with the light alpha color.
  3. Of course it does, it's a ray-marching effect applied to the whole screen.
  4. The effect has a limited distance it covers.
  5. I don't understand what this means. The volumetric effect in both renderers responds dynamic to moving objects.

In Leadwerks 4 volumetric lighting is drawn when the light is rendered. The ray marching effect is only performed inside the light volume. In a situation with a few small lights onscreen, this can have some advanateges. In Leadwerks 5 volumetric is a full-screen post-processing effects. It performs a ray march for each screen pixel (at 25% resolution). In situations where you have an outdoor light or many overlapping lights filling the screen, this may have an advantage.

If I move lighting into a deferred step, which may overall produce faster or slower results (most likely it will be faster in some situations and slower in other situations) it will give me the ability to try implementing volumetic lighting as part of the light rendering routine, which is not possible in the clustered forward+ rendering approach that Leadwerks 5 and id Software use. So that would be worth experimenting with, at that time.

On 9/30/2025 at 1:14 PM, Qulex3 said:

The particle effect in Leadwerks had more features and was easier to understand. At least, I knew what I was doing in Leadwerks.

Those look almost identical. I simplified the start/end size parameters because I thought the node chart was overly complicated, and I have never needed it once.

For animted particles, I am planning to do this as part of a new feature that will support multiple variations of a texture / material ("skins"). Basically every 2D texture will be treated as a 2D array texture and there will be a per-entity index that can be used to indicate with layer of the 2D array texture to display. At the same time, this would be a handy way to store animation frames in a standard DDS file. This will require additional texture tools to make it easy to control, and I have to try it out and make sure it is even a good idea, but that's what I have in mind and I would rather wait and make it a part of that system.

  • Like 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Posted
6 hours ago, Josh said:
  1. It's pretty hard to compare them directly. You can probably fine-tune a screenshot to make either look good.
  2. You can control volumetric intensity per-light with the light alpha color.
  3. Of course it does, it's a ray-marching effect applied to the whole screen.
  4. The effect has a limited distance it covers.
  5. I don't understand what this means. The volumetric effect in both renderers responds dynamic to moving objects.

1- I don't understand what you mean. It already looks the same in the game as it does in the screenshot. 
2- The light alpha value can be set to a maximum of 255, and when the alpha value is 255, it is difficult to tell whether there is volumetric light present. (Check 1st photo) To address this, you should increase the brightness value, but this will increase the brightness of surrounding objects. A system like the one in Leadwerks, where we can adjust the 'volumetric light only' value, should be implemented. (Check 2nd photo)
3- Of course there will be an FPS drop, but what I want to mention is that when volumetric light is enabled on Ultra, the FPS drops significantly. I compared the FPS values in Leadwerks and Ultra. (Check 3rd and 4rd photo)

4- Why is this happening? If the player moves slightly away from the light source, the volumetric light disappears, which looks bad visually and is very distracting to the player. (Check 1st gif)
5- What I meant was that in Leadwerks 4.6, volumetric lighting takes shape according to the object the light hits. In other words, it emits volumetric light according to the objects around it. However, I've now noticed that this feature is also available in Ultra, but it seems to look worse than Leadwerks. (Check videos)

I'll talk about particle effects later, I'm busy.

image.thumb.png.90061268d3af35998caf9b00cdcac922.png

 

ultr2.png.fdfb1261bc400f92928c9bfd4c9b9827.png

 

 

 

 

ultr3.thumb.png.63736e1b69ba47ca90933e5be596103a.png

 

ultr4.thumb.png.f90dd88e0d1348a1659933e7c9d03dbe.png

 

ultra.thumb.gif.fe86cced2e526f4c9a0f55d3080cbe9d.gif

 

 

 

  • Like 1
Posted
2 minutes ago, Qulex3 said:

4- Why is this happening? If the player moves slightly away from the light source, the volumetric light disappears, which looks bad visually and is very distracting to the player. (Check 1st gif)

Because it's a post-processing effect. It traces a ray through space at each pixel, away from the camera. At each point it stops and checks what lights affect that pixel, and increases the brightness. You can't take infinite samples without tanking the framerate, so it's balanced with max number of samples and max distance.

  • Like 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Posted
6 minutes ago, Josh said:

Because it's a post-processing effect. It traces a ray through space at each pixel, away from the camera. At each point it stops and checks what lights affect that pixel, and increases the brightness. You can't take infinite samples without tanking the framerate, so it's balanced with max number of samples and max distance.

For these reasons you shouldn't use volumetric lighting as a “post effect.” I don't know its technical name, but I think volumetric lighting should be a feature embedded in the engine, like in Leadwerks, rather than a post effect

 

  • Like 1
Posted
15 minutes ago, Qulex3 said:

For these reasons you shouldn't use volumetric lighting as a “post effect.” I don't know its technical name, but I think volumetric lighting should be a feature embedded in the engine, like in Leadwerks, rather than a post effect

A post-effect is the only way to do it when you are using the style of rendering id Software is using. I think fading out with distance is a reasonable way to handle this, the Leadwerks 4 volumetric affect would have had to do the same with directional lights. But if I do move lighting into a deferred step then this can be reconsidered.

  • Like 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Posted
23 hours ago, Josh said:

I thought the node chart was overly complicated, and I have never needed it once.

What makes you think the node chart is “overly complicated”? The logic is simple: the node chart represents the particle lifetime from left to right and allows you to change the alpha and size values of the particle at any time. 

The particle size setting in Ultra only changes the size at the particle's start and end points. But thanks to the node chart in Leadwerks, you can change the size and alpha values of the particle at any point you want. 

 

As shown in this video, I change the size value of the particle at the point I want in Leadwerks.

 

  • Like 2
Posted

If it was really needed, the same could be done by adding an optional curve function you select from a drop down list. I just don't see the nodes as being very useful, it takes a long time to program a widget like that, then the result doesn't fit into the UI very well, and the benefit just doesn't seem to be there.

  • Like 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Posted

Oh yeah, the alpha also automatically does a small fade in at the beginning, so the particles don't pop into view all at once.

  • Like 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...