Painting with Turbulence
Abstract In a 2012 article in Leonardo, Lior Shamir presented an image analysis of 513 works of art created by 9 well-known artists. The analysis used the Wndchrm algorithm, which is based on a large collection of numerical image content descriptors. The conclusion, surprising at first glance, was that the two artists whose work was most similar to one another were Vincent van Gogh, a post-Impressionist, and Jackson Pollock, an Abstract Expressionist. Nevertheless, in retrospect, the essence of the strong similarity can be captured in a single word, employed by Leonardo da Vinci some 500 years ago: turbulence. The goal of this project is to create a software system that provides an artist-directable framework for composing paintings that naturally carry the energy of turbulent flow. To this end, a 3D lattice-Boltzmann model is used to simulate flows with Reynolds numbers on the order of 10 million, e.g., air flow at 100 m/s, and this is coupled with a particle system generated by a commercial package, Houdini, to provide a 3D turbulent flow of paint droplets. At the user's option, the 3D flow can be captured by an arbitrarily placed, simulated canvas.
The paper appears in Proc. ACM SIGGRAPH 2016 Talks , Anaheim, California, July, 2016, Copyright ACM, full paper (.pdf): Painting with Turbulence


A Peridynamic Perspective on Spring-Mass Fracture
Abstract The application of spring-mass systems to the animation of brittle fracture is revisited. The motivation arises from the recent popularity of peridynamics in the computational physics community. Peridynamic systems can be regarded as spring-mass systems with two specific properties. First, spring forces are based on a simple strain metric, thereby decoupling spring stiffness from spring length. Second, masses are connected using a distance-based criterion. The relatively large radius of influence typically leads to a few hundred springs for every mass point. Spring-mass systems with these properties are shown to be simple to implement, trivially parallelized, and well-suited to animating brittle fracture.
The paper appears in Proc. ACM SIGGRAPH/Eurographics Symp. on Computer Animation (SCA 2014) , Copenhagen, Denmark, July, 2014, pp. 47 - 55, Copyright Eurographics Association. full paper (.pdf): A Peridynamic Perspective on Spring-Mass Fracture


A Virtual Graphics Card for Teaching Device Driver Design
Abstract Open source Linux has become increasingly popular as a vehicle for incorporating hands-on experience with a real system into both undergraduate and graduate operating systems courses. System virtualization tools, such as VMWare, Xen, VirtualBox, and KVM, allow students to freely experiment with kernel modifications without requiring dedicated hardware and without generating significant concern for the ill-effects of system crashes. Nevertheless, certain kernel projects that are highly desirable from an educational standpoint remain unavailable under standard approaches to virtualization. One such project that is known to carry substantial instructional value is the design and implementation of an SMP-safe driver for a high-performance graphics card. Standard virtualization tools export only a minimally-capable, SVGA graphics adapter, which is an inadequate architecture for such a project. This paper describes an extremely simple, kernel-independent, software tool for use by instructors of operating systems courses. The tool provides a virtual, high-performance graphics card that is suitable for Linux device driver design and implementation. The code for the virtual card, which is relatively short, is easily modified by instructors to present different interfaces each semester.
The paper appears in Proc. ACM SIGCSE Tech. Symp. on Computer Science Education (SIGCSE 2014) , Atlanta, Georgia, March, 2014, pp. 555 - 560, Copyright ACM. full paper (.pdf): A Virtual Graphics Card for Teaching Device Driver Design


τέχνη Trees: A New Course in Data Structures
Abstract The τέχνη method is an approach to undergraduate computer science education that is based on cognitive constructivisim, in the sense of Piaget, and which invokes several course design directives that include re-combining art and science, problem-based learning, problem selection from the visual problem domain, and cognitive apprenticeship. The paper describes a new τέχνη course in data structures. It includes a full comparative assessment of the realized improvement in student problem solving capability and, for the first time, cognitive authenticity in problem selection, in that the course problem is a variation on a very recent research result.
The paper appears in Proc. ACM SIGCSE Tech. Symp. on Computer Science Education (SIGCSE 2011) , Dallas, Texas, March, 2011, pp. 341 - 346, Copyright ACM. full paper (.pdf): τέχνη Trees: A New Course in Data Structures


Lattice-Boltzmann Lighting Models
Abstract A GPU-based implementation of a photon transport model is presented. It is seen to be particularly effective in global illumination of participating media, including atmospheric geometry such as clouds, smoke, and haze, as well as densely placed, translucent surfaces. The model provides the "perfect" GPU application in the sense that the kernel code can be structured to minimize control flow divergence and yet avoid all memory bank conflicts and uncoalesced accesses to global memory. Thus the speedups over single-core CPU execution are dramatic. Example applications include clouds, plants, and plastics.
The paper appears as Chapter 25 in GPU Computing GEMS Emerald Edition , Wen-mei Hwu, Editor, Morgan Kaufmann, January, 2011, copyright NVIDIA Corp.; full paper (.pdf): Lattice-Boltzmann Lighting Models



