ixDarkLorD Posted May 2, 2023 Posted May 2, 2023 (edited) I'm having trouble finding a way to access uniforms in the shader programs. What I'm trying to do is when there is an active post-effect I need a way to access the program's uniforms with codes in order to make changes in real-time. public static void activeShader(ResourceLocation shader) { var renderer = Minecraft.getInstance().gameRenderer; renderer.loadEffect(shader); } "shaders/program/testing.json" { "blend": { "func": "add", "srcrgb": "one", "dstrgb": "zero" }, "vertex": "sobel", "fragment": "darklight:testing", "attributes": [ "Position" ], "samplers": [ { "name": "DiffuseSampler" }, { "name": "PrevSampler" } ], "uniforms": [ { "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }, { "name": "InSize", "type": "float", "count": 2, "values": [ 1.0, 1.0 ] }, { "name": "OutSize", "type": "float", "count": 2, "values": [ 1.0, 1.0 ] }, { "name": "VoidSize", "type": "float", "count": 1, "values": [ 1.0 ] } ] } Edited May 2, 2023 by ixDarkLorD Quote
ChampionAsh5357 Posted May 3, 2023 Posted May 3, 2023 18 hours ago, ixDarkLorD said: What I'm trying to do is when there is an active post-effect I need a way to access the program's uniforms with codes in order to make changes in real-time. You can make changes to the shader json realtime anyways by just reloading the assets with F3 + R iirc. If you want to set the uniforms manually, you can grab them from the ShaderInstance via #getUniform and then calling #set. Quote
Recommended Posts
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.