├── .clang-format ├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── LICENSE ├── README.md ├── demo ├── bmw.png ├── cbox.png ├── coffee.png ├── glass_bunny.png ├── honkai.png ├── panther.png ├── siga_ma.png ├── stormtrooper.png └── substance_boy.png ├── docker └── Dockerfile ├── scripts ├── exr2hdr.py ├── revert_normal.py └── split_metallic_roughness.py └── src ├── context ├── context.cpp └── context.h ├── core ├── alloc.h ├── bounding_box.h ├── camera.cpp ├── camera.h ├── instance.cpp ├── instance.h ├── integrator.h ├── light.cpp ├── light.h ├── material.cpp ├── material.h ├── mesh.cpp ├── mesh.h ├── primitive.h ├── state.h ├── texture.cpp └── texture.h ├── ext ├── json.hpp ├── libnpy │ └── include │ │ └── libnpy │ │ └── npy.hpp └── tqdm.h ├── loader ├── loader.cpp ├── loader.h ├── material.cpp └── utils.h ├── main.cpp ├── pipeline ├── pipeline.cpp ├── pipeline.h ├── pipeline_graphics.cpp ├── pipeline_graphics.h ├── pipeline_post.cpp ├── pipeline_post.h ├── pipeline_raytrace.cpp └── pipeline_raytrace.h ├── scene ├── scene.cpp └── scene.h ├── shaders ├── bxdf │ ├── raytrace.brdf_conductor.rchit │ ├── raytrace.brdf_disney.rchit │ ├── raytrace.brdf_emissive.rchit │ ├── raytrace.brdf_kang18.rchit │ ├── raytrace.brdf_lambertian.rchit │ ├── raytrace.brdf_mirror.rchit │ ├── raytrace.brdf_pbr_metalness_roughness.rchit │ ├── raytrace.brdf_phong.rchit │ ├── raytrace.brdf_plastic.rchit │ ├── raytrace.brdf_rough_conductor.rchit │ ├── raytrace.brdf_rough_plastic.rchit │ └── raytrace.bsdf_dielectric.rchit ├── graphics.idle.frag ├── graphics.idle.vert ├── post.buffer2img.comp ├── post.idle.frag ├── post.idle.vert ├── post.img2buffer.comp ├── raytrace.default.rmiss ├── raytrace.projective.rgen ├── raytrace.shadow.rmiss └── utils │ ├── math.glsl │ ├── random.glsl │ ├── rchit_layouts.glsl │ ├── sample_light.glsl │ ├── structs.glsl │ ├── sun_and_sky.glsl │ └── tonemapping.glsl ├── shared ├── binding.h ├── camera.h ├── instance.h ├── light.h ├── material.h ├── pushconstant.h ├── sun_and_sky.h └── vertex.h └── tracer ├── denoiser.cpp ├── denoiser.h ├── gui.cpp ├── tracer.cpp └── tracer.h /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/.clang-format -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/.gitmodules -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/README.md -------------------------------------------------------------------------------- /demo/bmw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/demo/bmw.png -------------------------------------------------------------------------------- /demo/cbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/demo/cbox.png -------------------------------------------------------------------------------- /demo/coffee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/demo/coffee.png -------------------------------------------------------------------------------- /demo/glass_bunny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/demo/glass_bunny.png -------------------------------------------------------------------------------- /demo/honkai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/demo/honkai.png -------------------------------------------------------------------------------- /demo/panther.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/demo/panther.png -------------------------------------------------------------------------------- /demo/siga_ma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/demo/siga_ma.png -------------------------------------------------------------------------------- /demo/stormtrooper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/demo/stormtrooper.png -------------------------------------------------------------------------------- /demo/substance_boy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/demo/substance_boy.png -------------------------------------------------------------------------------- /docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/docker/Dockerfile -------------------------------------------------------------------------------- /scripts/exr2hdr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/scripts/exr2hdr.py -------------------------------------------------------------------------------- /scripts/revert_normal.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/scripts/revert_normal.py -------------------------------------------------------------------------------- /scripts/split_metallic_roughness.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/scripts/split_metallic_roughness.py -------------------------------------------------------------------------------- /src/context/context.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/context/context.cpp -------------------------------------------------------------------------------- /src/context/context.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/context/context.h -------------------------------------------------------------------------------- /src/core/alloc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/alloc.h -------------------------------------------------------------------------------- /src/core/bounding_box.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/bounding_box.h -------------------------------------------------------------------------------- /src/core/camera.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/camera.cpp -------------------------------------------------------------------------------- /src/core/camera.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/camera.h -------------------------------------------------------------------------------- /src/core/instance.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/instance.cpp -------------------------------------------------------------------------------- /src/core/instance.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/instance.h -------------------------------------------------------------------------------- /src/core/integrator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/integrator.h -------------------------------------------------------------------------------- /src/core/light.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/light.cpp -------------------------------------------------------------------------------- /src/core/light.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/light.h -------------------------------------------------------------------------------- /src/core/material.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/material.cpp -------------------------------------------------------------------------------- /src/core/material.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/material.h -------------------------------------------------------------------------------- /src/core/mesh.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/mesh.cpp -------------------------------------------------------------------------------- /src/core/mesh.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/mesh.h -------------------------------------------------------------------------------- /src/core/primitive.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/primitive.h -------------------------------------------------------------------------------- /src/core/state.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/state.h -------------------------------------------------------------------------------- /src/core/texture.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/texture.cpp -------------------------------------------------------------------------------- /src/core/texture.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/core/texture.h -------------------------------------------------------------------------------- /src/ext/json.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/ext/json.hpp -------------------------------------------------------------------------------- /src/ext/libnpy/include/libnpy/npy.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/ext/libnpy/include/libnpy/npy.hpp -------------------------------------------------------------------------------- /src/ext/tqdm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/ext/tqdm.h -------------------------------------------------------------------------------- /src/loader/loader.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/loader/loader.cpp -------------------------------------------------------------------------------- /src/loader/loader.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/loader/loader.h -------------------------------------------------------------------------------- /src/loader/material.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/loader/material.cpp -------------------------------------------------------------------------------- /src/loader/utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/loader/utils.h -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/main.cpp -------------------------------------------------------------------------------- /src/pipeline/pipeline.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/pipeline/pipeline.cpp -------------------------------------------------------------------------------- /src/pipeline/pipeline.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/pipeline/pipeline.h -------------------------------------------------------------------------------- /src/pipeline/pipeline_graphics.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/pipeline/pipeline_graphics.cpp -------------------------------------------------------------------------------- /src/pipeline/pipeline_graphics.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/pipeline/pipeline_graphics.h -------------------------------------------------------------------------------- /src/pipeline/pipeline_post.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/pipeline/pipeline_post.cpp -------------------------------------------------------------------------------- /src/pipeline/pipeline_post.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/pipeline/pipeline_post.h -------------------------------------------------------------------------------- /src/pipeline/pipeline_raytrace.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/pipeline/pipeline_raytrace.cpp -------------------------------------------------------------------------------- /src/pipeline/pipeline_raytrace.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/pipeline/pipeline_raytrace.h -------------------------------------------------------------------------------- /src/scene/scene.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/scene/scene.cpp -------------------------------------------------------------------------------- /src/scene/scene.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/scene/scene.h -------------------------------------------------------------------------------- /src/shaders/bxdf/raytrace.brdf_conductor.rchit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/bxdf/raytrace.brdf_conductor.rchit -------------------------------------------------------------------------------- /src/shaders/bxdf/raytrace.brdf_disney.rchit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/bxdf/raytrace.brdf_disney.rchit -------------------------------------------------------------------------------- /src/shaders/bxdf/raytrace.brdf_emissive.rchit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/bxdf/raytrace.brdf_emissive.rchit -------------------------------------------------------------------------------- /src/shaders/bxdf/raytrace.brdf_kang18.rchit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/bxdf/raytrace.brdf_kang18.rchit -------------------------------------------------------------------------------- /src/shaders/bxdf/raytrace.brdf_lambertian.rchit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/bxdf/raytrace.brdf_lambertian.rchit -------------------------------------------------------------------------------- /src/shaders/bxdf/raytrace.brdf_mirror.rchit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/bxdf/raytrace.brdf_mirror.rchit -------------------------------------------------------------------------------- /src/shaders/bxdf/raytrace.brdf_pbr_metalness_roughness.rchit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/bxdf/raytrace.brdf_pbr_metalness_roughness.rchit -------------------------------------------------------------------------------- /src/shaders/bxdf/raytrace.brdf_phong.rchit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/bxdf/raytrace.brdf_phong.rchit -------------------------------------------------------------------------------- /src/shaders/bxdf/raytrace.brdf_plastic.rchit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/bxdf/raytrace.brdf_plastic.rchit -------------------------------------------------------------------------------- /src/shaders/bxdf/raytrace.brdf_rough_conductor.rchit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/bxdf/raytrace.brdf_rough_conductor.rchit -------------------------------------------------------------------------------- /src/shaders/bxdf/raytrace.brdf_rough_plastic.rchit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/bxdf/raytrace.brdf_rough_plastic.rchit -------------------------------------------------------------------------------- /src/shaders/bxdf/raytrace.bsdf_dielectric.rchit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/bxdf/raytrace.bsdf_dielectric.rchit -------------------------------------------------------------------------------- /src/shaders/graphics.idle.frag: -------------------------------------------------------------------------------- 1 | #version 460 2 | 3 | void main() {} 4 | -------------------------------------------------------------------------------- /src/shaders/graphics.idle.vert: -------------------------------------------------------------------------------- 1 | #version 460 2 | 3 | void main() {} 4 | -------------------------------------------------------------------------------- /src/shaders/post.buffer2img.comp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/post.buffer2img.comp -------------------------------------------------------------------------------- /src/shaders/post.idle.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/post.idle.frag -------------------------------------------------------------------------------- /src/shaders/post.idle.vert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/post.idle.vert -------------------------------------------------------------------------------- /src/shaders/post.img2buffer.comp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/post.img2buffer.comp -------------------------------------------------------------------------------- /src/shaders/raytrace.default.rmiss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/raytrace.default.rmiss -------------------------------------------------------------------------------- /src/shaders/raytrace.projective.rgen: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/raytrace.projective.rgen -------------------------------------------------------------------------------- /src/shaders/raytrace.shadow.rmiss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/raytrace.shadow.rmiss -------------------------------------------------------------------------------- /src/shaders/utils/math.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/utils/math.glsl -------------------------------------------------------------------------------- /src/shaders/utils/random.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/utils/random.glsl -------------------------------------------------------------------------------- /src/shaders/utils/rchit_layouts.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/utils/rchit_layouts.glsl -------------------------------------------------------------------------------- /src/shaders/utils/sample_light.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/utils/sample_light.glsl -------------------------------------------------------------------------------- /src/shaders/utils/structs.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/utils/structs.glsl -------------------------------------------------------------------------------- /src/shaders/utils/sun_and_sky.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/utils/sun_and_sky.glsl -------------------------------------------------------------------------------- /src/shaders/utils/tonemapping.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shaders/utils/tonemapping.glsl -------------------------------------------------------------------------------- /src/shared/binding.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shared/binding.h -------------------------------------------------------------------------------- /src/shared/camera.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shared/camera.h -------------------------------------------------------------------------------- /src/shared/instance.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shared/instance.h -------------------------------------------------------------------------------- /src/shared/light.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shared/light.h -------------------------------------------------------------------------------- /src/shared/material.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shared/material.h -------------------------------------------------------------------------------- /src/shared/pushconstant.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shared/pushconstant.h -------------------------------------------------------------------------------- /src/shared/sun_and_sky.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shared/sun_and_sky.h -------------------------------------------------------------------------------- /src/shared/vertex.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/shared/vertex.h -------------------------------------------------------------------------------- /src/tracer/denoiser.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/tracer/denoiser.cpp -------------------------------------------------------------------------------- /src/tracer/denoiser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/tracer/denoiser.h -------------------------------------------------------------------------------- /src/tracer/gui.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/tracer/gui.cpp -------------------------------------------------------------------------------- /src/tracer/tracer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/tracer/tracer.cpp -------------------------------------------------------------------------------- /src/tracer/tracer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f1shel/Asuna/HEAD/src/tracer/tracer.h --------------------------------------------------------------------------------