Lattice-Boltzmann Water Waves
Abstract A model for real-time generation of deep-water waves is suggested. It is based on a lattice-Boltzmann (LB) technique. Computation of wave dynamics and (ray-traced) rendering for a lattice of size 1024x1024 can be carried out simultaneously on a single graphics card at 25 frames per second. In addition to the computational speed, the LB technique is seen to offer a simple and physically accurate method for handling both dispersion and wave reflection from obstructing objects.
The paper appears in Proc. 6th Int. Symp. on Visual Computing, (ISVC 2010), Las Vegas, Nevada, November, 2010, published as G. Bebis et al. (Eds.): ISVC 2010, Part I, LNCS 6453, pp. 74-85, Springer, Heidelberg (2010), copyright Springer-Verlag; full paper (.pdf): Lattice-Boltzmann Water Waves
The original publication is available at www.springerlink.com.


Predicting Disk Scheduling Performance with Virtual Machines
Abstract A method for predicting the performance of disk scheduling algorithms on real machines using only their performance on virtual machines is suggested. The method uses a dynamically loaded kernel intercept probe (iprobe) to adjust low-level virtual device timing to match that of a simple model derived from the real device. An example is provided in which the performance of a newly proposed disk scheduling algorithm is compared with that of standard Linux algorithms. The advantage of the proposed method is that reasonable performance predictions may be made without dedicated measurement platforms and with only relatively limited knowledge of the performance characteristics of the targeted devices.
The paper appears in Proc. IFIP PERFORM 2010 Workshop , Vienna, Austria, October 2010, copyright IFIP/Springer; full paper (.pdf): Predicting Disk Scheduling Performance with Virtual Machines



Relighting Forest Ecosystems
Abstract Real-time cinematic relighting of large, forest ecosystems remains a challenging problem, in that important global illumination effects, such as leaf transparency and inter-object light scattering, are difficult to capture, given tight timing constraints and scenes that typically contain hundreds of millions of primitives. A solution that is based on a lattice-Boltzmann method is suggested. Reflectance, transmittance, and absorptance parameters are taken from measurements of real plants and integrated into a parameterized, dynamic global illumination model. When the model is combined with fast shadow rays, traced on a GPU, near real-time cinematic relighting is achievable for forest scenes containing hundreds of millions of polygons.
The paper appears in Proc. 5th Int. Symp. on Visual Computing, (ISVC 2009), Las Vegas, Nevada, November, 2009, published as G. Bebis et al. (Eds.): ISVC 2009, Part I, LNCS 5875, pp. 55-66, Springer, Heidelberg (2009), copyright Springer-Verlag; full paper (.pdf): Relighting Forest Ecsosystems
The original publication is available at www.springerlink.com.


Virtualizing High-Performance Graphics Cards for Driver Design and Development
Abstract Operating system virtualization tools such as VMWare, XEN, and Linux KVM export only minimally capable SVGA graphics adapters. This paper describes the design and implementation of a system that virtualizes high-performance graphics cards of arbitrary design to support the construction of authentic device drivers. Drivers written for the virtual cards can be used verbatim, without special function calls or kernel modifications, as drivers for real cards, should real cards of the same design exist. The applications of the system include both instruction in device driver design and allowing device driver design to proceed in parallel with new hardware development.
The paper appears in Proc. 19th Annual Int. Conf. of the IBM Centers for Advanced Studies (CASCON 2009), Toronto, Canada, November, 2009. full paper (.pdf): Virtualizing High-Performance Graphics Cards for Driver Design and Development


A Lighting Model for Fast Rendering of Forest Ecosystems
Abstract Real-time rendering of large-scale, forest ecosystems remains a challenging problem, in that important global illumination effects, such as leaf transparency and inter-object light scattering, are difficult to capture, given tight timing constraints and models that typically contain hundreds of millions of primitives. This paper proposes a new lighting model, adapted from a model previously used to light convective clouds and other participating media, together with a distribution of ray processing across multiple GPUs, in order to achieve these global illumination effects while maintaining near real-time performance. The lighting model is based on a lattice-Boltzmann method in which reflectance, transmittance, and absorptance parameters are taken from measurements of real plants. The lighting model is solved as a pre-processing step and requires only seconds on a single GPU. The ray tracing engine uses the well known short-stack algorithm, due to Horn, Sugerman, Houston, and Hanrahan. Both the pre-processing step and the ray tracing engine make extensive use of NVIDIA's Compute Unified Device Architecture (CUDA).
The paper appears in Proc. IEEE/EG Symposium on Interactive Ray Tracing (RT08), Los Angeles, California, August, 2008, pp. 99 - 106, and back cover, Copyright IEEE. full paper (.pdf): A Lighting Model for Fast Rendering of Forest Ecosystems


