Andrew O'Neil
8d1f250868
Move layout init into kea_gpu
2 days ago
Andrew O'Neil
ca8b50999f
Update dependencies
2 days ago
Andrew O'Neil
8d8fa76242
Add barrier to ensure light image is available for next frame
3 days ago
Andrew O'Neil
6512353525
Extract most gpu commands out of PathTracer
3 days ago
Andrew O'Neil
9744a1b35e
Move pipeline creation into its own module
4 days ago
Andrew O'Neil
ff8db7acc1
Update synchronization scopes
...
I think these are (mostly?) correct, but there are still validation sync
hazards reported - these occur even with full memory syncs so I suspect
it may be validation layers out of date with RT and sync2.
1 week ago
Andrew O'Neil
511de43ab2
ash 0.37.2
1 week ago
Andrew O'Neil
f013badc22
Use vulkan synchronization2
1 week ago
Andrew O'Neil
54a846f9f1
Update to rust_gpu 0.6.0
1 week ago
Andrew O'Neil
78f9b1db6d
Reduce log spam
4 months ago
Andrew O'Neil
f2f267e8e1
Update dependencies
4 months ago
Andrew O'Neil
7f0ffcb3e9
Avoid doubles - now runs on intel, but there are no intersections
4 months ago
Andrew O'Neil
4085fed72d
Add readme
5 months ago
Andrew O'Neil
aacf046fca
Add license
5 months ago
Andrew O'Neil
9f7b5b5df8
Terminate path when it no longer contributes a meaningful amount of light
5 months ago
Andrew O'Neil
9d9966beb3
Refactor the path tracer to be a bit more understandable
5 months ago
Andrew O'Neil
fbd7e9fcad
Update dependencies
5 months ago
Andrew O'Neil
a57e23c6c2
Use a more manageable default window size
5 months ago
Andrew O'Neil
1cfc7bbf3e
Working path tracing!
8 months ago
Andrew O'Neil
0cdb6d7215
Ensure triangle normals are in the ray direction
8 months ago
Andrew O'Neil
d24b8adb1c
Reinhard tone mapping
...
No automatic white point yet.
https://64.github.io/tonemapping/
8 months ago
Andrew O'Neil
c4db165e84
Add rotation to boxes
8 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.
8 months ago
Andrew O'Neil
7ad45c7c85
Define materials from host side
9 months ago
Andrew O'Neil
f8add67504
Add basic cornell box scene
9 months ago
Andrew O'Neil
4e5e8d8ecb
Use bevy_ecs as a basic scene graph
9 months ago
Andrew O'Neil
e249286c79
Move bindings into the scene
9 months ago
Andrew O'Neil
e15d8aa390
Use the slot layout to provide more safety around descriptor sets
9 months ago
Andrew O'Neil
d43b7c16dc
Move scene creation into its own module
9 months ago
Andrew O'Neil
54f928c1e8
Basic box shape
...
Box must be AABB, and normals are broken at non-uniform scales
9 months ago
Andrew O'Neil
f47c1c68bd
Check for visibility of the light source to give shadows
9 months ago
Andrew O'Neil
0159c89fb0
Add specular highlights
9 months ago
Andrew O'Neil
8db095fe04
Add diffuse lighting
9 months ago
Andrew O'Neil
818e711225
Better explain sphere math, and fix behind-camera intersections
9 months ago
Andrew O'Neil
72f602c451
Shade based on normal
9 months ago
Andrew O'Neil
768b413bfc
Implement positional camera
...
Largely taken from https://raytracing.github.io/books/RayTracingInOneWeekend.html#positionablecamera
9 months ago
Andrew O'Neil
ea85738c4d
Add field of view to camera
9 months ago
Andrew O'Neil
c956d99416
Refactor camera into it's own module
9 months ago
Andrew O'Neil
633963927c
Visualise depth :D
9 months ago
Andrew O'Neil
5b71c86d92
Move sphere math to sphere mod
9 months ago
Andrew O'Neil
66a32b178f
Report hit, but let the raygen shader control shading
9 months ago
Andrew O'Neil
8ad2ac0798
Reorganise shader crate
9 months ago
Andrew O'Neil
1817c366f4
Fullscreen 4k
...
This matches my current test setup (laptop on the couch, host PC connected to TV).
9 months ago
Andrew O'Neil
28f68f1e0c
Use RHS with Y pointing up
9 months ago
Andrew O'Neil
359929261a
Wrap swapchain present
9 months ago
Andrew O'Neil
39c8ef3e30
Wrap queue submissions
9 months ago
Andrew O'Neil
d7a282f39a
Reuse commands across frames
9 months ago
Andrew O'Neil
67901021ea
Don't call build() on ash builders until necessary
...
This helps ash's lifetimes keep us safer
9 months ago
Andrew O'Neil
3e9f6d1c01
Don't need all this debug info for now
9 months ago
Andrew O'Neil
521378e3f8
Clean up warnings
9 months ago