一个太阳加两个聚光的深度阴影,1-4 级联由一份设置结构体全权控制——分辨率、级联数、偏置与过滤半径。
// 灯要开 casts_shadow(方向/聚光有效)
xge3d_light_desc_t tSun = xge3dLightDefault(XGE3D_LIGHT_DIRECTIONAL);
tSun.casts_shadow = 1;
// 渲染描述里带阴影设置;NULL 则完全跳过 shadow pass
xge3d_shadow_settings_t tShadow = xge3dShadowDefault();
tShadow.resolution = 2048;
tShadow.cascades = 4; // 1..4
tDesc.shadows = &tShadow;
xge3dRender(pRenderer, pScene, &tDesc, &tStats);split_lambda 非线性切成 cascades 段,近处密远处疏。XGE3D_MAX_CASCADES 4、XGE3D_MAX_SHADOW_SPOTS 2——一个方向光 + 两个聚光阴影。渲染统计 xge3d_render_stats_t 里有 shadow_draw_calls 与 shadow_maps,实时验证阴影开销;LOD 与阴影使用同一相机层级选择。