Skip to content

Commit 876d9c8

Browse files
committed
changes for new GeometryBasics
1 parent ba362c6 commit 876d9c8

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

Project.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
1818
StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a"
1919

2020
[compat]
21-
Atomix = "0.1.0"
21+
#Atomix = "0.1.0"
2222
FileIO = "1.16"
23-
GeometryBasics = "0.4"
23+
GeometryBasics = "0.4, 0.5"
2424
ImageCore = "0.10"
2525
ImageIO = "0.6"
26-
KernelAbstractions = "0.9.24"
26+
#KernelAbstractions = "0.9.24"
2727
ProgressMeter = "1.10"
2828
RandomNumbers = "1.6.0"
2929
StaticArrays = "1.9.7"

docs/code/basic-scene.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ begin
4848
l = tmesh(Rect3f(Vec3f(-2, -5, 0), Vec3f(0.01, 10, 10)), material_red)
4949
r = tmesh(Rect3f(Vec3f(2, -5, 0), Vec3f(0.01, 10, 10)), material_blue)
5050

51-
bvh = Trace.BVHAccel([s1, s2, s3, s4, ground, back, l, r], 1);
51+
bvh = Trace.BVHAccel([s1, s2, s3, s4, #=ground, back, l, r=#], 1);
5252

5353
lights = (
5454
# Trace.PointLight(Vec3f(0, -1, 2), Trace.RGBSpectrum(22.0f0)),
@@ -58,17 +58,19 @@ begin
5858
scene = Trace.Scene([lights...], bvh);
5959
resolution = Point2f(1024)
6060
f = Trace.LanczosSincFilter(Point2f(1.0f0), 3.0f0)
61+
6162
film = Trace.Film(resolution,
6263
Trace.Bounds2(Point2f(0.0f0), Point2f(1.0f0)),
6364
f, 1.0f0, 1.0f0,
64-
"shadows_sppm_res.png",
6565
)
6666
screen_window = Trace.Bounds2(Point2f(-1), Point2f(1))
6767
cam = Trace.PerspectiveCamera(
6868
Trace.look_at(Point3f(0, 4, 2), Point3f(0, -4, -1), Vec3f(0, 0, 1)),
6969
screen_window, 0.0f0, 1.0f0, 0.0f0, 1.0f6, 45.0f0, film,
7070
)
7171
end
72+
using GeometryBasics
73+
7274

7375
# begin
7476
# Trace.clear!(film)

src/shapes/triangle_mesh.jl

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,18 @@ function create_triangle_mesh(
9191
end
9292

9393
function create_triangle_mesh(mesh::GeometryBasics.Mesh, core::ShapeCore=ShapeCore())
94-
fs = decompose(TriangleFace{UInt32}, mesh)
95-
vertices = decompose(Point3f, mesh)
96-
normals = Normal3f.(decompose_normals(mesh))
97-
uvs = Point2f.(GeometryBasics.decompose_uv(mesh))
94+
nmesh = GeometryBasics.expand_faceviews(mesh)
95+
fs = decompose(TriangleFace{UInt32}, nmesh)
96+
vertices = decompose(Point3f, nmesh)
97+
normals = Normal3f.(decompose_normals(nmesh))
98+
uvs = GeometryBasics.decompose_uv(nmesh)
99+
if isnothing(uvs)
100+
uvs = Point2f[]
101+
end
98102
indices = collect(reinterpret(UInt32, fs))
99103
return TriangleMesh(
100104
core.object_to_world, indices, vertices,
101-
normals, Vec3f[], uvs,
105+
normals, Vec3f[], Point2f.(uvs),
102106
)
103107
end
104108

0 commit comments

Comments
 (0)