{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreibescph7ahctrzptiggy3zqaf7hkzldwnc5s5cndbtwvnuqvg2n6m",
"uri": "at://did:plc:dxjzgxe7cvirxkwfjr2tjspt/app.bsky.feed.post/3mienkspjudd2"
},
"path": "/t/an-attempt-at-vulkan/49433?page=3#post_44",
"publishedAt": "2026-03-30T02:10:54.000Z",
"site": "https://hub.jmonkeyengine.org",
"textContent": "OpenGL delegates the “name-to-address” translation to the graphics driver (acting as a black box), whereas Vulkan places this burden on you, the engine developer.\n\nOpenGL’s Approach: Driver as a “Nanny” Service\nIn OpenGL, the graphics driver is a complex, monolithic system. When you compile a shader, the driver internally and automatically builds a lookup table or “dictionary”.\n\nMy Current Dilemma:\nShould I emulate OpenGL’s approach by implementing my own dictionary system, or is there a more modern, efficient mapping strategy I should adopt instead?\n\nIn fact, no matter which method is used, modifying the shader is inevitable. But fortunately, the material system of JME can still be used.",
"title": "An attempt at Vulkan"
}