Solomon Boulos’s research while affiliated with Stanford University and other places

What is this page?


This page lists works of an author who doesn't have a ResearchGate profile or hasn't added the works to their profile yet. It is automatically generated from public (personal) data to further our legitimate goal of comprehensive and accurate scientific recordkeeping. If you are this author and want this page removed, please let us know.

Publications (31)


Representing polarized light in computer models
  • Patent
  • Full-text available

April 2014

·

13 Reads

·

Solomon Boulos

·

·

Austin Huff Robison

The present invention extends to methods, systems, and computer program products for representing polarized light in computer models. A rendering pipeline receives three dimensional modeling data (e.g., geometric primitives) for rendering a two dimensional image are received. The modeling data includes data representing a light source The light energy from the simulated transmission of particles at each pixel of the two dimensional image is calculated for any particles transmitted in an adjoint direction from a specified view point back to the light source. The light energies from each pixel are summed to calculate the total light energy present at the specified view point. The total light energy can be forwarded to other modules in rendering pipeline to more accurately render the two dimensional image, such as, for example, representing polarized light in the two dimensional image.

Download

Figure 4: The required sampling frequencies are calculated using several quantities, which are shown for a frame from the ARENA scene. Left: The minimum circle of confusion radius of the primitives. Center: The minimum screen space velocity of the primitives (with constant vertex velocity approximation). Right: Span of motion directions, ˆ θ.
Figure 7: Sampling grids in shading space (top row) and the corresponding frequency domain replicas of Ω max ∆ (bottom row): (a) Packing along y followed by packing along x (b) Sampling grid oriented alongêµalongˆalongêµ. The oriented sampling grid gives the best packing of frequency replicas.
Figure 10: Quality comparison between Decoupled Sampling (DS, left) and Adaptive Anisotropic Sampling (AAS, right). Top: ARENA scene. The foreground blur on pillar ornament is accurately reproduced. The far wall has a high frequency bump map which is reproduced to a lesser degree of accuracy due to inadequate bandlimiting in the shader. Motion on dragon wings is reproduced very well. Middle: SUBD scene. This is a challenging scene due to a large number of specular objects. With AAS smoother regions such as the face are accurately reproduced while sharp specular regions including the backpack and the gun have minor noise artifacts. Bottom: CITADEL scene. This scene has large motion blur which results in noisy images with only 16 samples per pixel. However AAS produces less noise as a result of improved texture filtering. The anisotropic features on the signboard (middle inset) are well preserved with a 16 tap anisotropic filter. There are small differences in the background region which can be caused by filtering across texture seams.
Adaptive Image Space Shading for Motion and Defocus Blur

June 2012

·

186 Reads

·

15 Citations

Karthik Vaidyanathan

·

Robert Toth

·

·

[...]

·

We present a novel anisotropic sampling algorithm for image space shading which builds upon recent advancements in decoupled sampling for stochastic rasterization pipelines. First, we analyze the frequency content of a pixel in the presence of motion and defocus blur. We use this analysis to derive bounds for the spectrum of a surface defined over a two-dimensional and motion-aligned shading space. Second, we present a simple algorithm that uses the new frequency bounds to reduce the number of shaded quads and the size of decoupling cache respectively by 2X and 16X, while largely preserving image detail and minimizing additional aliasing.


P.: Reducing shading on GPUs using quad-fragment merging

July 2010

·

192 Reads

·

30 Citations

ACM Transactions on Graphics

Current GPUs perform a significant amount of redundant shading when surfaces are tessellated into small triangles. We address this inefficiency by augmenting the GPU pipeline to gather and merge rasterized fragments from adjacent triangles in a mesh. This approach has minimal impact on output image quality, is amenable to implementation in fixed-function hardware, and, when rendering pixel-sized triangles, requires only a small amount of buffering to reduce overall pipeline shading work by a factor of eight. We find that a fragment-shading pipeline with this optimization is competitive with the REYES pipeline approach of shading at micropolygon vertices and, in cases of complex occlusion, can perform up to two times less shading work.


Space-time hierarchical occlusion culling for micropolygon rendering with motion blur

January 2010

·

42 Reads

·

10 Citations

Occlusion culling using a traditional hierarchical depth buffer, or z-pyramid, is less effective when rendering with motion blur. We present a new data structure, the tz-pyramid, that extends the traditional z-pyramid to represent scene depth values in time. This temporal information improves culling efficacy when rendering with motion blur. The tz-pyramid allows occlusion culling to adapt to the amount of scene motion, providing a balance of high efficacy with large motion and low cost in terms of depth comparisons when motion is small. Compared to a traditional z-pyramid, using the tz-pyramid for occlusion culling reduces the number of micropolygons shaded by up to 3.5x. In addition to better culling, the tz-pyramid reduces the number of depth comparisons by up to 1.4x.


Figure 10: We seek tessellations containing micropolygons of approximately 0.5 pixels in area. In the images above, green pixels are covered by micropolygons very close to the target size. Red and blue pixels indicate overtessellation and undertessellation respectively. For all scenes, DIAGSPLIT generates a tessellation that is as good as or better than alternative approaches (Zinkia scene c Zinkia Entertainment, S.A.).  
DiagSplit: Parallel, Crack-free, Adaptive Tessellation for Micropolygon Rendering