Convective Clouds
Abstract A new technique for rendering convective clouds is suggested. The technique uses two lattice-Boltzmann (LB) models, one for generating the spatial and temporal distribution of water density and the other for photon transport, that is, lighting the water density with correct anisotropic scattering. The common LB structure is easily mapped to parallel execution environments such as a GPU or multiple CPUs connected via the Message Passing Interface (MPI), thereby providing sub-minute execution times on commodity hardware.
The paper appears in Natural Phenomena 2007 (Proc. of the Eurographics Workshop on Natural Phenomena), Prague, Czech Republic, September, 2007, pp. 23 - 30, 83, and back cover, Copyright The Eurographics Association and Blackwell Publishing, UK. full paper (.pdf): Convective Clouds


τέχνη: Trial Phase for the New Curriculum
Abstract The τέχνη project, which provides an unusual alternative to the standard design of the computing curriculum for the bachelor's degree in computer science, is now entering full-scale implementation at Clemson University. The approach relies extensively on problem-based instruction, computer graphics, and the notion of cognitive apprenticeship. The novelty arises from the magnitude and origin of the problems to be integrated into the curriculum and the breadth of impact across the curriculum. The first three courses in the new curriculum are now being taught. The design of each course is described, and preliminary assessments from earlier trial sessions of the first two courses are offered.
The paper appears in Proc. ACM SIGCSE Tech. Symp. on Computer Science Education (SIGCSE 2007) , Covington, Kentucky, March, 2007, pp. 415 - 419, Copyright ACM. full paper (.pdf): τέχνη: Trial Phase for the New Curriculum


Re-Coloring Images for Gamuts of Lower Dimension
Abstract Color images have a gamut that typically spans three dimensions. Nevertheless, several important applications, such as the creation of grayscale images for printing and the re-coloring of images for color-deficient viewers, require a reduction of gamut dimension. This paper describes a technique for preserving visual detail while reducing gamut dimension. The technique is derived by focusing on the problem of converting color images to grayscale. A straightforward extension is then provided that allows re-coloring images for color-deficient viewers. Care is taken so that the resulting images remain within the available gamut and visual artifacts are not introduced.
The paper appears in Computer Graphics Forum, 25:3 (2005), pp. 423 - 432, Copyright The Eurographics Association and Blackwell Publishing, UK. full paper (.pdf): Re-Coloring Images for Gamuts of Lower Dimension


Detail Preserving Reproduction of Color Images for Monochromats and Dichromats
Abstract An algorithm that transforms color to grayscale preserves image detail by maintaining distance ratios during the reduction process. An extension of the transformation can aid color-deficient observers.
The paper appears in IEEE Computer Graphics & Applications, Special Issue on Smart Depiction for Visual Communication, 25:3 May-June, 2005, pp. 22 - 30, Copyright IEEE. full paper (.pdf): Detail Preserving Reproduction of Color Images for Monochromats and Dichromats


Lattice-Boltzman Lighting
Abstract A new technique for lighting participating media is suggested. The technique is based on the lattice-Boltzmann method, which is gaining popularity as alternative to finite-element methods for flow computations, due to its ease of implementation and ability to handle complex boundary conditions. A relatively simple, grid-based photon transport model is postulated and then shown to describe, in the limit, a diffusion process. An application to lighting clouds is provided, where cloud densities are generated by combining two well-established techniques. Performance of the new lighting technique is not real-time, but the technique is highly parallel and does offer an ability to easily represent complex scattering events. Sample renderings are included.
The paper appears in Rendering Techniques 2004 (Proc. Eurographics Symposium on Rendering), Norrköping, Sweden, June, 2004, pp. 355 - 362, Copyright The Eurographics Association. full paper (.pdf): Lattice-Boltzmann Lighting


τέχνη: A First Step
Abstract A new approach to the design of the computing curriculum for a Bachelor of Arts degree is described. The approach relies extensively on problem-based instruction and computer graphics. The novelty arises from the magnitude and origin of the problems to be integrated into the curriculum and the breadth of the impact across the curriculum. Results from a trial course, the first experiment with the new approach, are described. The course, Tools and Techniques for Software Development, is a sophomore-level course in programming methodology. Construction of a ray-tracing system (for generating synthetic images) was the vehicle chosen for the instruction.
The paper appears in Proc. ACM SIGCSE Tech. Symp. on Computer Science Education (SIGCSE 2004) , Norfolk, Virginia, March, 2004, pp. 125 - 129, Copyright ACM. full paper (.pdf): τέχνη: A First Step


geist@cs.clemson.edu