- PhysicsWorld:Jolt 集成,Dynamic/Kinematic/Static 刚体,姿态写回 Transform(Unity FixedUpdate 语义,吃 scaled dt,暂停自动冻结) - 碰撞体:Box(默认/手动 halfExtents)+ Mesh 碰撞体(Static→精确 MeshShape / Dynamic·Kinematic→ConvexHull,数据源 = Mesh ctor 缓存 的 CPU 位置副本,退化三角剔除,失败回退 Box 并告警) - PhysicsDebugPass:物理调试图元每帧上传绘制(debug_line shader) - Time:引擎时间单源(BeginFrame 落定 FrameTime,scaled/unscaled 分离) - JoltPhysics 以 submodule 接入(官方 url)
20 lines
512 B
GLSL
20 lines
512 B
GLSL
#version 450
|
||
|
||
// 物理调试图元:世界空间线段/三角形,颜色透传(unlit)。
|
||
// viewProj 经 push constant 下发(proj × view,与 Forward 同源),
|
||
// 无描述符 set——调试图元不依赖任何纹理/缓冲。
|
||
|
||
layout(location = 0) in vec3 inPos;
|
||
layout(location = 1) in vec4 inColor;
|
||
|
||
layout(location = 0) out vec4 outColor;
|
||
|
||
layout(push_constant) uniform PC {
|
||
mat4 viewProj;
|
||
} pc;
|
||
|
||
void main() {
|
||
gl_Position = pc.viewProj * vec4(inPos, 1.0);
|
||
outColor = inColor;
|
||
}
|