December 2009

·

392 Reads

·

25 Citations

ACM Transactions on Graphics

We present DiagSplit, a parallel algorithm for adaptively tessellating displaced parametric surfaces into high-quality, crack-free micropolygon meshes. DiagSplit modifies the split-dice tessellation algorithm to allow splits along non-isoparametric directions in the surface's parametric domain, and uses a dicing scheme that supports unique tessellation factors for each subpatch edge. Edge tessellation factors are computed using only information local to subpatch edges. These modifications allow all subpatches generated by DiagSplit to be processed independently without introducing T-junctions or mesh cracks and without incurring the tessellation overhead of binary dicing. We demonstrate that DiagSplit produces output that is better (in terms of image quality and number of micropolygons produced) than existing parallel tessellation schemes, and as good as highly adaptive split-dice implementations that are less amenable to parallelization.



Figure 1: This dynamic scene with 63k static and 171k animated triangles can be ray traced with 7.2 fps at 1024 2 pix- 
Figure 5: “Cally” featuring self shadowing in interactively changeable poses, ray traced with 4 frames per second at 1024 2 pixels on a single 2.4 GHz AMD Opteron [GFSS06]. 
State of the Art in Ray Tracing Animated Scenes

September 2009

·

451 Reads

·

183 Citations

Ray tracing has long been a method of choice for off‐line rendering, but traditionally was too slow for interactive use. With faster hardware and algorithmic improvements this has recently changed, and real‐time ray tracing is finally within reach. However, real‐time capability also opens up new problems that do not exist in an off‐line environment. In particular real‐time ray tracing offers the opportunity to interactively ray trace moving/animated scene content. This presents a challenge to the data structures that have been developed for ray tracing over the past few decades. Spatial data structures crucial for fast ray tracing must be rebuilt or updated as the scene changes, and this can become a bottleneck for the speed of ray tracing. This bottleneck has recently received much attention by researchers and that has resulted in a multitude of different algorithms, data structures and strategies for handling animated scenes. The effectiveness of techniques for ray tracing dynamic scenes vary dramatically depending on details such as scene complexity, model structure, type of motion and the coherency of the rays. Consequently, there is so far no approach that is best in all cases, and determining the best technique for a particular problem can be a challenge. In this State of the Art Report (STAR), we aim to survey the different approaches to ray tracing animated scenes, discussing their strengths and weaknesses, and their relationship to other approaches. The overall goal is to help the reader choose the best approach depending on the situation, and to expose promising areas where there is potential for algorithmic improvements.


Data-parallel rasterization of micropolygons with defocus and motion blur

August 2009

·

229 Reads

·

57 Citations

Current GPUs rasterize micropolygons (polygons approximately one pixel in size) inefficiently. We design and analyze the costs of three alternative data-parallel algorithms for rasterizing micropolygon workloads for the real-time domain. First, we demonstrate that efficient micropolygon rasterization requires parallelism across many polygons, not just within a single polygon. Second, we produce a data-parallel implementation of an existing stochastic rasterization algorithm by Pixar, which is able to produce motion blur and depth-of-field effects. Third, we provide an algorithm that leverages interleaved sampling for motion blur and camera defocus. This algorithm outperforms Pixar's algorithm when rendering objects undergoing moderate defocus or high motion and has the added benefit of predictable performance.


Figure 15: Instead of applying mean shifting to the final image, as in Figure 14, we instead used the intuitive oRGB axes as a color "variations" selector for the diffuse term in a car rendering.
Figure 16: Bottom: shading from Gooch et al. Top: the luma channel in oRGB is modified to partially resemble traditional Gouraud style shading while maintaining a cool-to-warm transition.
Figure 19: Linear version of our model for color transfer (original and target images are the same as the ones used in 17 and 18).
oRGB: A Practical Opponent Color Space for Computer Graphics

March 2009

·

1,282 Reads

·

67 Citations

IEEE Computer Graphics and Applications

Designed for computer graphics, oRGB is a new color model based on opponent color theory. It works well for both HSV-style color selection and computational applications such as color transfer. oRGB also enables new applications such as a quantitative cool-to-warm metric, intuitive color manipulation and variations, and simple gamut mapping.


Fig. 3. Replacing the Blend input queue from Figure 1 with a queue set enables parallel instancing.
GRAMPS: A programming model for graphics pipelines

February 2009

·

163 Reads

·

62 Citations

ACM Transactions on Graphics

We introduce GRAMPS, a programming model that generalizes concepts from modern real-time graphics pipelines by exposing a model of execution containing both fixed-function and application-programmable processing stages that exchange data via queues. GRAMPS allows the number, type, and connectivity of these processing stages to be defined by software, permitting arbitrary processing pipelines or even processing graphs. Applications achieve high performance using GRAMPS by expressing advanced rendering algorithms as custom pipelines, then using the pipeline as a rendering engine. We describe the design of GRAMPS, then evaluate it by implementing three pipelines, that is, Direct3D, a ray tracer, and a hybridization of the two, and running them on emulations of two different GRAMPS implementations: a traditional GPU-like architecture and a CPU-like multicore architecture. In our tests, our GRAMPS schedulers run our pipelines with 500 to 1500KB of queue usage at their peaks.


