Make THREE renderer instance accessible [SOLVED]

WRITE YOUR FEATURE WITH THE FOLLOWING GUIDE

  • What would you like to request: Talk about your feature.

Make threejs variable instance public currently its private runtimeScene.getLayer("").getRenderer()._three or at least runtimeScene.getLayer("").getRenderer().getThreeRenderer()

  • Why you are requesting it: Explain your use case -This is the most important part of the message!- Describe what you’re trying to achieve and the problems that are stoping you from doing so in detail.

Because its needed if you want to add more threejs libraries, custom shaders, optimizing rendering, or integrating advanced visual effects. For example, I’m trying to implement a specific post-processing effect that requires manipulating the context directly, which isn’t feasible with the current setup, making this variable public would make GDevelop’s 3D system much more powerful and user-friendly for those of us looking to go beyond the basics.

developers can only do so much with:
runtimeScene.getLayer("").getRenderer().getThreeScene(), runtimeScene.getLayer("").getRenderer().getThreeCamera(), .. etc

1 Like

Current workaround is overlay and no blending, accessing internal threejs will make it better Watch cropped1743099285063 | Streamable

1 Like

We totally need it if we could get shadders

nevermind found it
runtimeScene.getGame().getRenderer().getThreeRenderer();
thanks @darkstick!