Holds Translucency / Luminosity / Diffuse / SurfOpacity / NeedsUvRepeat / DisableFog keyed by (gfxObjId, surfaceIdx). Populated at extraction time, queried by the draw dispatcher. ConcurrentDictionary because mesh extraction happens on background workers. No fork patches required — keeps WB's MeshBatchData pristine. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
21 lines
651 B
C#
21 lines
651 B
C#
using AcDream.Core.Meshing;
|
|
|
|
namespace AcDream.App.Rendering.Wb;
|
|
|
|
/// <summary>
|
|
/// AC-specific surface render metadata that WB's <c>MeshBatchData</c>
|
|
/// doesn't carry. Computed at mesh-extraction time and looked up by the
|
|
/// draw dispatcher to drive translucency / sky-pass / fog behavior.
|
|
///
|
|
/// <para>
|
|
/// All fields mirror those on today's <see cref="GfxObjSubMesh"/> so
|
|
/// behavior is preserved bit-for-bit through the migration.
|
|
/// </para>
|
|
/// </summary>
|
|
public sealed record AcSurfaceMetadata(
|
|
TranslucencyKind Translucency,
|
|
float Luminosity,
|
|
float Diffuse,
|
|
float SurfOpacity,
|
|
bool NeedsUvRepeat,
|
|
bool DisableFog);
|