Regarding the development of the core engine, I would like to know what everyone thinks

Currently, I have added DeferredLighting.j3md (including Deferred and TiledBasedDeferred) and DeferredPBRLighting.j3md (including Deferred and TiledBasedDeferred) separately, which means that if you need to enable delayed rendering in previous projects, you need to do this:

In addition, there is no need to make any changes, because the material parameters are exactly the same.

Just my two cents

Yes, I think so.

That’s why

Having them separated, could be a maintenance burden because If we want to update matdefs we must be careful to update both files.

Also, should it be possible to switch between forward and deferred via RenderManager.setPreferredLightMode() or something?

1 Like

Can provide similar API methods

1 Like

@JhonKkk I have a question

Are SinglePass, SinglePassAndImageBased modes only related to forward rendering, or can be used with deferred as well?

Sorry if it sounds stupid

Yes, LightMode essentially just updates and uploads the light source to the shader. In fact, it can be used in Forward and Deferred with only minor changes. But for more convenient maintenance, so that the subsequent Clustered Deferred and Forward Plus can better control the light source textures. I implemented the corresponding Logic, such as DeferredSinglePassLigtingLogic, TiledLightingLogic, etc.

1 Like

Hi @JhonKkk

Any progress on this?

I’m back to JME3 again, :wink:

8 Likes