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