瀏覽代碼

avoid ifs in shaders

feature/replace-renderer
Martin Dørum 3 年之前
父節點
當前提交
94a21688aa
共有 1 個文件被更改,包括 3 次插入8 次删除
  1. 3
    8
      libcygnet/src/shaders.cc

+ 3
- 8
libcygnet/src/shaders.cc 查看文件

@@ -103,14 +103,9 @@ const char *rectFr = R"glsl(
uniform vec2 size;

void main() {
// TODO: This probably shouldn't be an if?
if (
v_coord.x < THICKNESS || v_coord.x > size.x - THICKNESS ||
v_coord.y < THICKNESS || v_coord.y > size.y - THICKNESS) {
gl_FragColor = vec4(0.6, 0.6, 0.6, 0.8);
} else {
gl_FragColor = vec4(0, 0, 0, 0);
}
vec2 invCoord = size - v_coord;
float minDist = min(v_coord.x, min(v_coord.y, min(invCoord.x, invCoord.y)));
gl_FragColor = vec4(0.6, 0.6, 0.6, 0.8) * float(minDist < THICKNESS);
}
)glsl";


Loading…
取消
儲存