Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
d947076
Fix Sobol sampler for Metal GPU backend
jkrumbiegel Mar 1, 2026
1f22f31
Fix D65 illuminant sampling for Metal GPU backend
jkrumbiegel Mar 1, 2026
888f5c3
Merge branch 'master' into jk/fix-metal-sampling
jkrumbiegel Mar 2, 2026
e1f1fff
changes for vulkan hardware accel
SimonDanisch Mar 2, 2026
7e18eed
Merge remote-tracking branch 'origin/jk/fix-metal-sampling' into sd/v…
SimonDanisch Mar 2, 2026
fecd512
remove flushes from pipeline
SimonDanisch Mar 2, 2026
c10e077
move LAVA
SimonDanisch Mar 2, 2026
e8fba70
move to Hikari
SimonDanisch Mar 2, 2026
cf16307
maybe improve performance
SimonDanisch Mar 2, 2026
fe020c9
remove deprecated apis
SimonDanisch Mar 2, 2026
9905a14
Merge remote-tracking branch 'origin/jk/fix-metal-sampling' into sd/v…
SimonDanisch Mar 2, 2026
ac7e6d3
fixes for raycore refactor
SimonDanisch Mar 2, 2026
cd8483a
ugly way to save adapted scene (TODO cleanup)
SimonDanisch Mar 7, 2026
b6ee0dd
GPU memory cleanup, VolPath accumulator clearing
SimonDanisch Mar 15, 2026
3b8ff7a
Add default no-op clear! for Integrator base type
SimonDanisch Mar 15, 2026
d6fe269
Move Lava to weak dependency, load hw-rt via extension
SimonDanisch Mar 16, 2026
71848fd
Fix ndrange=0 crash on AMDGPU backend
SimonDanisch Mar 20, 2026
38ff604
HW RT integration improvements: film clear fix, denoiser updates, pos…
SimonDanisch Mar 28, 2026
ee442ef
cleanup and removal of unused code
SimonDanisch Mar 30, 2026
219b7da
add some tests
SimonDanisch Mar 31, 2026
cfbe1d2
Fix 9 bugs to match pbrt-v4 exactly — 41/41 reference tests pass
SimonDanisch Apr 1, 2026
95341a2
Fix lerp argument order in LayeredBxDF PDF — eliminates fireflies
SimonDanisch Apr 1, 2026
67aff1d
Use shading frame from dpdus instead of coordinate_system(n)
SimonDanisch Apr 1, 2026
1c6320e
Revert "Use shading frame from dpdus instead of coordinate_system(n)"
SimonDanisch Apr 1, 2026
299a6df
Reapply "Use shading frame from dpdus instead of coordinate_system(n)"
SimonDanisch Apr 1, 2026
52d7a4f
Fix rough dielectric: parse uroughness/vroughness and delegate to sha…
SimonDanisch Apr 1, 2026
8d641de
add tests and fix bugs
SimonDanisch Apr 3, 2026
a859c59
update docs and tests
SimonDanisch Apr 4, 2026
0da7d85
postprocessing and docs fixes
SimonDanisch Apr 4, 2026
99d475e
CI: parallel jobs (tests, pbrt comparison, docs), lavapipe, deploy pi…
SimonDanisch Apr 4, 2026
26fc300
move lava ext to raycore
SimonDanisch Apr 6, 2026
6c5f157
fixes?
SimonDanisch Apr 6, 2026
14f0d6d
Merge branch 'sd/vk-hw-accel' of https://github.com/JuliaGraphics/Hik…
SimonDanisch Apr 6, 2026
df99373
Merge branch 'sd/vk-hw-accel' of https://github.com/JuliaGraphics/Hik…
SimonDanisch Apr 6, 2026
2207e2b
Cache fill_aux_buffers allocations + camera fixes + SOA cleanup
SimonDanisch Apr 10, 2026
ea9c5c5
Merge branch 'sd/vk-hw-accel' of https://github.com/JuliaGraphics/Hik…
SimonDanisch Apr 10, 2026
0e47346
beware of out of bounds
SimonDanisch Apr 12, 2026
c626c57
clean up sensor
SimonDanisch Apr 12, 2026
138ec52
Merge branch 'sd/vk-hw-accel' of https://github.com/JuliaGraphics/Hik…
SimonDanisch Apr 12, 2026
83e2407
Add NullMaterial for null-surface medium boundaries
SimonDanisch Apr 13, 2026
4e7d024
Merge branch 'sd/vk-hw-accel' of https://github.com/JuliaGraphics/Hik…
SimonDanisch Apr 13, 2026
85e8aec
Kill VolPath._adapted_scene_cache/::Any tuple-juggling; add get_or_ad…
SimonDanisch Apr 14, 2026
c4c419c
Apply per-instance medium_interface_idx override from TLAS
SimonDanisch Apr 14, 2026
6e329d5
Add push!(scene, mesh, materials, transforms) for meshscatter-style i…
SimonDanisch Apr 14, 2026
1ea13c1
HW RT: resolve per-instance interface override via gl_InstanceCustomI…
SimonDanisch Apr 14, 2026
094cce1
Add TLAS per-instance override stress tests
SimonDanisch Apr 14, 2026
9ff3d71
more fixes
SimonDanisch Apr 21, 2026
405abfd
HW RT cascade fixes, shadow round 2+ correctness, dead-code cleanup
SimonDanisch Apr 26, 2026
589faa6
feat(volpath): cull_mask::UInt32 field threaded through hw-rt path
SimonDanisch Apr 28, 2026
de65a78
test updates
SimonDanisch May 6, 2026
0e0fd83
raycore updates
SimonDanisch May 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
51 changes: 0 additions & 51 deletions .github/workflows/Documenter.yml

