Post has been reported succesfully.

A feedback area designed for scripting and mods suggestions and feedback. Please note bug reports and support issues will be removed.


Expose rendering abilities in the Bedrock scripting API


Post a new comment:

Please sign in to leave a comment.

  • Avatar
    LynxofCP commented

    I think this has potential to work quite well with the component-based data-driven system that Minecraft is moving towards, if we could define a component as being parameters to the uniforms of a shader, we could tweak graphical features, such as, (for example) blurriness, colour, emission

  • Avatar
    jcm2606 commented

    As a fellow Java Edition shader dev, all of these are paramount to enabling the level of quality the community has come to expect from all the greatest Java Edition shaders, and will send Bedrock forward in terms of shader support by leaps and bounds.

    Several of the things listed here are, to an extent, already possible with Optifine, namely the first 4 points.

    Points 3 and 4 have always been possible, and are used extensively by shaders, however points 1 and 2 are fairly new, and have already revolutionised shaders.

    Point 1 has technically always been possible, though shader devs just didn't realise it was possible, until recently. In the last few months, things not even seen in triple-A games, such as full world-space ray tracing, path tracing, ray traced block lighting coming from glowstone and torches (complete with pixel-perfect soft shadows), correct global illumination, and many more have been introduced to shaders, and several projects have already taken these onboard.

    Point 2 was added within the past year or two, and has allowed shaders to offload several calculations onto the CPU, passing the results into the shader as a custom uniform. This also allows shaders to do things they otherwise couldn't, such as determine which biome the player is in, and smoothly transition between a boolean-like state depending on the biome the player was last in, and which they are currently in.

    Point 5 is not possible with Optifine, and if Bedrock gained this, it would be much more advanced than even current Optifine.

    The kicker, though, is all of this in Optifine is very rigid, and very restrictive, limiting what shader devs can really do. If Bedrock implemented these things in a flexible manner, allowing shader devs to control as much of the process as possible, Bedrock shaders could blow Java shaders completely out of the water.


  • Avatar
    TheWorstPHO commented

    HUGE YES to those suggestions. Bedrock shaders currently suffer from not being able to know where the sun and the moon are currently located, what kind of block is being rendered (is it a cubic solid block? or is it a plant?), where the normal vector is pointing at, and so on. By adding capabilities for controlling shaders from scripts, most of these problems will have gone.

  • Avatar

    ray tracing RTX