{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreibabqk5wraeaszsetukrsjlj2y2twahskbuybo4rvbo3bmkonvmby",
    "uri": "at://did:plc:dxjzgxe7cvirxkwfjr2tjspt/app.bsky.feed.post/3mg7uhfnpdni2"
  },
  "path": "/t/march-2026-monthly-wip-screenshot-thread/49428#post_2",
  "publishedAt": "2026-03-01T21:50:57.000Z",
  "site": "https://hub.jmonkeyengine.org",
  "tags": [
    "gist.github.com",
    "https://gist.github.com/zzuegg/0cb2ce951b42948e244bd1173e99b9ce",
    "show original"
  ],
  "textContent": "Shadersunday.\n \n\ntesting the layouting and effects shaders. all sdf based, textrendering (text/outline/glow) and panel with borders, (background/border/glow) and on each channel one of the effects can be applied.\n\ngist.github.com\n\n#### https://gist.github.com/zzuegg/0cb2ce951b42948e244bd1173e99b9ce\n\n##### UiEffects.glsllib\n\n\n    vec3 applyLayerEffect(vec3 color, vec4 effect, vec4 effectColor, vec2 coord, float time) {\n        int type = int(effect.x);\n        float speed = effect.y;\n        float intensity = effect.z;\n        float scale = effect.w;\n        bool hasColor = effectColor.a > 0.0;\n        // 1: ripple — concentric rings expanding from center\n        if (type == 1) {\n            float dist = length(coord);\n            float ripple = sin(dist * 0.3 * scale - time * speed * 5.0) * 0.5 + 0.5;\n\nThis file has been truncated. show original",
  "title": "(March 2026) Monthly WIP Screenshot Thread"
}