feat: Jolt 物理系统——刚体/碰撞体/物理调试图元 + 引擎时间单源
- 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)
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
#version 450
|
||||
|
||||
layout(location = 0) in vec4 inColor;
|
||||
layout(location = 0) out vec4 outColor;
|
||||
|
||||
void main() {
|
||||
// HDR 的 a = 窗口透过率语义(透明窗口与桌面合成):调试图元
|
||||
// 永远不透明(a=1),rgb 直写线性 HDR 值
|
||||
outColor = vec4(inColor.rgb, 1.0);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
#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;
|
||||
}
|
||||
Reference in New Issue
Block a user