{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreifhzztqoamdr6267fexugpvedyze4ienzw3chp4o2ak5jpgc6pevy",
"uri": "at://did:plc:dxjzgxe7cvirxkwfjr2tjspt/app.bsky.feed.post/3mh333lxmszm2"
},
"path": "/t/an-attempt-at-vulkan/49433#post_8",
"publishedAt": "2026-03-14T18:34:18.000Z",
"site": "https://hub.jmonkeyengine.org",
"textContent": "The shader is filled with a large number of macro commands.\n\nThis made my revisions extremely difficult.\n\nMy current idea is to perform the check at the front end rather than at the Vulkan backend.\n\nThat is to say: Before the Shader is handed over to the Renderer, you have already obtained the source and defines for each stage.\n\nAt this point, pure string patches (such as replacing macro guards, correcting attributes/varyings, inserting layouts, etc.) can be performed.\nStatic checks can also be conducted (such as balancing #if/#endif, checking for bare uniforms, and verifying if there are duplicate locations, etc.)\n\nOf course, this is just a theory.",
"title": "An attempt at Vulkan"
}