完成主要交互、高性能组件、国际化和A型传感器数据包接收
This commit is contained in:
@@ -7,6 +7,7 @@ uniform vec2 uViewport;
|
||||
// 以像素为单位的网格间距:细网格/粗网格
|
||||
uniform float uMinorStep;
|
||||
uniform float uMajorStep;
|
||||
uniform bool uLightMode;
|
||||
|
||||
// 生成抗锯齿网格线(返回 0..1,1 表示在线上)
|
||||
float gridLine(float stepPx) {
|
||||
@@ -22,21 +23,28 @@ float gridLine(float stepPx) {
|
||||
void main() {
|
||||
vec2 viewport = max(uViewport, vec2(1.0));
|
||||
vec2 uv = gl_FragCoord.xy / viewport; // 0..1
|
||||
|
||||
vec3 topCol, botCol, minorCol, majorCol;
|
||||
float minorStrength, majorStrength;
|
||||
float vignettePow, vignetteStrength;
|
||||
|
||||
// 背景渐变:上更亮、下稍灰,常见 3D 软件的“科技感”底色
|
||||
vec3 topCol = vec3(0.99, 0.99, 1.00);
|
||||
vec3 botCol = vec3(0.94, 0.95, 0.98);
|
||||
topCol = vec3(0.99, 0.99, 1.00);
|
||||
botCol = vec3(0.94, 0.95, 0.98);
|
||||
|
||||
minorCol = vec3(0.80, 0.82, 0.87);
|
||||
majorCol = vec3(0.70, 0.73, 0.80);
|
||||
|
||||
minorStrength = 0.22;
|
||||
majorStrength = 0.35;
|
||||
vignettePow = 0.12;
|
||||
vignetteStrength = 0.35;
|
||||
vec3 col = mix(botCol, topCol, uv.y);
|
||||
|
||||
// 网格线:细线 + 粗线(每隔一段更深一点)
|
||||
float minor = gridLine(max(uMinorStep, 1.0));
|
||||
float major = gridLine(max(uMajorStep, 1.0));
|
||||
|
||||
vec3 minorCol = vec3(0.80, 0.82, 0.87);
|
||||
vec3 majorCol = vec3(0.70, 0.73, 0.80);
|
||||
|
||||
col = mix(col, minorCol, minor * 0.22);
|
||||
col = mix(col, majorCol, major * 0.35);
|
||||
col = mix(col, minorCol, minor * minorStrength);
|
||||
col = mix(col, majorCol, major * majorStrength);
|
||||
|
||||
// 轻微 vignette(四角略暗),让画面更“聚焦”
|
||||
vec2 p = uv * 2.0 - 1.0;
|
||||
|
||||
Reference in New Issue
Block a user