Skip to content

Fix raytracing material texture selection - #171

Merged
anirul merged 3 commits into
masterfrom
codex/raytrace-material-atlas
Apr 25, 2026
Merged

Fix raytracing material texture selection#171
anirul merged 3 commits into
masterfrom
codex/raytrace-material-atlas

Conversation

@anirul

@anirul anirul commented Apr 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • Preserve per-source opaque/transmissive material textures in raytracing by building shared texture atlases and remapping source UVs into the atlas tiles.
  • Carry atlas UV bounds through OpenGL and Vulkan aggregate/skinning paths so static and GPU-updated geometry samples the correct material tile.
  • Add a multi-material raytracing sample scene and OpenGL/Vulkan regressions for multiple opaque glTF materials.
  • Mark OpenGL-dependent CTest cases, including JSON tests that construct OpenGL-backed objects, and exclude them from GitHub-hosted Windows CI while aligning Linux/Windows PR triggers.

Tests

  • git diff --check
  • cmake --preset windows
  • ctest --test-dir build\windows -C Debug -N -L requires-opengl
  • ctest --test-dir build\windows -C Debug -N -LE requires-opengl
  • ctest --test-dir build\windows -C Debug --output-on-failure -LE requires-opengl (82/82 passed)
  • FrameOpenGLTest.exe --gtest_filter="OpenGLRayTracingLevelTest.ImportsGltfGlassMaterialFromIco:OpenGLRayTracingLevelTest.ImportsGltfOpaqueSpecularFromPlate:OpenGLRayTracingLevelTest.BuildsOpaqueAtlasForMultipleOpaqueGltfMaterials"
  • FrameVulkanTest.exe --gtest_filter="VulkanRayTracingDualParseTest.ImportsGltfGlassMaterialFromIco:VulkanRayTracingDualParseTest.ImportsGltfOpaqueSpecularFromPlate:VulkanRayTracingDualParseTest.BuildsOpaqueAtlasForMultipleOpaqueGltfMaterials"

Notes

  • Windows CI intentionally excludes tests labeled requires-opengl; Linux keeps OpenGL coverage through xvfb/Mesa.
  • The new asset/json/raytracing_multi_material.json scene was JSON-validated but not manually launched.

@anirul
anirul force-pushed the codex/raytrace-material-atlas branch from 4d32775 to 7fcd44f Compare April 24, 2026 06:23
@anirul
anirul merged commit 522a459 into master Apr 25, 2026
2 checks passed
@anirul
anirul deleted the codex/raytrace-material-atlas branch April 25, 2026 08:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant