{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreibdenyx4stbuhvutda2r7y2wfvmys3qh45r3o25ddikt75gpr2gxy",
"uri": "at://did:plc:dxjzgxe7cvirxkwfjr2tjspt/app.bsky.feed.post/3mkxmmvyym6i2"
},
"path": "/t/an-assessment-of-slang/49581#post_2",
"publishedAt": "2026-05-03T15:42:46.000Z",
"site": "https://hub.jmonkeyengine.org",
"textContent": "I disagree on some parts, but i agree that integrating anything other then glsl requires a major change of the material system and is probably out of scope currently.\n\nThat said, the g_ m_ prefixes are likely a leftover and honestly a pain in the ass.\nthe guild in macros are working fine, but in the end spirv and slang even more support far more advanced features like interfaces that should easily replace the macros.\nAny modern technique requires and/or prefers reading the variables from a buffer anyways. so already that removes the existence if m_ g_ parameters.\n\nSlang can output glsl directly, there is no need for reconvert spirv.\n\none additional benefit of slang is the shader reflection which allows you to query offsets for all members of a struct in a buffer. in glsl you require manual parsing of the glsl to know what buffer layout has to be used, and then map accordingly to the bytebuffer. Just beeing able to get this information for free is priceless.\n\nI have written a prove of concept that renders the on opengl/vulcan/webgpu/teavm-gl/graal-wasm-gl using slang, so it is possible and working.",
"title": "An assessment of slang"
}