procedural-3d-engine/shaders/slang/_rename.py

83 lines
3.7 KiB
Python
Raw Normal View History

# Copyright (C) 2025 by Sascha Willems - www.saschawillems.de
# This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
from shutil import move
# To match required file names to fother shading languages that don't support multiple entry points, shader files may need to be renamed for some samples
def checkRenameFiles(samplename):
mappings = {}
match samplename:
case "displacement":
mappings = {
"displacement.vert.spv": "base.vert.spv",
"displacement.frag.spv": "base.frag.spv",
}
case "geometryshader":
mappings = {
"normaldebug.vert.spv": "base.vert.spv",
"normaldebug.frag.spv": "base.frag.spv",
}
case "raytracingbasic":
mappings = {
"raytracingbasic.rchit.spv": "closesthit.rchit.spv",
"raytracingbasic.rmiss.spv": "miss.rmiss.spv",
"raytracingbasic.rgen.spv": "raygen.rgen.spv",
}
case "raytracingcallable":
mappings = {
"raytracingcallable.rchit.spv": "closesthit.rchit.spv",
"raytracingcallable.rmiss.spv": "miss.rmiss.spv",
"raytracingcallable.rgen.spv": "raygen.rgen.spv",
}
case "raytracinggltf":
mappings = {
"raytracinggltf.rchit.spv": "closesthit.rchit.spv",
"raytracinggltf.rmiss.spv": "miss.rmiss.spv",
"raytracinggltf.rgen.spv": "raygen.rgen.spv",
"raytracinggltf.rahit.spv": "anyhit.rahit.spv",
}
case "raytracingpositionfetch":
mappings = {
"raytracingpositionfetch.rchit.spv": "closesthit.rchit.spv",
"raytracingpositionfetch.rmiss.spv": "miss.rmiss.spv",
"raytracingpositionfetch.rgen.spv": "raygen.rgen.spv",
}
case "raytracingreflections":
mappings = {
"raytracingreflections.rchit.spv": "closesthit.rchit.spv",
"raytracingreflections.rmiss.spv": "miss.rmiss.spv",
"raytracingreflections.rgen.spv": "raygen.rgen.spv",
}
case "raytracingsbtdata":
mappings = {
"raytracingsbtdata.rchit.spv": "closesthit.rchit.spv",
"raytracingsbtdata.rmiss.spv": "miss.rmiss.spv",
"raytracingsbtdata.rgen.spv": "raygen.rgen.spv",
}
case "raytracingshadows":
mappings = {
"raytracingshadows.rchit.spv": "closesthit.rchit.spv",
"raytracingshadows.rmiss.spv": "miss.rmiss.spv",
"raytracingshadows.rgen.spv": "raygen.rgen.spv",
}
case "raytracingtextures":
mappings = {
"raytracingtextures.rchit.spv": "closesthit.rchit.spv",
"raytracingtextures.rmiss.spv": "miss.rmiss.spv",
"raytracingtextures.rgen.spv": "raygen.rgen.spv",
"raytracingtextures.rahit.spv": "anyhit.rahit.spv",
}
case "raytracingintersection":
mappings = {
"raytracingintersection.rchit.spv": "closesthit.rchit.spv",
"raytracingintersection.rmiss.spv": "miss.rmiss.spv",
"raytracingintersection.rgen.spv": "raygen.rgen.spv",
"raytracingintersection.rint.spv": "intersection.rint.spv",
}
case "viewportarray":
mappings = {
"scene.geom.spv": "multiview.geom.spv",
}
for x, y in mappings.items():
move(samplename + "\\" + x, samplename + "\\" + y)