Garrett Johnson reposted
New project: Fidelity test suite for @gkjohnson.bsky.social's three-gpu-pathtracer vs @blender.org . Compares both the legacy #WebGL and new #WebGPU renderers. bhouston.github.io/three-gpu-pa... github.com/bhouston/thr...
Garrett Johnson
@gkjohnson.bsky.social
Woven by Toyota | NASA JPL | #threejs, graphics, open source, and a bunch of fun projects!
339 followers73 following125 posts
Garrett Johnson reposted
New project: Fidelity test suite for @gkjohnson.bsky.social's three-gpu-pathtracer vs @blender.org . Compares both the legacy #WebGL and new #WebGPU renderers. bhouston.github.io/three-gpu-pa... github.com/bhouston/thr...
Equal Earth projection is coming to 3DTilesRendererJS! πΊοΈ Here it is rendering TerrainRGB & vector annotations. The LA streets look a bit less square but the projection looks great! We are updating the engine so data aligns across projections, letting you render maps however you need β¨ #equalearth
Model courtesy of user "VTX" on @sketchfab.bsky.social sketchfab.com/3d-models/20...
Thanks to this "Blue Noise Dithered Sampling" paper: blogs.autodesk.com/media-and-en... And to Ilgis Fatykhov on Sketchfab for the tape recorder model: sketchfab.com/3d-models/so... And the hoverinc ray tracing repo from years ago, I recall using a similar method: github.com/hoverinc/ray...
Slowly getting some additional annotations & metadata from vector tiles in 3DTilesRendererJS. Here, icons are layered on top of Google Photorealistic Tiles data so you can find landmarks & restaurants as you navigate. Road labels are up next! πΊοΈ
Support for @mapbox.com and @protomaps.com vector tiles are coming to three.js in 3DTilesRendererJS! You can now bring vector layers in as 3D Tiles overlays to customize map coloring for visualization and branding. Or just to make something a bit chaotic π¨π
Support for @mapbox.com and @protomaps.com vector tiles are coming to three.js in 3DTilesRendererJS! You can now bring vector layers in as 3D Tiles overlays to customize map coloring for visualization and branding. Or just to make something a bit chaotic π¨π
You can find the plugin here, based on Spark.js: github.com/WilliamLiu-1...
Got the path tracer running on mobile with 16-bit output using Kahan-summation & residuals packed into 8 bits. I'm a bit worried about precision loss so I'll probably replace this with something else. But it still looks quite good on these simple scenes! π¦ #threejs #raytracing #webgpu #javascript
Happy to report that Lego LDraw models are working #threejs #raytracing #webgpu #lego
Using the recently-added "ObjectBVH", geometry instancing is also now supported. So complex scenes like these can finally be rendered without merging it all into a single geometry β¨ #threejs #raytracing #javascript #webgpu
Environment map sampling & backgrounds are now supported in the WebGPU path tracer! Slowly but surely we're getting features ported over. Thanks to "TheBlek" for getting this added! #threejs #webgpu #javascript #raytracing
Environment map sampling & backgrounds are now supported in the WebGPU path tracer! Slowly but surely we're getting features ported over. Thanks to "TheBlek" for getting this added! #threejs #webgpu #javascript #raytracing
We have a first pass at a wavefront path tracer! You can see the artifacts of thread groups pulling rays off the ring queue to trace in this slowed down video. It's not much, yet, but Im excited for what this will bring in terms of performance scalability⨠#threejs #raytracing
We have a first pass at a wavefront path tracer! You can see the artifacts of thread groups pulling rays off the ring queue to trace in this slowed down video. It's not much, yet, but Im excited for what this will bring in terms of performance scalability⨠#threejs #raytracing
Spent some time today looking into WebGPU support for three-gpu-pathtracer - compute is going to make this a lot easier than WebGL. Looking into Wavefront Pathtracing next β¨ Thanks to "TheBlek" on Github for helping to get this started! #threejs #raytracing
You can check out the project here: github.com/gkjohnson/cl...
Some amazing work by Jure Triglav putting WebGPU compute and three-mesh-bvh through their paces to render surfel-based global illumination! I'm looking forward to seeing what's coming in the web in the coming years. juretriglav.si/surfel-based... #threejs #raytracing #webgpu
Check out the post here! discourse.threejs.org/t/3d-map-250...
Using the same scene-wide BVH you can run accelerate frustum culling, as well. With this 500,000-instance BatchedMesh culling runs in less than 1/8th the time π #threejs #gamedev
With the recent three-mesh-bvh changes you can finally make a full scene-wide BVH to accelerate physics, raycasting, etc. And at some point Pathtracing π Its just a prototype so far but it "just works" with objects and batched instances in a single structure. #threejs #gamedev
The SkinnedMeshBVH will work with morph target meshes, as well. It's available in the three-mesh-bvh examples directory for now but I may move it to the core package if there's interest. Demo here: gkjohnson.github.io/three-mesh-b... 2/2
See the new LineBVH demo here: gkjohnson.github.io/three-mesh-b... 3/3
Garrett Johnson reposted
Last year I was also experimenting with @gkjohnson.bsky.social's blue noise sketches, but with my usual subsurface scattering and motion blur. alien.js.org/examples/thr... #threejs #webgl #shader #bluenoise #motionblur
Im seeing a difference in behavior with deployed code on @github.com pages vs the same files locally. Has anyone seen this before? Left is edge generation run locally & right is on Github pages from one of my #threejs projects. Notice the extra lines. 1/3 π #webgl #javascript