用途:生成一个自包含的 index.html,全屏渲染实时粒子系统,并在其上叠加简洁的排版文字。核心特点是每个粒子的位置都在 GPU 上计算,CPU 不逐粒子循环。
主要能力:使用 g_VertexID 读取顶点,哈希出稳定的逐粒子种子,推导对数螺旋轨道与内快外慢的旋转曲线;用一次 gl.drawArrays(gl.POINTS, 0, N) 绘制数万至五万点;采用加法混合(blendFunc(ONE, ONE) 配合预乘颜色)实现发光。示例为 50,000 点的 WebGL2 星系。
使用方式:先通读 example.html。选择顶点着色器能廉价表达的运动:螺旋星系(默认)、吸引子或流场、爆炸与重组。构建单文件、零外部请求,即使无属性也绑定 VAO。在顶点着色器设置 gl_PointSize(钳制并考虑 DPR),片元着色器用 gl_PointCoord 加高斯衰减做柔和圆点。在深色清屏色上做加法混合并预乘颜色。着色器编译需记录错误日志。叠加层标题不超过 15 字符并配一行说明,文字不遮挡粒子。
适用场景:需要 GPU 粒子可视化的网页展示与设计预览;OpenDesign 检测到 getContext('webgl2') 后用跨源隔离 iframe 进行增强预览。
限制:需支持 WebGL2,否则降级为提示信息而非空白页;需保持约 60fps 与窗口缩放清晰。具体收费、价格与平台支持范围暂未提供。