跳到主要内容
← Built-In functions

Built-In functions

Step Union

![[Pasted image 20250510121700.png]]

实时渲染 · 2D 片段 GLSL

第 17 课:Step Union

我的解:![[Pasted image 20250510121700.png]]

我的解

uniform vec2 iResolution;

float stepUnion(float x, float borderSize){
  float r0 = 1.0 - step(borderSize, x);
  float r1 = step(1.0-borderSize, x);
  return max(r0, r1);
}

void main() {
  // Normalized pixel coordinates (from 0 to 1)
  vec2 uv = gl_FragCoord.xy / iResolution.xy;
  float borderSizeX = 50.0/iResolution.x;
  float borderSizeY = 50.0/iResolution.y;
  gl_FragColor = vec4(uv.xy*(max(stepUnion(uv.x,borderSizeX),stepUnion(uv.y,borderSizeY))), 0.0, 1.0);
}

复盘笔记

  • ![[Pasted image 20250510121700.png]]