{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreihytpudpmvm6phglvw2v5uudfbspnk647xmmlgyf6ei5surjo3r34",
    "uri": "at://did:plc:dxjzgxe7cvirxkwfjr2tjspt/app.bsky.feed.post/3mhnk2qbjotr2"
  },
  "path": "/t/an-attempt-at-vulkan/49433?page=2#post_32",
  "publishedAt": "2026-03-19T22:28:14.000Z",
  "site": "https://hub.jmonkeyengine.org",
  "textContent": "\n            SlangMaterialSystem.initialize(assetManager);\n            // Load material just like any jME material\n            Material mat = assetManager.loadMaterial(\"Materials/PbrRed.slangmat\");\n            Sphere mesh = new Sphere(32, 32, 2f);\n            Geometry geom = new Geometry(\"sphere\", mesh);\n            geom.setMaterial(mat);\n            rootNode.attachChild(geom);\n\n\nso i guess, with enough spare time slang is an option for the future. it requires some postprocessing for glsl, but full reflection and modules are working.\n\n\n    SlangMaterial {\n        MaterialDef: Shaders/ComposablePBR.slang\n        Specialize: BlinnPhongBRDF\n        Specialize: FlatNormal\n        Vector3 baseColor: 0.2 0.6 0.8\n    }\n\n    SlangMaterial {\n        MaterialDef: Shaders/ComposablePBR.slang\n        Specialize: CookTorranceBRDF\n        Specialize: HemisphereNormal\n        Vector3 baseColor: 0.9 0.9 0.9\n    }\n\n\nspecialization works too.",
  "title": "An attempt at Vulkan"
}