This file was deleted.

102 changes: 89 additions & 13 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,24 +12,100 @@ concurrency:

jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
runs-on: ${{ matrix.os }}
name: Tests
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
version:
- '1'
os:
- ubuntu-latest
arch:
- x64
steps:
- uses: actions/checkout@v4
- name: Install Vulkan (lavapipe)
run: |
sudo apt-get update
sudo apt-get install -y mesa-vulkan-drivers vulkan-tools
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
version: '1'
- uses: julia-actions/cache@v2
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
env:
VK_ICD_FILENAMES: /usr/share/vulkan/icd.d/lvp_icd.x86_64.json

pbrt-comparison:
name: pbrt-v4 Comparison
runs-on: ubuntu-latest
timeout-minutes: 120
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: '1'
- uses: julia-actions/cache@v2
- name: Install comparison dependencies
run: julia --project=test/pbrt -e 'using Pkg; Pkg.instantiate(); Pkg.precompile()'
- name: Render and compare
run: julia --project=test/pbrt test/pbrt/run_comparison.jl
- uses: actions/upload-artifact@v4
with:
name: pbrt-comparison
path: test/pbrt/display/

docs-build:
name: Build Docs
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
- uses: julia-actions/cache@v2
- name: Install dependencies
run: julia --project=docs -e 'using Pkg; pkg"dev ."; Pkg.instantiate(); Pkg.precompile()'
- name: Build (without comparison gallery)
env:
GKSwstype: "100"
DATADEPS_ALWAYS_ACCEPT: true
run: julia --project=docs/ --color=yes docs/make.jl
- uses: actions/upload-artifact@v4
with:
name: docs-build
path: docs/build/

deploy-docs:
name: Deploy Docs
needs: [pbrt-comparison, docs-build]
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: write
statuses: write
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
- uses: julia-actions/cache@v2
- name: Download docs build
uses: actions/download-artifact@v4
with:
name: docs-build
path: docs/build/
- name: Download comparison gallery
uses: actions/download-artifact@v4
with:
name: pbrt-comparison
path: docs/build/1/pbrt-comparison/
- name: Install dependencies
run: julia --project=docs -e 'using Pkg; pkg"dev ."; Pkg.instantiate()'
- name: Deploy
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
run: |
julia --project=docs -e '
using DocumenterVitepress
DocumenterVitepress.deploydocs(;
root = "docs",
repo = "github.com/JuliaGraphics/Hikari.jl",
target = "build",
branch = "gh-pages",
devbranch = "master",
push_preview = true,
)
'
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,9 @@ settings.json
package-lock.json
node_modules
docs/build
docs/src/comparison.md
docs/src/public/
test/pbrt/recorded/
test/pbrt/display/

Manifest*.toml
2 changes: 2 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326"
ImageCore = "a09fc81d-aa75-5fe9-8630-4744c3626534"
ImageIO = "82e4d734-157c-48bb-816b-45c225c6df19"
KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c"
Lava = "3a680b1f-cb25-4bee-9cf7-bc880b76dc8c"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Expand All @@ -35,6 +36,7 @@ StructArrays = "0.6.18"
Zlib_jll = "1.3.1"

[sources]
Lava = {url = "https://github.com/SimonDanisch/Lava.jl", rev = "sd/ci"}
Raycore = {url = "https://github.com/JuliaGeometry/Raycore.jl", rev = "sd/multitype-vec"}

[extras]
Expand Down
7 changes: 1 addition & 6 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -1,19 +1,14 @@
[deps]
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
Raycore = "afc56b53-c9a9-482a-a956-d1d800e05559"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
DocumenterVitepress = "4710194d-e776-4893-9690-8d956a29c365"
FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326"
ImageShow = "4e3cecfd-b093-5904-9786-8bbb286a6a31"
KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c"
Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
Hikari = "afc56b53-c9a9-482a-a956-d1d800e05558"
Raycore = "afc56b53-c9a9-482a-a956-d1d800e05559"

[compat]
Documenter = "1.5"
DocumenterVitepress = "0.3"
FileIO = "1.16"

[sources]
Hikari = {path = ".."}
Expand Down
127 changes: 0 additions & 127 deletions docs/code/basic-scene.jl

This file was deleted.

44 changes: 0 additions & 44 deletions docs/code/caustic_glass.jl

This file was deleted.

Loading
Loading