44 Commits (main)

Author SHA1 Message Date
Andrew O'Neil 922b8d5338 Rename kea_renderer_shaders -> kea_renderer_gpu
For same reasons as listed in last commit.
1 month ago
Andrew O'Neil dd78795cff Rename kea_gpu_shaderlib to kea_gpulib
Shorter name, and I want to move away from using shader terminology.
1 month ago
Andrew O'Neil 338c946375 Remove compute/ray_query strategy
This was added largely to test if it would help Arc 770 to function.
It didn't help, and I've confirmed A770 has functional ray tracing
pipelines in Quake 2 RTX
1 month ago
Andrew O'Neil 2f783674e8 Update to rust_gpu 0.7.0 1 month ago
Andrew O'Neil 058d16b5b4 Running compute shader (no rays traced yet) 2 months ago
Andrew O'Neil ca8b50999f Update dependencies 2 months ago
Andrew O'Neil 54a846f9f1 Update to rust_gpu 0.6.0 2 months ago
Andrew O'Neil f2f267e8e1 Update dependencies 6 months ago
Andrew O'Neil 7f0ffcb3e9 Avoid doubles - now runs on intel, but there are no intersections 7 months ago
Andrew O'Neil aacf046fca Add license 7 months ago
Andrew O'Neil 9f7b5b5df8 Terminate path when it no longer contributes a meaningful amount of light 7 months ago
Andrew O'Neil 9d9966beb3 Refactor the path tracer to be a bit more understandable 8 months ago
Andrew O'Neil 1cfc7bbf3e Working path tracing! 10 months ago
Andrew O'Neil 0cdb6d7215 Ensure triangle normals are in the ray direction 10 months ago
Andrew O'Neil d24b8adb1c Reinhard tone mapping
No automatic white point yet.
https://64.github.io/tonemapping/
11 months ago
Andrew O'Neil 5883adab19 Render boxes with a triangle mesh
ray/box intersection is getting complicated for extending beyond AABBs,
so lets just use triangles as the primitive instead. rust_gpu doesn't
support using buffer address yet, so I'm just concatenating all vertices
and indices into single buffers for now.
11 months ago
Andrew O'Neil 7ad45c7c85 Define materials from host side 11 months ago
Andrew O'Neil f8add67504 Add basic cornell box scene 11 months ago
Andrew O'Neil e15d8aa390 Use the slot layout to provide more safety around descriptor sets 11 months ago
Andrew O'Neil 54f928c1e8 Basic box shape
Box must be AABB, and normals are broken at non-uniform scales
11 months ago
Andrew O'Neil f47c1c68bd Check for visibility of the light source to give shadows 11 months ago
Andrew O'Neil 0159c89fb0 Add specular highlights 11 months ago
Andrew O'Neil 8db095fe04 Add diffuse lighting 11 months ago
Andrew O'Neil 818e711225 Better explain sphere math, and fix behind-camera intersections 11 months ago
Andrew O'Neil 72f602c451 Shade based on normal 11 months ago
Andrew O'Neil 768b413bfc Implement positional camera
Largely taken from https://raytracing.github.io/books/RayTracingInOneWeekend.html#positionablecamera
11 months ago
Andrew O'Neil ea85738c4d Add field of view to camera 11 months ago
Andrew O'Neil c956d99416 Refactor camera into it's own module 11 months ago
Andrew O'Neil 633963927c Visualise depth :D 11 months ago
Andrew O'Neil 5b71c86d92 Move sphere math to sphere mod 11 months ago
Andrew O'Neil 66a32b178f Report hit, but let the raygen shader control shading 11 months ago
Andrew O'Neil 8ad2ac0798 Reorganise shader crate 11 months ago
Andrew O'Neil 28f68f1e0c Use RHS with Y pointing up 11 months ago
Andrew O'Neil 521378e3f8 Clean up warnings 11 months ago
Andrew O'Neil d9f2411d35 It started working!!! 11 months ago
Andrew O'Neil 5155e9c7ca Refactor pipeline creation 11 months ago
Andrew O'Neil 21fe2931ee Ensure shader tables are aligned 11 months ago
Andrew O'Neil acb2d29d3d Use slices for data copies 11 months ago
Andrew O'Neil 2d8da8b00f First pass of specifying descriptor set types from the shader side 11 months ago
Andrew O'Neil 5320f48c7d Move Sphere and AABB types to where they're accessible by shaders 11 months ago
Andrew O'Neil 480ebbd98d Cleanup cargo and rust config files for workspace layout 11 months ago
Andrew O'Neil 495037a7bb Don't mess with memory alignment 11 months ago
Andrew O'Neil 15288ef527 Remove hardcoding of resolution 11 months ago
Andrew O'Neil ba3ca3d994 Separate into different crates
kea_gpu for a higher level vulkan wrapper
kea_renderer for the path tracer
kea_renderer_shaders for the path tracer shaders
11 months ago