▸case-01 Write a Python script using mesh processing logic to generate reduced geometry for a 3D asset. A naive approach would be sampling vertices every N units along a spatial grid, but explain and implement the standard quadric error metric (QEM) edge collapse algorithm that minimizes surface geometric error while preserving shape. Detail how quadric matrices evaluate collapse cost. | pass→pass | 34,180 | 53,733 | +57% | 1 | 1 | 0% | 6,890 | 8,084 | +17% | 0 | 0 | — |
▸case-02 When decimating a character model mesh with texture coordinates in Blender's Python API (`bpy.ops.object.modifier_add`), a developer might be tempted to leave UV boundary options default, causing UV seams to tear. Provide a Python code snippet using `bpy` that configures a Decimate modifier specifically instructing the engine to preserve UV topology boundaries during mesh reduction. | pass→pass | 9,789 | 11,425 | +17% | 1 | 1 | 0% | 1,590 | 1,858 | +17% | 0 | 0 | — |
▸case-03 When creating LOD1 for a hard-surface sci-fi crate in Unreal Engine 5 or Blender, simply reducing polygon count recomputes vertex normals and smooths sharp metal edges. Developers often try increasing the normal smoothing angle threshold to fix this. Provide the technical pipeline approach for transferring high-poly normal details onto the simplified low-poly LOD mesh surface. | pass→fail | 20,966 | 18,237 | -13% | 1 | 1 | 0% | 2,906 | 2,783 | -4% | 0 | 0 | — |
▸case-04 When generating LOD2 for an animated character skeletal mesh in Unity, removing vertices while leaving all original bone influences intact causes excessive skinning overhead on the GPU. Developers often try keeping all bone weights active. Explain how bone reduction and skin weight re-mapping should be handled for lower skeletal mesh LODs. | pass→pass | 20,327 | 20,632 | +2% | 1 | 1 | 0% | 3,405 | 3,237 | -5% | 0 | 0 | — |
▸case-05 A graphics developer is setting up 4 LOD tiers (LOD0 through LOD3) for a static prop in a game engine. A linear polycount reduction strategy (e.g., 100%, 85%, 70%, 55%) is tempting. What is the recommended geometric reduction progression across successive LOD tiers to optimize memory and rendering performance? | pass→pass | 14,321 | 13,689 | -4% | 1 | 1 | 0% | 2,444 | 2,289 | -6% | 0 | 0 | — |
▸case-06 In a scene with 500 individual fence posts and lamp posts rendered at a distance of 150 meters, applying standard per-object LOD3 still results in 500 draw calls. A junior developer suggests lowering the triangle count of each fence post to 2 triangles. Provide the structural solution that solves the draw call bottleneck for distant object clusters. | pass→pass | 14,099 | 16,417 | +16% | 1 | 1 | 0% | 2,317 | 2,397 | +3% | 0 | 0 | — |
▸case-07 When combining 30 distinct building meshes into an HLOD proxy mesh, keeping all 30 source materials attached to the merged mesh fails to reduce draw calls. Developers often attempt to override all materials with a single flat color shader. Explain the material processing technique required to retain visual detail while collapsing materials into a single draw call. | pass→pass | 15,142 | 13,939 | -8% | 1 | 1 | 0% | 2,438 | 2,270 | -7% | 0 | 0 | — |
▸case-08 When configuring automatic HLOD generation in a large open-world level, grouping objects by their parent actor folder in the scene outliner seems convenient. Explain the spatial partitioning algorithm structure used by game engines to group nearby meshes into HLOD clusters based on world space bounds. | pass→pass | 22,162 | 16,856 | -24% | 1 | 1 | 0% | 2,919 | 2,817 | -3% | 0 | 0 | — |
▸case-09 When generating an HLOD proxy mesh for a complex architectural building containing interior furniture and hidden rooms, a naive merge includes all interior polygons in the outer proxy. Explain the geometric occlusion or projection technique used during HLOD proxy generation to strip unseen interior geometry. | pass→pass | 15,689 | 17,896 | +14% | 1 | 1 | 0% | 2,512 | 2,848 | +13% | 0 | 0 | — |
▸case-10 In Unreal Engine 5 open world design, developers often apply the same mesh reduction settings across all viewing distances. Describe the functional distinction between HLOD Layer 1 (HLOD1) and HLOD Layer 2 (HLOD2) for distant background scenery. | fail→pass | 15,506 | 16,566 | +7% | 1 | 1 | 0% | 2,582 | 2,668 | +3% | 0 | 0 | — |
▸case-11 A game camera moves back and forth around 50 meters from a static asset, causing rapid, flickering switching between LOD0 and LOD1. A developer tries fixing this by smoothing camera movement speed. What mathematical threshold mechanism should be implemented in the LOD evaluation system to prevent this popping state oscillation? | pass→pass | 9,848 | 8,817 | -10% | 1 | 1 | 0% | 1,851 | 1,794 | -3% | 0 | 0 | — |
▸case-12 When switching between LOD meshes in Unreal Engine or Unity, geometric pop is noticeable. A developer considers increasing the number of intermediate LOD meshes from 4 to 12. Provide the shader-level transition technique that smoothly blends between two LOD levels without adding extra geometry meshes. | pass→pass | 16,253 | 15,018 | -8% | 1 | 1 | 0% | 2,752 | 2,811 | +2% | 0 | 0 | — |
▸case-13 An engineer calculates LOD transitions using raw 3D distance `length(camera_pos - object_pos)`. However, changing the camera field-of-view (FOV) from 90 to 30 degrees breaks the LOD selection. Provide the projection formula metric that should be evaluated instead of world distance. | pass→pass | 9,974 | 9,872 | -1% | 1 | 1 | 0% | 1,940 | 1,858 | -4% | 0 | 0 | — |
▸case-14 In an isometric strategy game using an orthographic camera, calculating camera-to-object distance for LOD selection results in incorrect LOD switches when panning across a flat terrain. Explain how LOD selection must be calculated under orthographic projection. | pass→pass | 16,322 | 16,226 | -1% | 1 | 1 | 0% | 2,605 | 2,759 | +6% | 0 | 0 | — |
▸case-15 Write a C++ or C# code snippet that evaluates whether an object should switch from LOD0 to LOD1 based on screen coverage. A naive implementation uses `if (screen_size < 0.15) set_lod(1); else set_lod(0);`. Modify this logic to prevent rapid oscillation when screen coverage hovers near 0.15. | pass→pass | 11,181 | 10,067 | -10% | 1 | 1 | 0% | 2,289 | 2,061 | -10% | 0 | 0 | — |
▸case-16 For rendering thousands of distant trees in a dense forest, traditional camera-facing billboard quads rotate unrealistically as the player moves around them and fail under vertical camera angles. Describe the multi-view imposter technique that samples a mesh from points distributed across a sphere or hemisphere using octahedral mapping. | pass→pass | 17,947 | 20,100 | +12% | 1 | 1 | 0% | 2,905 | 3,257 | +12% | 0 | 0 | — |
▸case-17 A massive mountain peak located 20 kilometers away in a flight simulator consumes 50,000 polygons. A developer considers building an LOD5 mesh with 1,000 polygons. What is the minimal-geometry imposter technique used to represent distant, static background elements with a single 2D quad? | pass→pass | 10,063 | 8,983 | -11% | 1 | 1 | 0% | 1,478 | 1,350 | -9% | 0 | 0 | — |
▸case-18 When viewing a 2D billboard tree imposter from an oblique angle, it looks completely flat and lacks surface self-occlusion. Developers often try adding extra intersecting planes. What texture map technique is applied to a single quad imposter to simulate 3D surface depth and parallax offset? | pass→pass | 9,151 | 13,253 | +45% | 1 | 1 | 0% | 1,525 | 2,096 | +37% | 0 | 0 | — |
▸case-19 An imposter billboard for a rock asset looks natural during daylight, but when dynamic lights move past it at night, the imposter remains flatly lit according to the baked scene lighting. How should texture channels be configured during imposter baking to support dynamic lighting? | pass→fail | 13,444 | 16,577 | +23% | 1 | 1 | 0% | 1,895 | 2,282 | +20% | 0 | 0 | — |
▸case-20 When baking a 3D tree asset into an imposter billboard, saving 64 separate PNG image files for different camera angles creates file overhead. Explain how viewing angles are structured into a single texture resource for runtime sampling. | pass→pass | 16,891 | 15,940 | -6% | 1 | 1 | 0% | 2,823 | 2,858 | +1% | 0 | 0 | — |
▸case-21 A developer wants to optimize physics performance by setting the detailed LOD3 visual mesh (1000 tris) as the physics collision mesh for a dynamic rigid body prop. Explain why visual rendering LODs should not be used as physics collision meshes, and state the correct collision geometry representation. | pass→pass | 13,025 | 16,464 | +26% | 1 | 1 | 0% | 2,112 | 2,582 | +22% | 0 | 0 | — |
▸case-22 During directional light shadow map rendering, rendering LOD0 for distant background trees causes severe GPU shadow pass bottlenecks. Developers often try turning off shadow casting entirely. What LOD evaluation override technique should be applied during shadow depth pass rendering? | pass→pass | 13,782 | 12,191 | -12% | 1 | 1 | 0% | 2,117 | 1,935 | -9% | 0 | 0 | — |
▸case-23 Write a C++ function that takes a camera's 6 frustum planes and an axis-aligned bounding box (AABB) to determine if the object is visible. A developer wonders if this involves mesh decimation or distance hysteresis. Provide the exact mathematical dot product plane test for view frustum culling. | pass→fail | 14,916 | 12,931 | -13% | 1 | 1 | 0% | 3,081 | 2,964 | -4% | 0 | 0 | — |
▸case-24 A mobile game team needs to select texture compression formats for iOS and Android deployment to reduce VRAM consumption. A developer asks if LOD mesh switching or imposter atlasing is used for texture decompression. Recommend the standard cross-platform GPU block compression formats for modern mobile hardware. | pass→pass | 13,886 | 16,396 | +18% | 1 | 1 | 0% | 2,431 | 2,444 | +1% | 0 | 0 | — |
▸case-25 Write an HLSL or GLSL vertex shader code snippet that simulates wind sway on grass blade vertices using a sine wave function based on world position and vertex color height weighting. A developer asks if this requires generating HLOD proxy meshes or baking octahedral imposters. Provide the vertex shader displacement implementation. | pass→pass | 15,169 | 12,506 | -18% | 1 | 1 | 0% | 2,621 | 2,415 | -8% | 0 | 0 | — |