56,966 blogs · [ { "id": "01a08c62-f70d-700c-a127-bb5430c4112a", "title": "Volume Encoding Gaussians: Transfer Function-Agnostic 3D Gaussians for Volume Rendering", "url": "https://www.willusher.io/publications/veg_pvis26/", "published_at": "2026-02-14T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb5431bf2bd0", "title": "Approximate Puzzlepiece Compositing", "url": "https://www.willusher.io/publications/apc-pvis25/", "published_at": "2025-01-26T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb5431ea3664", "title": "Enabling Fast and Accurate Crowdsourced Annotation for Elevation-Aware Flood Extent Mapping", "url": "https://www.willusher.io/publications/flood-annotation-pvis25/", "published_at": "2025-01-26T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb5432116430", "title": "Interactive Isosurface Visualization in Memory Constrained Environments Using Deep Learning and Speculative Raycasting", "url": "https://www.willusher.io/publications/prog-iso-ml-tvcg24/", "published_at": "2024-07-01T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb54330f3741", "title": "Shipping C++ WebAssembly Packages on NPM", "url": "https://www.willusher.io/blog/ship-wasm-on-npm/", "published_at": "2024-06-22T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb54337220c5", "title": "Building, Shipping and Debugging a C++ WebAssembly App", "url": "https://www.willusher.io/blog/build-ship-debug-wasm/", "published_at": "2024-06-11T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb5433a4be4a", "title": "From 0 to glTF with WebGPU: Basic Materials and Textures", "url": "https://www.willusher.io/graphics/2024/04/28/0-to-gltf-basic-materials/", "published_at": "2024-04-28T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb5433c5486e", "title": "GPU Compute in the Browser at the Speed of Native: WebGPU Marching Cubes", "url": "https://www.willusher.io/graphics/2024/04/22/webgpu-marching-cubes/", "published_at": "2024-04-22T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb54340e3056", "title": "Speculative Progressive Raycasting for Memory Constrained Isosurface Visualization of Massive Volumes", "url": "https://www.willusher.io/publications/wgpu-prog-iso/", "published_at": "2023-10-23T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb54349afce7", "title": "Ray Tracing Spherical Harmonics Glyphs", "url": "https://www.willusher.io/publications/rt-sph-glyphs/", "published_at": "2023-10-06T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb5435649ec3", "title": "From 0 to glTF with WebGPU: Rendering the Full glTF Scene", "url": "https://www.willusher.io/graphics/2023/06/24/0-to-gltf-full-scene/", "published_at": "2023-06-24T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb543631b619", "title": "From 0 to glTF with WebGPU: Rendering the First glTF Mesh", "url": "https://www.willusher.io/graphics/2023/05/16/0-to-gltf-first-mesh/", "published_at": "2023-05-16T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb54372fec92", "title": "From 0 to glTF with WebGPU: Bind Groups", "url": "https://www.willusher.io/graphics/2023/04/11/0-to-gltf-bind-groups/", "published_at": "2023-04-11T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb54377d9e97", "title": "From 0 to glTF with WebGPU: The First Triangle", "url": "https://www.willusher.io/graphics/2023/04/10/0-to-gltf-triangle/", "published_at": "2023-04-10T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb5438007d2a", "title": "GraphWaGu: GPU Powered Large Scale Graph Layout Computation and Rendering for the Web", "url": "https://www.willusher.io/publications/graphwagu/", "published_at": "2022-05-10T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb5438c575b2", "title": "Design and Evaluation of a GPU Streaming Framework for Visualizing Time-Varying AMR Data", "url": "https://www.willusher.io/publications/exajet-animated/", "published_at": "2022-05-09T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb54397acc19", "title": "Adaptive Spatially Aware I/O for Multiresolution Particle Data Layouts", "url": "https://www.willusher.io/publications/aggtree-io/", "published_at": "2021-05-17T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb543a3dba6a", "title": "Adaptive Multiresolution Techniques for I/O, Data Layout, and Visualization of Massive Simulations", "url": "https://www.willusher.io/publications/dissertation/", "published_at": "2021-03-17T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb543aff407b", "title": "Efficient and Flexible Hierarchical Data Layouts for a Unified Encoding of Scalar Field Precision and Resolution", "url": "https://www.willusher.io/publications/varprec-vis20/", "published_at": "2021-01-01T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb543b9c26cf", "title": "Improving the Usability of Virtual Reality Neuron Tracing with Topological Element", "url": "https://www.willusher.io/publications/mscvrnt/", "published_at": "2021-01-01T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb543c67fc0a", "title": "Ray Tracing Structured AMR Data Using ExaBricks", "url": "https://www.willusher.io/publications/exabrick/", "published_at": "2021-01-01T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb543d3dd355", "title": "A Dive into Ray Tracing Performance on the Apple M1", "url": "https://www.willusher.io/graphics/2020/12/20/rt-dive-m1/", "published_at": "2020-12-20T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb543e21dccb", "title": "Accelerating Unstructured Mesh Point Location with RT Cores", "url": "https://www.willusher.io/publications/rtx-points-tvcg/", "published_at": "2020-12-01T00:00:00+00:00" }, { "id": "01a08c62-f70d-700c-a127-bb543e903e0b", "title": "Hardware Accelerated Video Encoding on the Raspberry Pi 4 on Ubuntu 20.04 64-bit", "url": "https://www.willusher.io/general/2020/11/15/hw-accel-encoding-rpi4/", "published_at": "2020-11-15T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c519fb938", "title": "The VIS 2020 Streaming Infrastructure", "url": "https://www.willusher.io/general/2020/11/13/vis2020-streaming-infrastructure/", "published_at": "2020-11-13T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c520ffb1d", "title": "A Virtual Frame Buffer Abstraction for Parallel Rendering of Large Tiled Display Walls", "url": "https://www.willusher.io/publications/ospdisplaywall/", "published_at": "2020-10-27T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c52254a74", "title": "Interactive Visualization of Terascale Data in the Browser: Fact or Fiction?", "url": "https://www.willusher.io/publications/teraweb/", "published_at": "2020-10-27T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c532284fd", "title": "A Terminology for In Situ Visualization and Analysis Systems", "url": "https://www.willusher.io/publications/istp/", "published_at": "2020-08-14T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c533615fd", "title": "Using Hardware Ray Transforms to Accelerate Ray/Primitive Intersections for Long, Thin Primitive Types", "url": "https://www.willusher.io/publications/owltubes/", "published_at": "2020-07-05T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c538b2831", "title": "From 0 to glTF with WebGPU: Bind Groups - old redirect", "url": "https://www.willusher.io/graphics/2020/06/20/0-to-gltf-bind-groups/", "published_at": "2020-06-20T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c5404b532", "title": "From 0 to glTF with WebGPU: The First Triangle - old redirect", "url": "https://www.willusher.io/graphics/2020/06/15/0-to-gltf-triangle/", "published_at": "2020-06-15T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c54b05606", "title": "CPU Ray Tracing of Tree-Based Adaptive Mesh Refinement Data", "url": "https://www.willusher.io/publications/tamr/", "published_at": "2020-03-25T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c552df1ec", "title": "A Comparison of Rendering Techniques for 3D Line Sets with Transparency", "url": "https://www.willusher.io/publications/tvcg20_oit/", "published_at": "2020-02-24T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c555e67e1", "title": "The RTX Shader Binding Table Three Ways", "url": "https://www.willusher.io/graphics/2019/11/20/the-sbt-three-ways/", "published_at": "2019-11-20T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c557f0287", "title": "Efficient Space Skipping and Adaptive Sampling of Unstructured Volumes Using Hardware Accelerated Ray Tracing", "url": "https://www.willusher.io/publications/rtx-space-skipping/", "published_at": "2019-10-20T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c55ca1462", "title": "Faster Shadow Rays on RTX", "url": "https://www.willusher.io/graphics/2019/09/06/faster-shadow-rays-on-rtx/", "published_at": "2019-09-06T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c56b0e798", "title": "Spatially-aware Parallel I/O for Particle Data", "url": "https://www.willusher.io/publications/icpp19/", "published_at": "2019-08-05T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c575834cd", "title": "Ray Tracing Generalized Tube Primitives: Method and Applications", "url": "https://www.willusher.io/publications/tubes/", "published_at": "2019-07-10T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c57e23a89", "title": "Scalable Ray Tracing Using the Distributed FrameBuffer", "url": "https://www.willusher.io/publications/dfb/", "published_at": "2019-07-10T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c58649086", "title": "RTX Beyond Ray Tracing: Exploring the Use of Hardware Ray Tracing Cores for Tet-Mesh Point Location", "url": "https://www.willusher.io/publications/rtx-points/", "published_at": "2019-07-08T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c58ab409c", "title": "Volume Rendering with WebGL", "url": "https://www.willusher.io/webgl/2019/01/13/volume-rendering-with-webgl/", "published_at": "2019-01-13T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c590da108", "title": "CPU Isosurface Ray Tracing of Adaptive Mesh Refinement Data", "url": "https://www.willusher.io/publications/amr-iso/", "published_at": "2019-01-01T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c59e59fd2", "title": "libIS: A Lightweight Library for Flexible In Transit Visualization", "url": "https://www.willusher.io/publications/libis-isav18/", "published_at": "2018-11-12T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c5a5f6f76", "title": "Comments in LaTeX", "url": "https://www.willusher.io/latex/2018/07/10/comments-in-latex/", "published_at": "2018-07-10T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c5af95b44", "title": "VisIt-OSPRay: Toward an Exascale Volume Visualization System", "url": "https://www.willusher.io/publications/visit-ospray/", "published_at": "2018-06-04T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c5bbf79be", "title": "Scalable Data Management of the Uintah Simulation Framework for Next-Generation Engineering Problems with Radiation", "url": "https://www.willusher.io/publications/scasia18/", "published_at": "2018-03-20T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c5c1e9686", "title": "A Virtual Reality Visualization Tool for Neuron Tracing", "url": "https://www.willusher.io/publications/vrnt/", "published_at": "2018-01-01T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c5d0d9e13", "title": "CPU Volume Rendering of Adaptive Mesh Refinement Data", "url": "https://www.willusher.io/publications/cvamr/", "published_at": "2017-11-27T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c5dfd2c22", "title": "Progressive CPU Volume Rendering with Sample Accumulation", "url": "https://www.willusher.io/publications/savr/", "published_at": "2017-06-12T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c5e7177c2", "title": "In Situ Exploration of Particle Simulations with CPU Ray Tracing", "url": "https://www.willusher.io/publications/isp-jsfi/", "published_at": "2016-10-01T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c5ee40ff6", "title": "VTK-m: Accelerating the Visualization Toolkit for Massively Threaded Architectures", "url": "https://www.willusher.io/publications/vtkm/", "published_at": "2016-05-09T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c5efa840c", "title": "Distributed Rendering with Rust and Mio", "url": "https://www.willusher.io/2016/01/02/distributed-rendering-with-rust-and-mio/", "published_at": "2016-01-02T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c5fd496ee", "title": "Rendering an Animation in Rust", "url": "https://www.willusher.io/2015/12/16/rendering-an-animation-in-rust/", "published_at": "2015-12-16T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c60b9feaf", "title": "CPU Ray Tracing Large Particle Data with Balanced P-k-d Trees", "url": "https://www.willusher.io/publications/pkd/", "published_at": "2015-10-25T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c613e6f62", "title": "Porting a Ray Tracer to Rust, part 3", "url": "https://www.willusher.io/2015/05/15/porting-a-ray-tracer-to-rust-part-3/", "published_at": "2015-05-15T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c61f1432d", "title": "Porting a Ray Tracer to Rust, part 2", "url": "https://www.willusher.io/2015/01/30/porting-a-ray-tracer-to-rust-part-2/", "published_at": "2015-01-30T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c624e2d51", "title": "Porting a Ray Tracer to Rust, part 1", "url": "https://www.willusher.io/2014/12/30/porting-a-ray-tracer-to-rust-part-1/", "published_at": "2014-12-30T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c6273cf03", "title": "Postscript 1: Easy Cleanup", "url": "https://www.willusher.io/sdl2%20tutorials/2014/08/01/postscript-1-easy-cleanup/", "published_at": "2014-08-01T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c6369613b", "title": "Postscript 0: Properly Finding Resource Paths", "url": "https://www.willusher.io/sdl2%20tutorials/2014/06/16/postscript-0-properly-finding-resource-paths/", "published_at": "2014-03-16T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c63d9245b", "title": "Lesson 0: CMake", "url": "https://www.willusher.io/sdl2%20tutorials/2014/03/06/lesson-0-cmake/", "published_at": "2014-03-06T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c648d679e", "title": "Lesson 6: True Type Fonts with SDL_ttf", "url": "https://www.willusher.io/sdl2%20tutorials/2013/12/18/lesson-6-true-type-fonts-with-sdl_ttf/", "published_at": "2013-12-18T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c65536f03", "title": "Lesson 5: Clipping Sprite Sheets", "url": "https://www.willusher.io/sdl2%20tutorials/2013/08/27/lesson-5-clipping-sprite-sheets/", "published_at": "2013-08-27T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c65f7292a", "title": "Lesson 4: Handling Events", "url": "https://www.willusher.io/sdl2%20tutorials/2013/08/20/lesson-4-handling-events/", "published_at": "2013-08-20T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c669ccd9f", "title": "Lesson 3: SDL Extension Libraries", "url": "https://www.willusher.io/sdl2%20tutorials/2013/08/18/lesson-3-sdl-extension-libraries/", "published_at": "2013-08-18T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c675392ec", "title": "Lesson 1: Hello World", "url": "https://www.willusher.io/sdl2%20tutorials/2013/08/17/lesson-1-hello-world/", "published_at": "2013-08-17T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c67b6325d", "title": "Lesson 2: Don't Put Everything in Main", "url": "https://www.willusher.io/sdl2%20tutorials/2013/08/17/lesson-2-dont-put-everything-in-main/", "published_at": "2013-08-17T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c67fb64ec", "title": "Lesson 0: Linux Command Line", "url": "https://www.willusher.io/sdl2%20tutorials/2013/08/15/lesson-0-linux-command-line/", "published_at": "2013-08-15T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c6867cd70", "title": "Lesson 0: Mac Command Line", "url": "https://www.willusher.io/sdl2%20tutorials/2013/08/15/lesson-0-mac-command-line/", "published_at": "2013-08-15T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c693d128f", "title": "Lesson 0: MinGW", "url": "https://www.willusher.io/sdl2%20tutorials/2013/08/15/lesson-0-linux-mingw/", "published_at": "2013-08-15T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c69e97dda", "title": "Lesson 0: Setting Up SDL", "url": "https://www.willusher.io/sdl2%20tutorials/2013/08/15/lesson-0-setting-up-sdl/", "published_at": "2013-08-15T00:00:00+00:00" }, { "id": "01a08c62-f70e-7216-bfd0-d18c6a779811", "title": "Lesson 0: Visual Studio", "url": "https://www.willusher.io/sdl2%20tutorials/2013/08/15/lesson-0-visual-studio/", "published_at": "2013-08-15T00:00:00+00:00" } ] posts Claim your blog
Back to willusher.io
Blog · corpus.blog/blogs/willusher.io/posts

willusher.io

willusher.io

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013