Citations (28)


... [26,27]. Kautz et al. [28] and Xu et al. [29] extended BTF by editing operations, allowing modification of its local geometrical and reflectance properties. Alternatively, anisotropic effects can be also introduced using statistical models. ...

Reference:

Image-based appearance acquisition of effect coatings
Interactive editing and modeling of bidirectional texture functions
  • Citing Article
  • July 2007

ACM Transactions on Graphics

... Stochastic sampling approaches (e.g., [2,[6][7][8][9][10][11] ) exploit computational features hardwired on modern GPUs to randomly sample the triangles occluding a pixel both in time and space. Stochastic methods are more efficient than the brute force approach, but still require many samples per frame and tend to suffer from sampling noise, which is magnified as the per-frame length of the motion increases. ...

Adaptive Image Space Shading for Motion and Defocus Blur

... Some researchers have focused on reordering how ray and scene data is accessed by utilizing a form of streaming [23], [24], [25], [26], or applying the SIMD processing paradigm to the algorithm [24], [27], [28]. Collecting ray and scene data requests through software means is also a widely studied solution [2], [3], [4], [29], [30], [31], [32]. ...

SIMD Ray Stream Tracing - SIMD Ray Traversal with Generalized Ray Packets and On-the-fly Re-Ordering

... Depending on the type of patch and subdivision rules, the effort can be rather low, but may potentially perform redundant computations. Therefore, attempts were made to amortize this cost across groups of rays either by exploiting coherence of primary rays [LG90], by predefining bundles of primary rays [BBLW07], or by sorting batches of rays [HKL10]. As the potential re-use for large scenes, high subdivision depths, and small cache sizes may be small and at the same time the performance of modern massively parallel processors is very fast compared to memory access, subdividing independently for each ray individually is getting more and more interesting. ...

Packet-based Ray Tracing of Catmull-Clark Subdivision Surfaces

... Ray packets [Wald et al. 2001] offer another possibility to map ray tracing to vector instructions by processing a different ray in each vector element simultaneously. Bounding volumes for ray packets such as frustums, intervals and corner rays [Boulos et al. 2006] can be used to cull nodes conservatively to reduce the number of ray-bounding box intersections. Rays within a packet must be coherent, i.e. follow the same traversal path in order to be active at the same time. ...

Geometric and Arithmetic Culling Methods for Entire Ray Packets

... However, other options (e.g., kd-tree [9], bounding interval hierarchy [10], uniform grid [11]) are also possible. Other directions of work on ray tracing include different methods for the improvement of the quality of the resulting image (e.g., multi-sampling and anti-aliasing [12], defocus effect and motion blur [13,14]), which can necessitate changes in the algorithm itself. The fundamental application of ray tracing to 3D visualization has already been described by several researchers. ...

Interactive Distribution Ray Tracing

... With the innovation of graphics APIs such as OpenGL and Direct3D in the 1990's, the priorities of graphics programmers shifted. In response, many instructors transformed their graphics classes to use OpenGL and emphasized interactive camera control over raster line algorithms [12]). Today, most graphics textbooks follow this newer course model and are written for students programming in C++ using OpenGL. ...

Rethinking graphics and gaming courses because of fast ray tracing

... Keller [48] was the first to adopt qMC for rendering photorealistic images in computer graphics where the problem of simulating light transport can be mathematically represented as an integral over all possible light paths from source to camera. Many algorithms involving sampling with LD nodes have since been developed much further in [52,82,50,54,49,48]. (Remarkably, Monte Carlo methods have even been awarded with an Academy Award for visual effects in movie making [91,74].) ...

Monte Carlo and Quasi-Monte Carlo Methods for Computer Graphics
  • Citing Chapter
  • January 2008

... If another polygon pixel has the same pixel position to the current polygon pixel, the depth value comparison will determine whether or not to overwrite the P and D arrays. This is similar to the commonly used z-buffer method in computer graphics [42]. The z-buffer approach is one solution to the visibility problem, which tests the z-depth of each surface to determine the closest (visible) surface to the sensor. ...

Fast ray tracing and the potential effects on graphics and gaming courses
  • Citing Article
  • April 2008

Computers & Graphics

... There are many ways to divide the work in the ray-tracing algorithm. DeMarle et al. divided the scene into different storage nodes [42] and then communicated data through the memory sharing method to complete the distributed ray-tracing calculation. After that, Thiago Ize et al. further improved the speed of the parallel acceleration method of DeMarle et al. through hardware equipment upgrades and adding new acceleration algorithms and communication mechanisms [43] to achieve realtime ray-tracing effects. ...

Memory sharing for interactive ray tracing on clusters
  • Citing Article
  • February 2005

Parallel Computing