完成主要交互、高性能组件、国际化和A型传感器数据包接收
This commit is contained in:
@@ -12,18 +12,18 @@ out vec3 vWorldPos;
|
||||
|
||||
uniform mat4 uMVP; // Projection * View * Model(这里 Model 约等于单位矩阵)
|
||||
uniform float uDotRadius; // dot 半径(世界坐标单位)
|
||||
uniform float uBaseY; // dot 的高度(通常 = panel 顶面 y + 一点点偏移)
|
||||
uniform float uBaseZ; // dot 的高度(通常 = panel 顶面 y + 一点点偏移)
|
||||
|
||||
void main() {
|
||||
vUV = aUV;
|
||||
vValue = iValue;
|
||||
|
||||
// 先确定 dot 的中心点(世界坐标)
|
||||
vec3 world = vec3(iOffsetXZ.x, uBaseY, iOffsetXZ.y);
|
||||
vec3 world = vec3(iOffsetXZ.x, iOffsetXZ.y, uBaseZ);
|
||||
|
||||
// 再把单位 quad 按半径缩放并加到中心点上(让 quad 落在 XZ 平面)
|
||||
world.x += qQuadPos.x * uDotRadius;
|
||||
world.z += qQuadPos.y * uDotRadius;
|
||||
world.y += qQuadPos.y * uDotRadius;
|
||||
|
||||
// 输出裁剪空间坐标(最终会进行透视除法与视口映射,变成屏幕上的像素)
|
||||
vWorldPos = world;
|
||||
|
||||
Reference in New Issue
Block a user