着色器·全屏 map-fx-shadertoy-fullscreen
2026年7月20日大约 2 分钟
着色器·全屏 map-fx-shadertoy-fullscreen
自定义 Shadertoy 着色器(全屏)。
放在
map-2d的pieces里;enabled写在节点顶层。数据来源data-input:bind-fields(绑工程连接)或source(引用数据源)。
在线演示
全屏着色器不依赖外部服务与数据源:不传
st-frag即用默认片元(横向流动的极光光带),覆盖整个视口做氛围层。下例空白 CAD 网格图 + 默认片元,仅调fx-color/fx-opacity/fx-bucket;粘贴自己的 ShadertoymainImage片段即可换效果。
属性
| 属性 | 名称 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
fx-color | 叠色 | color | #ffffff | |
fx-opacity | 不透明度 | slider(min=0,max=100,step=1,unit=%) | 100 | |
st-frag | 片元着色器 | string(textarea,rows=8) | void mainImage(out vec4 fragColor, in vec2 fragCoord){ … | |
st-alpha-mode | 混合方式 | select | premul | 可选:premul / opaque / additive / luma / colorKey |
st-res | 虚拟分辨率 | number(min=0,step=32) | 256 | |
st-luma-low | 抠图下限 | number(min=0,max=1,step=0.01) | 0.15 | |
st-luma-high | 抠图上限 | number(min=0,max=1,step=0.01) | 0.4 | |
st-luma-gamma | 抠图伽马 | number(min=0.1,step=0.1) | 1.5 | |
fx-bucket | 绘制层级 | select | topmost | 可选:above / below / topmost |
row-row-filter-mode-id | 选择数据规则 | select(condition) | — |
事件
| 触发器 | 名称 | 配在哪 | payload |
|---|---|---|---|
marker-click | 点击点要素 | map-2d 组件的 options.interactions(运行态按命中图层分流) | 命中要素属性行,公式 {:name} / {:value} 取值 |
region-click | 点击面要素 | 同上 | 同上 |
map-select / map-unselect | 选中 / 取消 | 同上 | 选中项数据 |
事件写在地图组件上而非图层上。图层还支持
feature-panel-uid(点击要素弹锚定窗口)与tooltip-enable(悬停浮层),见属性表。动作端可用mapLayerVisible/mapSetLayerStyle/mapRefreshData等 17 个地图动作,见 2D 地图 · 事件。
示例
{
"type": "map-fx-shadertoy-fullscreen",
"uid": "ly_x",
"enabled": true,
"options": {
"st-frag": "// Shadertoy mainImage 片段"
}
}