176 Commits (f013badc220d275ac4faf04d6b0d5328c86a698c)
 

Author SHA1 Message Date
Andrew O'Neil f013badc22 Use vulkan synchronization2 2 months ago
Andrew O'Neil 54a846f9f1 Update to rust_gpu 0.6.0 2 months ago
Andrew O'Neil 78f9b1db6d Reduce log spam 6 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 4085fed72d Add readme 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 fbd7e9fcad Update dependencies 8 months ago
Andrew O'Neil a57e23c6c2 Use a more manageable default window size 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 c4db165e84 Add rotation to boxes 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 4e5e8d8ecb Use bevy_ecs as a basic scene graph 11 months ago
Andrew O'Neil e249286c79 Move bindings into the 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 d43b7c16dc Move scene creation into its own module 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 1817c366f4 Fullscreen 4k
This matches my current test setup (laptop on the couch, host PC connected to TV).
11 months ago
Andrew O'Neil 28f68f1e0c Use RHS with Y pointing up 11 months ago
Andrew O'Neil 359929261a Wrap swapchain present 11 months ago
Andrew O'Neil 39c8ef3e30 Wrap queue submissions 11 months ago
Andrew O'Neil d7a282f39a Reuse commands across frames 11 months ago
Andrew O'Neil 67901021ea Don't call build() on ash builders until necessary
This helps ash's lifetimes keep us safer
11 months ago
Andrew O'Neil 3e9f6d1c01 Don't need all this debug info for now 11 months ago
Andrew O'Neil 521378e3f8 Clean up warnings 11 months ago
Andrew O'Neil f20963f994 Simplify buffer fill
I think the ash util alignment is for padding data like we're
doing for the shader binding table. Using it for buffer fills might
cause overflows
11 months ago
Andrew O'Neil 9e26cb49a0 Both spheres and triangles work on AMD!
The triangle is scaled incorrectly on mesa drivers, but is correct with amdgpu-pro.
Still very unreliable on GTX1080
11 months ago
Andrew O'Neil c6ea686154 Allocator has better debug messages itself 11 months ago
Andrew O'Neil 16846a35f3 push geometry changes for debugging too 11 months ago
Andrew O'Neil 673923b0ee Ask allocator for most restrictive alignment 11 months ago
Andrew O'Neil d9f2411d35 It started working!!! 11 months ago
Andrew O'Neil 7a28638628 Fix memory size calculation for shader binding table 11 months ago