Ray Tracing in Electronic Games

Size: px
Start display at page:

Download "Ray Tracing in Electronic Games"

Transcription

1 Ray Tracing in Electronic Games Hugo Sereno Ferreira MAPi Doctoral Programme in Computer Science University of Minho, Aveiro and Porto Abstract. The past ten years in computer graphics renderization have been dominated by graphics processing units (GPUs) that use the z- buffer algorithm to compute visibility. However, ray tracing has been known to produce higher quality, physically correct output at the expense of enormous processing power. For this reason, ray tracing was systematically delegated to off-line production of photorealistic images in areas such as architecture, industrial design, film animation and special effects. Nowadays, exploiting the parallelization of current hardware, allied with research advancements in the area, ray tracing is increasingly become a viable alternative to the z-buffer algorithm in interactive applications, such as games. In a near-future time-frame, it is possible that ray tracing will become the standard rendering algorithm, implying a fundamental change in how next-generation games will be developed and in the graphics they ll be able to produce. Key words: Real-Time, Raytracing, Games, RPU, Renderization. 1 Introduction There is no doubt that much of the advancements done in recent years in the area of Computer Graphics are mainly due to the huge industry Electronic Games represent. Gamers all around the world typically tend to invest their money upon the newest, fastest machines industry can provide them, and there s no sign this tendency will slowdown as computers (and game consoles) increasingly dominate the commodity space at everyone s home. Therefore, game companies and hardware makers seriously invest in research to always have the next-generation of graphics not too far away. There are two main techniques to synthesize interactive 3D images into a computer screen, namely (a) rasterization through the use of a z-buffer and (b) ray-tracing. Their goal is to solve a large, complex integral equation which researchers have called the rendering equation, in order to generate highly realistic images (commonly known as photorealistic). Because we are interested in interactive applications, these algorithms must achieve their purpose at animationlevel frame-rates (i.e. between 30 and 60 fps). Though, while real-time rasterization has been present in commodity machines for more than a decade now, mainly through the use of discrete hardware

2 2 processing units (i.e GPUs) highly optimized for the process, the computational power required by ray-tracing was not available until very recently. This work aims to present a state-of-the-art overview concerning real-time interactive ray-tracing on current and near-future commodity computers, especially applied to electronic games. It is largely based upon previous state-of-theart reports from specialists in the area, such as [1], [2], [3] and [4]. In the first section, arguments from ray-tracing proponents specifying where this algorithm surpasses rasterization will be presented. The second part will focus on optimization techniques, both at low (machine specific) and high-level (conceptual), used to increase performance in order to reach animation-level frame-rates. Third section will be about the specific advantages ray-tracing brings to the electronic games world. Fig. 1. OpenRT real-time renders of (a) a BMW showing reflections and refractions by using glossy materials and an HDR outer sphere as a lighting source, (b) model of a car headlight with physically correct simulation of light transport, and (c) the Sponza scene showing indirect lighting and soft-shadows due to Global Illumination techniques. This level of realism and physical correctness would be otherwise impossible to achieve using typical rasterization algorithms. 2 Ray-Tracing vs Rasterization If rasterization is already proven to work, many question the advantages of dedicating effort to bring ray-tracing up to its level. Answers to this question seem to divide the research community. There are, however, some concrete forces where ray-tracing elegantly surpasses known rasterization algorithms: 2.1 Advantages of Ray Tracing Shadows, Reflections and Refractions. Achieving realistic soft shadows in scenes with multiple light sources, correct reflections and refractions is a complex problem in rasterization, and many hours of research have been dedicated to new approximations for these tasks. However, regardless of the ingenious and complex algorithms involved, none of them is able to produce the mathematically correctness and photorealism that ray tracing delivers.

3 3 eye screen ray T 3 T 3 T 2 pixel T 2 T 1 T 1 z-buffer ray tracing Fig. 2. The z-buffer algorithm works by geometric projection of a triangle towards the screen, storing both pixels distance to the eye (the z value) and its color, unless a smaller distance was already stored. Conversely, ray-tracing shoots a ray into the object space, finding the closest intersection. Large data-sets. Calculating the visibility of an object is a main element of any rendering technique. Due to the nature of the z-buffer algorithm, time complexity increases linearly w.r.t the number of objects, compared to sublinear complexity of ray-tracing. While there are techniques to achieve sublinear time in rasterization, like occlusion culling, randomized culling and level-of-detail management, they add complexity and data restrictions to the implementations. Efficient Shading. Another problem due to the nature of the z-buffer lies in the fact that there occur calculations of pixel colors of objects present in the scene, regardless of being occluded by others. Because visibility is first calculated in ray-tracing disregarding shading color, only objects that are indeed visible need to have their shading routines executed. Non-Triangle Primitives. Current generation of real-time rasterization algorithms are dependent upon the scene being described as meshes of triangles. This fact implies that curved object models be tessellated, loosing their original properties in lay of approximations built with triangles. Conversely, raytracing supports higher-order objects, like curved surfaces such as NURBS in their native form without any need of tessellation, greatly simplifying models production and ultimately reducing memory requirements for model specification. Indirect Illumination. Light bounces from materials to materials, such that an entire scene can be illuminated mainly by the light bouncing through walls and mirrors. This behavior is commonly known as inter-reflections, as its simulation in rasterization with current generation algorithms [5] is awkward, complex and results in fundamentally incorrect images. Ray-tracing inherently solves this problem by casting additional rays to other objects and considering their light contribution to the illumination of any considered point.

4 4 Volume data. Volumetric data support in ray-tracing, like smoke, fog, or more generally participating media, comes naturally with the algorithm. These artifacts are modeled as semitransparent volumetric primitives with dedicated shaders. Scalability. It has been demonstrated that ray-tracing is embarrassingly parallel as long as enough bandwidth to the scene data base is provided [6], [7]. ARTICLE IN PRESS P. Shirley et al. / Computers & Graphics 32 (2008) Fig. 1. Ray tracing can robustly and naturally support next generation visual effects not easily combined with GPU graphics including depth-of-field, Fig. 3. The system presented in [8] can easily support visual effects such as depth-ofeld, motion blur, glossy and specular reflection, soft shadows, and correct refraction, motion blur, glossy and specular reflection, soft shadows, and correct refraction. More details on the system that generated of these images are available in [5]. for which very complex algorithms are needed in current-generation rasterization algorithms, often yielding incorrect and visually unpleasant results. in the number of objects while the z-buffer is linear in the number of objects. It is ray tracing s larger time constant and lack of a commodity 2.2 Current hardware Raytracing implementation Problems that makes the z-buffer a faster choice for data sets that are not huge. Ray tracing is better suited for creating shadows, reflections, and refractions because it directly simulates the physics of light. Ray oftracing complex, enables realistic thesescenes: forms of isolated visibility queries that are problematic (or impossible) for the z-buffer algorithm. Ray tracing also allows flexibility in the intersection computation for the primitive objects that allows non-polygonal primitives such as splines or curves to be represented directly. Unfortunately, computing these visual effects based on simulating light rays is computationally expensive, especially on a general-purpose CPU. The ray tracing algorithm currently requires tens to hundreds of CPUs to be interactive at full-screen resolution. Games have driven almost all desktop 3D graphics, and we believe that trend will continue. Because ray tracing is well-suited to support a quantum leap in the ability of games to support higher-order surfaces, complex models, and high quality lighting, this we technique. believe games will migrate to using it once ray tracing is fast enough. In this paper we commonly believed. Finally, we discuss what the implications of this change are for graphics and games education. Regardless of the above mentioned advantages 2. Ray of ray-tracing, versus there rasterization are still complex downsides that must be coped with in order to achieve real-time rendering In this section we review the ray tracing and z-buffer algorithms, the applications that use them, the perfor- rasterization, such applications ray-tracingdemand, suffers from and the various ways High constant time. When compared tomance an high constant time which directly invalidates such performance the gains might of sublinear be delivered. time complexity for enough small scenes. However, Current several GPUsresearchers are based assert on thethat z-buffer [1] which is a the main difference is because of thestraightforward hardware implementation algorithm. Inofhardware the rasterization algorithm. Since then, prototypes typicallyofhas specialized two framehardware buffers; one for for raycolor and one for z implementations it tracing have been constructed and shown (depth) thevalues. possibility Whileof computing achievingone interactive frame-rates with very high visual back quality buffer), output. it displays the other (the front buffer). of the color buffers (the Visual artifacts. Because there is camera When and all object of the movement colors are in computed interactive in the back buffer, the applications, visual artifacts due to discretization two buffers are in swapped pixel sampling, (the front when becomes the back and vice versa) and the new set of colors are displayed. The subpixel objects of different color moves over the pixel center, pose a main z-buffer is only used while computing the new colors in the unwanted effect. The solution relies on subpixel sampling, which has the back buffer. Computing the back buffer is a loop over all side-effect of also providing anti-aliasing at the cost of extra-rays involved in triangles: Scene access bandwidth. Because the initialize ray tracing all algorithm pixel colorsistobounded, background notcolor argue that it is feasible to make ray tracing fast enough, by CPU, but by memory access bandwidth initialize [6], all [7], pixel fastz implementations values to 1 of and that this implies that migration will take place. Because such a migration implies a basic change of algorithm, it will have major effects on both future graphics and games related courses. The main purposes of this paper are to analyze these issues and examine how courses related to graphics and games might be effected. Another reason we think ray tracing should have more of a place in computer graphics classes is that academics are well ahead of industry in ray tracing research. This enables an instructor to make the students feel like they are in the club in a way that their cohorts in industry are for all N triangles do for each pixel p that triangle might be seen through do compute color c new and depth z new if z new oz p then c p ¼ c new z p ¼ z new. The if statement is how the hidden surface elimination remains simple; overlapping polygons settle their order by means of storing the closest depth value seen so far in the triangle loop. This algorithm s runtime is proportional to

5 5 ray tracing need to minimize random access to memory by using techniques such as taking advantage of coherence [6], [9] to exploit fast caching memory present in modern CPUs. Scalability beyond 16 cores, such as Intel s Terascale research [10], will certainly need careful techniques to avoid bandwidth starvation. are caustics caused by the cons or refractions (see Figure 5). al clues, especially with transuids. These scenes would look ics illumination effects. onsidered the only robust and austic effects. In a first pass tic photons in the scenes via n the second pass it then uses compute the caustic illuminaped directly to ray tracing (see ve frame rates even on a single ith up to 25 levels of recursive headlight with highly curved eed to be traced to achieve an ple from the industrial use of ortant multiple reflections for Fig. 4. Figure These caustic 5: Caustic effects effects are caused caused by by multiple multiple reflections reflections and refractions or refrac-otions between are well different handled media. by photon mapping based on ray tracing. light bouncing This images can be rendered at approximately 15 fps on a cluster of PCs with a resolution of pixels. cost. Typically radiosity methsed to compute the indirect illu- Simulation and games demand interactivity and currently use z-buffer hardware In summary, one can quote the work presented in [4] which concludes that tex colors or light textures. Onealmost3exclusively. Games However, usingthey Ray spendtracing a great deal Projects of effort and programmer pre-computed radiance transfertime creating complicated hacks to fake lighting effects and reduce N [time al. 2002], which allows chang-constantthrough a distant environmentqualityintoorder that generated to explore bythe rayrequirements tracing. Those and industries benefitswould of rayuse tracing ray tracing by model simplification and in the end they have imagery of inferior if it were based fastgames enough. we performed a number of experiments. On the one hand we re-implemented several existing rasterization based games, efficiently compute indirect illler 1997]. In a first pass this Auto: Vice City Ray-Tracing [Rockstar Games Performance 2002]. On the other hand we including Quake 3: Arena [id Software 1999] and Grand Theft 3 Increasing rces in the scene through a ranhese light sources are used to to be available and explores this new design space. developed the game Oasen that assumes fast ray tracing hardware There are three fundamental operations required by typical implementations of ray-tracing: hadow computations. This apimplementation using fast rayray Traversal. Intersecting a ray with the spatial data structure that encapsulates 3.1 the QuakeRT scene objects. et al. 2003] that already runs in Object Intersection. Intersecting the ray with the primitive objects contained in the In 2004, selected a student data structure project leaf [Schmittler nodes. et al. 2004a] was realized Shading. Computing the illumination and color of the pixel based on the in- which implemented a complete graphics engine using the OpenRT tersection API in order with to theplay primitive a simplified objectversion and the ofcollection Quake 3. of the contributions from the secondary ray segments. The goal was to fully support all graphical effects of Quake 3 as well as a collision detection system using ray tracing. Other nongraphic related algorithms like AI were simplified. Figure 6 shows some screenshots rendered on a PC cluster at 20 fps with a screen size of pixels and 4 full screen anti-aliasing.

6 are caustics caused by the cons or refractions (see Figure 5). al clues, especially with transuids. These scenes would look ics illumination effects. onsidered the only robust and austic effects. In a first pass6 tic photons in the scenes via n the second pass it then uses compute the caustic illuminaped directly to ray tracing (see ve frame rates even on a single In 2004, a student project [Schmittler et al. 2004a] was realized which implemented a complete graphics engine using the OpenRT API in order to play a simplified version of Quake 3. The goal was to fully support all graphical effects of Quake 3 as well as a collision detection system using ray tracing. Other nongraphic related algorithms like AI were simplified. Figure 6 shows some screenshots rendered on a PC cluster at 20 fps with a screen size of pixels and 4 full screen anti-aliasing. ave very recently also been imare [Ernst et al. 2005; Dachse approaches are quite limited. of light and completely ignore se of the difficulty to compute uited to compute the visibility g algorithms. Its close match physically-based computation ty when combining geometric ay manner. Finally, ray tracx models efficiently and can be Fig. 5. irect illumination that is likely Figure Port of6: Quake Various 3 toscreenshots the OpenRTofEngine. QuakeRT Fromfeaturing top to bottom, several shadingwith effects detailed likemodel complex geometry colored without shadows using from bump-mapping, many objects, (b) mul- presence of left to right: (a) walls ames due to its significant role multiple detailed objects, (c) multiple reflective spheres and (d) spot lights. tiple reflective spheres, and spot lights. Efforts in achieving real-time ray tracing focus on improving the performance 44 of the above mentioned steps. The first one, Ray Traversal, is of extreme importance when calculating the visibility of objects, since it can discard huge quantities of information based on intersecting rays with simple bounding geometries, instead of testing the intersection with every object present in the scene world. The use of spatial data-structures has been a common strategy in off-line rendering, since the typical time for constructing represent a small fraction of the final rendering time. But interactive applications like games, poses new difficulties regarding spatial structures, mainly because of the scene s dynamic nature, which can potentially imply it to be updated (or reconstructed) every frame. The constant time to build and update these structures become then an important factor when balancing the final slice of rendering time. The second operation, Object Intersection, returns the exact intersection point with every object contained in the leaf nodes of an intersected boundary geometry. The final operation, Shading, uses a mathematical model to output the color of the pixel at the point of intersection of the ray with the primitive object. In classic ray tracing, this model would only take into account direct illumination from visible light sources, reflection and refraction rays. But ray tracing with Global Illumination methods are deeply recursive, since it also takes into account the light contribution of other objects in the scene, significantly raising

7 7 the number of fired rays, and requiring the re-execution of the above mentioned steps for each secondary ray. 3.1 Low-level Optimizations Low-level optimizations focus on taking advantage of hardware-level facilities without any significant change in the ray tracing engine. The most common researched (and implemented) optimizations are the following: SIMD. Single-Instruction, Multiple-Data instructions, such as Intel s SSE and AMD s 3DNow, allow the execution of the same floating point instruction in parallel on several data values. In ray-tracing, they have been used to simultaneously intersect a packet of four rays 1 with a single object, yielding experimental speed-ups ranging between 3.5 and 3.7. Multi-threading. Industry s answer to the increasing difficulty of achieving higher performance due to natural physics limitations is to focus on higher number of processing units within a single chip. Nowadays, virtually every commodity processor is double-core, with quad and eight-core becoming the standard in near-future. Because of the inherently scalability characteristic of ray-tracing, and the platforms ability to automatically balance threads between processors, multi-threading is an easy technique to take advantage of the multi-core paradigm of CPUs [6]. Raytracing Processing Unit (RPU). Similarly to what has happened with rasterization, the implementation of dedicated hardware specialized in performing ray tracing tasks can improve performance by orders of magnitude. Prototypes done with FPGA chips, even when operating at clock rates 40 times slower and memory bandwidth 30 times less of a typical CPU architecture, are able to yield between 50% and 160% increases in performance [11]. Programmable Pipelines in GPUs. While the hardware for an industriallevel RPU is not here for commodity computers, some researchers tried to use the vertex and fragments programmers available in current-generation GPUs as a general programmable stream processor. The work presented in [12] shows that a GPU-based implementation of ray-tracer is feasible, though the performance increase is not what was expected, mainly due to an architecture mismatch between the recursive nature of the algorithm and the feed-forward design of GPUs. Other low-level optimizations include inlining, expanding variables to vectors, memory management, cache line alignment and usage of const keyword in C/C++ compilers. More information can be found in [3]. 1 This is due to SSE and 3DNow instructions operating over 4 different values at once.

8 8 Figure 9: Forest scene with 365,000 plants and a total number of 1.5 billion triangles. Note the detailed shadows on leaves and the smooth illumination on the trunks due to integrating illumination from the entire sky. Fig. 6. This forest scene is composed with 365,000 plants, summing up to approximately 1.5 billions of triangles. The soft-shadows and smooth illumination upon leaves and trunks are due to integrating illumination from the entire sky. ago [Reinhard et al. 2000; Lext and Akenine-Möller 2001; Wald et al. 2003b] but they are limited to a small subset of animation types (rigid body only) or they are not fast enough to deliver interactive rendering performance. 3.2 High-level Optimizations The difficulty in dynamic ray tracing lies in maintaining spatial index structures that organize all scene geometry in order to significantly reduce the number of expensive ray intersection calculations. With their help typically only a few (< 5) primitives need to be tested for intersection with a given ray even if the scene contains billions of them. High-level optimizations require some new conceptual techniques to accelerate ray-tracing performance. The following two concerns represent the most important advancements done to increase the performance 6 HardwareofSupport ray tracing for Ray implementa- Tracing Kd-trees are widely used for achieving realtime ray tracing performancetions: However, their spatial subdivision approach made it difficult and costly to update it after changes to geometry. Fortunately, the situation improved drastically this year. By exploiting coherence with packets of many rays, competitive realtime ray tracing performance was also demonstrated with grids [Wald et al. 2006b] as well as with BVHs [Wald et al. 2006a]. Additionally, two methods were proposed that allow for very fast updates to kd-trees. Firstly, a hybrid b-kd-tree acceleration structure combines the fast update properties of the BVH with the high ray tracing performance of the kd-tree and is already implemented in hardware [Woop et al. 2006]. And secondly, fuzzy kd-trees together with a motion decomposition approach avoid the costly rebuilt of kd-trees almost completely at least for some types of animation [Günther et al. 2006]. All these novel techniques provide realtime ray tracing performance for much more general dynamics than was ever possible before. The rendering of predefined animations, skinned meshes, and even more flexible deformations of the scene geometry are now supported by ray tracing. Thus ray tracing is at least competitive with rasterization in rendering dynamic worlds created by today s games. Towards Fully Dynamic Game Environments Traditionally games rely on precomputations to gain speed, e.g. they use pre-computed radiosity solutions [Cohen and Wallace 1993] stored in light maps or pre-computed radiance transfer (PRT) [Kautz et al. 2002; Sloan et al. 2002]. Pre-computation is also necessary to allow for visibility culling, reducing the number of polygons sent to rasterization hardware by e.g. potential visible sets (PVS) [Airey et al. 1990], binary space partition (BSP)-trees [Fuchs et al. 1980], or portals [Luebke and Georges 1995]. Thus most games are essential a walkthrough application with moving objects: Really changing the geometry such as destroying (parts of) buildings or digging holes into the landscape is seldom possible. The only exception we know of is Red Faction with the GeoMod engine [THQ Inc. 2001] which allows for dynamic changes of the world, e.g. blasting holes in walls. Because ray tracing computes visibility and simulates lighting on the fly the pre-computed data structures needed for rasterization are unnecessary. Thus dynamic ray tracing would most likely allow for simulation-based games with fully dynamic environments as sketched above, leading to a new level of immersion and game experience. Based on the presentations in the previous sections we conclude that ray tracing is able to play an important role for future games. However, the most important question that still needs to be answered is that of suitable hardware support for achieving acceptable performance levels. Cache Coherence. Works such as [6] and [7] clearly show that a ray tracer is not bound by CPU speed, but bound by bandwidth access to scene data base. Minimization of random access to memory maximizes cache hit and boosts memory-bounded calculations. By exploiting coherence throughout all the ray tracing algorithm [7], [13], [6] one can take advantage of processor-level cache improving access time by a factor of 10. Ray Traversal. Interactive ray tracing differs from its static counterpart in the fact that objects move around the world. Nonetheless, this fact poses a great difficulty in achieving animation-like frame-rates because of the needed overhead in maintaining spatial index structures. These structures are critical to increase ray tracing performance since they reduce the number of expensive ray intersection calculations from billions of potential objects in the whole to very few (typically less than five) primitives. But if the cost of generating these data-structures (such as kd-trees) were negligible in static scenes, 6.1 Multicore Architectures updates performed upon these structures as the scene specification evolves over time, becomes a significant fraction of the involved total cost. Fortunately, recent advancements have been done in this area, namely [14] and [15] which allow much more general dynamics than was ever possible before. An exhaustive state-of-the-art report about Ray Traversal techniques can be found in [1]. 4 Creating Games for Raytracing Engines As a rough estimate for the following discussion we assume that at least 300 million ray per second ( pixels, 30 fps, 10 rays per pixel) are required to achieve a minimally necessary performance level. This is comparable to the performance of a low end graphics card for scenes with significant shadow and reflection computations. Based on experience, high-quality anti-aliasing may increase this number by about a factor of two if using an adaptive super-sampling strategy equivalent to 8 samples per pixel. In the following we will explore how different hardware approaches may be able to provide adequate computational power. Based on the performance data given in Section 1 we assume in the following a currently achievable ray tracing performance of about 10 million rays per second on a single CPU for static scenes and half of that for dynamic scenes. In other words we will need an improvement in performance in software by a factor of 30 to 60, respectively, or 60 to 120 with anti-aliasing. For a long time CPUs have mainly tried to increase single-thread performance by driving clock rates up. However, this required longer pipelines, much larger caches, and complex technologies such large reorder buffers, advanced branch prediction, and others to prevent problems due to the increasing cost of pipeline stalls. Also, these techniques all occupy precious die area that cannot be used for the main purpose of computing. In contrast, many applications from computer graphics and other disciplines operate in a highly data parallel fashion. They are able to distribute their computations over an almost arbitrary number 47 The work presented in [16], shows some of the characteristics that a game developed with ray-tracing in mind can take advantage from: Open Space Worlds. Creation of games that operate in a fully open space world, without using any level-of-detail mechanisms, clipping-planes, or fog

9 9 to artificially reduce scene complexity. This would bring unprecedented realism, specially in games with seamless worlds like World of Warcraft. Using large spheres to model worlds as planets could also be used to limit the ray-traversal step for the boundary structures. Realistic Sky and Weather. Ability to simulate daytime skylight and weather conditions, using participating media as volumetric objects to model rain, fog, clouds, etc. Reuse of rays. Though ray-tracing is basically a visibility calculation algorithm, it can be reused for physics engines, acoustics modeling and collision detection, taking advantage of the existing algorithms and data-structures. High Number of Light Sources. The Oasen game efficiently handled huge numbers of light sources by exploiting the restricted range of each light and organizing them in a way such that it is possible to locate light sources that contribute to an object s illumination. 4.1 Platform Homogenization Fig. 7. Screenshots of the Oasen game: (a) sunset showing distant objects and light conditions simulation, (b) water showing correct refraction of inside objects, caustics and reflection of the sky and (c) visualization of plants, using the same highly-detailed models for the near as well as far trees. Besides the above mentioned advantages, advocates also assert that development for ray-tracing engines could homogenize platform development, specially regarding handheld devices. This is mainly due to the linear time complexity regarding output image size. For example, if a particular ray tracing implementation (software and/or hardware) can yield an average of 60fps at a resolution of 1280x800, then it will be able to deliver up to four times more frames at half the resolution (i.e. 640x400). Because current handheld devices, such as Sony s PSP and Nintendo s Gameboy, have resolutions rounding 400x272, then a processor with only a fraction of its desktop equivalent will be required to power them. In conclusion, disregarding potential memory requirements, the same game used on desktop hardware could, in theory, be easily ported to an handheld device without any significant change in the underlying architecture.

10 Standard API Industry knows how much the OpenGL API [17], and more recently, DirectX, has done to boost game deployment on the PC architecture. Such an interface separates the concerns between the underlying graphical engine and the highlevel game platform, allowing developers to concentrate in content delegating the rendering task to highly-optimized software and/or hardware. However, these interfaces are highly based upon triangle rasterization algorithms, making them unsuitable for ray-tracing purposes. Understanding the necessity of having an underlying platform for game development using ray tracing, the OpenRT initiative [18] understood this well, by building an API syntactically similar to OpenGL. More information about the usage of OpenRT in games can be found in [2], [18] and its webpage. Future graphics processors, would their be RPU based graphics-cards, GPU implementations of the ray-tracing algorithm, or simply CPUs capable of handling the required processing power, will undoubtedly benefit from the standardization of an interface very similar to the OpenRT API for the very same reasons OpenGL and DirectX were, and still are, a success. Fig. 8. Screenshots of Ray City, a port of GTA Vice City, showing outdoors rendering. Figure 7: Example screenshots of Ray City. 4.3 Impact on Graphics and Gaming Courses Some features of this engine are realistic glass with reflection and refraction, An interesting correct perspective mirrors, as been per-pixel raised in shadows, [4] where the colored authorslights, analyzefog- ging, and Bézier patches with high tessellation. All of these effects the impact that achievement of real-time ray tracing will have on academic graphics and gaming courses. Here are their points summarized, some of them already are mentioned simplein to previous implement sections: with rudimentary ray tracing techniques. Additionally, two different light sources are supported: point lights Special Effects. Several techniques used to simulate transparency and reflection will fall-back into natural illumination computations. for ordinary lightning and spot lights to simulate a flashlight. Other effects Perspective which transform can be defined and homogeneous with the Quake coordinates. 3 shader Perspective languagedoes are alsonot supported. need to berather explicitly then simulated using the since original it comescene naturally geometry with the some ray of the tracing walls algorithm. and floors have been replaced by highly tessellated geometry using static displacement mapping yielding approximately one million triangles e.g. for the Temple of Retribution map. The game engine was written from scratch and supports player and bot movement including shooting and jumping as well as many special effects like jump-pads and teleporters. The complete rendering engine was implemented by a single student within five months. Furthermore, the code complexity to support all these effects is very low. All effects were implemented Figure 8: Some e Oasen featuring se on a PC cluster wit Quake 3 project us These experiments liminary show th indeed simple to c selecting the correc

11 11 Higher-order Surfaces. The notion that every model should be expressed in triangles will disappear, eliminating the need for complex tessellation algorithms, decreasing memory consumption and increasing detail. Volumetric effects. Smoke, Fog, Fire and every kind of participating media can be modeled as semi-transparent volumetric primitives with dedicated illumination models, eliminating the need for common tricks and hacks. Beyond visualization. Using the capabilities of visibility calculation beyond graphics visualization can leverage foundational frameworks to support collision detection, physics simulation and acoustics modeling. Partial redraw. The notion of temporal coherence, redrawing only sections that changed from the previous frame, will become much more important than simple primitive count. 5 Conclusions This work slightly drafted the advantages of ray tracing over common rasterization algorithms based on the z-buffer. It was given an overview about research problems solved in recent years that are making interactive ray tracing a reality with near-future technology. These advancements are taking interest from the gaming industry as well as from hardware makers. It was also suggested that the use of ray tracing in games would bring several advantages to game developers and users beyond better graphics. While there is no consensus among all researchers that ray tracing is the future of 3D rendering, there is no doubt that the visual quality and mathematical correctness achieved by this algorithm has not yet been nearly surpassed by rasterization. The growing complexity involved in rasterizing several special effects such as soft-shadows, refractions, reflections, participating media and indirect lighting are elegantly and inherently handled by ray tracing. The only problem with it is pure performance. Since exploiting this area in commercial application like games is a relatively new reality (though an old goal among computer scientists), it is very probable that novel techniques will arise in near-future. The fact that processors seem to be moving toward a multi-core philosophy, the inherent parallelism of ray tracing seem to be an excellent candidate to take advantage from this new technology. With some hardware makers highly interested in achieving this goal, and several users becoming enthusiastic by the notion of achieving highly-appealing graphics in future games, it would probably not be long before this technology arrives to our computers. 6 Acknowledgments The images used in this work were borrowed from various sources on the Internet, namely the OpenRT webpage, and papers from the bibliography.

12 12 References 1. Wald, I., Mark, W., Gunther, J., Boulos, S., Ize, T.: State of the art in ray tracing animated scenes. Eurographics 2007 State of the Art Reports (Jan 2007) 2. Friedrich, H., Günther, J., Dietrich, A., Scherbaum, M.: Exploring the use of ray tracing for future games. Proceedings of the 2006 ACM SIGGRAPH symposium on Videogames (Jan 2006) 3. Bikker, J.: Real-time ray tracing through the eyes of a game developer. Interactive Ray Tracing (Jan 2007) 4. Shirley, P., Sung, K., Brunvand, E., Davis, A., Parker, S.: Fast ray tracing and the potential effects on graphics and gaming courses. Computers & Graphics (Jan 2008) 5. Ritschel, T., Grosch, T., Kautz, J., Seidel, H.P.: Interactive global illumination based on coherent surface shadow maps. GI 08: Proceedings of graphics interface 2008 (May 2008) 6. Wald, I., Slusallek, P., Benthin, C., Wagner, M.: Interactive rendering with coherent ray tracing. Computer Graphics Forum (Jan 2001) 7. Navratil, P., Mark, W.: An analysis of ray tracing bandwidth consumption. cs.utexas.edu 8. Boulos, S., Edwards, D., Lacewell, J., Kniss, J.,..., J.K.: Packet-based whitted and distribution ray tracing. Proceedings of Graphics Interface 2007 (Jan 2007) 9. Martin, W., Reinhard, E., Shirley, P., Parker, S.: Temporally coherent interactive ray tracing. Journal of Graphics Tools (Jan 2002) 10. Vangal, S., Howard, J., Ruhl, G., Dighe, S., Wilson, H.: An 80-tile sub-100-w teraflops processor in 65-nm cmos. Solid-State Circuits (Jan 2008) 11. Woop, S., Schmittler, J., Slusallek, P.: Rpu: a programmable ray processing unit for realtime ray tracing.... Conference on Computer Graphics and Interactive Techniques (Jan 2005) 12. Purcell, T., Buck, I., Mark, W., Hanrahan, P.: Ray tracing on programmable graphics hardware. Proceedings of the 29th annual conference on Computer... (Jan 2002) 13. Kasik, D.: Efficient data reduction and cache-coherent techniques toward real-time performance. SIGGRAPH 07: ACM SIGGRAPH 2007 courses (Aug 2007) 14. Woop, S., Marmitt, G., Slusallek, P.: B-kd trees for hardware accelerated ray tracing of dynamic scenes. Graphics Hardware 2006: Eurographics Symposium Proceedings (Jan 2006) 15. Gunther, J., Friedrich, H., Wald, I., Seidel, H.: Ray tracing animated scenes using motion decomposition. Computer Graphics Forum (Jan 2006) 16. Schmittler, J., Pohl, D., Dahmen, T., Vogelgesang, C.: Realtime ray tracing for current and future games. International Conference on Computer Graphics and... (Jan 2005) 17. Shreiner, D., Board, O.A.R., Woo, M., Neider, J., Davis, T.: Opengl programming guide: The official guide to learning opengl, version 1.4. (Jan 2003) Wald, I.: The openrt-api. International Conference on Computer Graphics and... (Jan 2005)

INTRODUCTION TO RENDERING TECHNIQUES

INTRODUCTION TO RENDERING TECHNIQUES INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature

More information

Hardware design for ray tracing

Hardware design for ray tracing Hardware design for ray tracing Jae-sung Yoon Introduction Realtime ray tracing performance has recently been achieved even on single CPU. [Wald et al. 2001, 2002, 2004] However, higher resolutions, complex

More information

CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS

CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS ICCVG 2002 Zakopane, 25-29 Sept. 2002 Rafal Mantiuk (1,2), Sumanta Pattanaik (1), Karol Myszkowski (3) (1) University of Central Florida, USA, (2) Technical University of Szczecin, Poland, (3) Max- Planck-Institut

More information

A Short Introduction to Computer Graphics

A Short Introduction to Computer Graphics A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics

More information

Advanced Rendering for Engineering & Styling

Advanced Rendering for Engineering & Styling Advanced Rendering for Engineering & Styling Prof. B.Brüderlin Brüderlin,, M Heyer 3Dinteractive GmbH & TU-Ilmenau, Germany SGI VizDays 2005, Rüsselsheim Demands in Engineering & Styling Engineering: :

More information

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005 Recent Advances and Future Trends in Graphics Hardware Michael Doggett Architect November 23, 2005 Overview XBOX360 GPU : Xenos Rendering performance GPU architecture Unified shader Memory Export Texture/Vertex

More information

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing

More information

The Future Of Animation Is Games

The Future Of Animation Is Games The Future Of Animation Is Games 王 銓 彰 Next Media Animation, Media Lab, Director cwang@1-apple.com.tw The Graphics Hardware Revolution ( 繪 圖 硬 體 革 命 ) : GPU-based Graphics Hardware Multi-core (20 Cores

More information

Realtime Ray Tracing and its use for Interactive Global Illumination

Realtime Ray Tracing and its use for Interactive Global Illumination EUROGRAPHICS 2003 STAR State of The Art Report Realtime Ray Tracing and its use for Interactive Global Illumination Ingo Wald Timothy J.Purcell Jörg Schmittler {wald,schmittler,benthin,slusallek}@graphics.cs.uni-sb.de

More information

A Distributed Render Farm System for Animation Production

A Distributed Render Farm System for Animation Production A Distributed Render Farm System for Animation Production Jiali Yao, Zhigeng Pan *, Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University, Hangzhou, 310058, China {yaojiali, zgpan, zhx}@cad.zju.edu.cn

More information

Computer Graphics Global Illumination (2): Monte-Carlo Ray Tracing and Photon Mapping. Lecture 15 Taku Komura

Computer Graphics Global Illumination (2): Monte-Carlo Ray Tracing and Photon Mapping. Lecture 15 Taku Komura Computer Graphics Global Illumination (2): Monte-Carlo Ray Tracing and Photon Mapping Lecture 15 Taku Komura In the previous lectures We did ray tracing and radiosity Ray tracing is good to render specular

More information

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA The Evolution of Computer Graphics Tony Tamasi SVP, Content & Technology, NVIDIA Graphics Make great images intricate shapes complex optical effects seamless motion Make them fast invent clever techniques

More information

Dynamic Ray Scheduling to Improve Ray Coherence and Bandwidth Utilization

Dynamic Ray Scheduling to Improve Ray Coherence and Bandwidth Utilization Dynamic Ray Scheduling to Improve Ray Coherence and Bandwidth Utilization Paul Arthur Navrátil, Donald S. Fussell Calvin Lin and William R. Mark Department of Computer Sciences The University of Texas

More information

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series By: Binesh Tuladhar Clay Smith Overview History of GPU s GPU Definition Classical Graphics Pipeline Geforce 6 Series Architecture Vertex

More information

SGRT: A Scalable Mobile GPU Architecture based on Ray Tracing

SGRT: A Scalable Mobile GPU Architecture based on Ray Tracing SGRT: A Scalable Mobile GPU Architecture based on Ray Tracing Won-Jong Lee, Shi-Hwa Lee, Jae-Ho Nah *, Jin-Woo Kim *, Youngsam Shin, Jaedon Lee, Seok-Yoon Jung SAIT, SAMSUNG Electronics, Yonsei Univ. *,

More information

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch. CSCI 480 Computer Graphics Lecture 1 Course Overview January 14, 2013 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s13/ Administrative Issues Modeling Animation

More information

Grid Computing for Artificial Intelligence

Grid Computing for Artificial Intelligence Grid Computing for Artificial Intelligence J.M.P. van Waveren May 25th 2007 2007, Id Software, Inc. Abstract To show intelligent behavior in a First Person Shooter (FPS) game an Artificial Intelligence

More information

Lecture Notes, CEng 477

Lecture Notes, CEng 477 Computer Graphics Hardware and Software Lecture Notes, CEng 477 What is Computer Graphics? Different things in different contexts: pictures, scenes that are generated by a computer. tools used to make

More information

L20: GPU Architecture and Models

L20: GPU Architecture and Models L20: GPU Architecture and Models scribe(s): Abdul Khalifa 20.1 Overview GPUs (Graphics Processing Units) are large parallel structure of processing cores capable of rendering graphics efficiently on displays.

More information

Dynamic Resolution Rendering

Dynamic Resolution Rendering Dynamic Resolution Rendering Doug Binks Introduction The resolution selection screen has been one of the defining aspects of PC gaming since the birth of games. In this whitepaper and the accompanying

More information

Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions

Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions Module 4: Beyond Static Scalar Fields Dynamic Volume Computation and Visualization on the GPU Visualization and Computer Graphics Group University of California, Davis Overview Motivation and applications

More information

Ray Tracing on Graphics Hardware

Ray Tracing on Graphics Hardware Ray Tracing on Graphics Hardware Toshiya Hachisuka University of California, San Diego Abstract Ray tracing is one of the important elements in photo-realistic image synthesis. Since ray tracing is computationally

More information

Computer Graphics Hardware An Overview

Computer Graphics Hardware An Overview Computer Graphics Hardware An Overview Graphics System Monitor Input devices CPU/Memory GPU Raster Graphics System Raster: An array of picture elements Based on raster-scan TV technology The screen (and

More information

Choosing a Computer for Running SLX, P3D, and P5

Choosing a Computer for Running SLX, P3D, and P5 Choosing a Computer for Running SLX, P3D, and P5 This paper is based on my experience purchasing a new laptop in January, 2010. I ll lead you through my selection criteria and point you to some on-line

More information

How To Teach Computer Graphics

How To Teach Computer Graphics Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session General Introduction http://www.cs.vu.nl/~graphics/

More information

REAL-TIME IMAGE BASED LIGHTING FOR OUTDOOR AUGMENTED REALITY UNDER DYNAMICALLY CHANGING ILLUMINATION CONDITIONS

REAL-TIME IMAGE BASED LIGHTING FOR OUTDOOR AUGMENTED REALITY UNDER DYNAMICALLY CHANGING ILLUMINATION CONDITIONS REAL-TIME IMAGE BASED LIGHTING FOR OUTDOOR AUGMENTED REALITY UNDER DYNAMICALLY CHANGING ILLUMINATION CONDITIONS Tommy Jensen, Mikkel S. Andersen, Claus B. Madsen Laboratory for Computer Vision and Media

More information

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering 3. Computer Graphics Sungmin Kim http://latam.jnu.ac.kr Computer Graphics Definition Introduction Research field related to the activities that includes graphics as input and output Importance Interactive

More information

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering Using Photorealistic RenderMan for High-Quality Direct Volume Rendering Cyrus Jam cjam@sdsc.edu Mike Bailey mjb@sdsc.edu San Diego Supercomputer Center University of California San Diego Abstract With

More information

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control

More information

GRAFICA - A COMPUTER GRAPHICS TEACHING ASSISTANT. Andreas Savva, George Ioannou, Vasso Stylianou, and George Portides, University of Nicosia Cyprus

GRAFICA - A COMPUTER GRAPHICS TEACHING ASSISTANT. Andreas Savva, George Ioannou, Vasso Stylianou, and George Portides, University of Nicosia Cyprus ICICTE 2014 Proceedings 1 GRAFICA - A COMPUTER GRAPHICS TEACHING ASSISTANT Andreas Savva, George Ioannou, Vasso Stylianou, and George Portides, University of Nicosia Cyprus Abstract This paper presents

More information

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011 Graphics Cards and Graphics Processing Units Ben Johnstone Russ Martin November 15, 2011 Contents Graphics Processing Units (GPUs) Graphics Pipeline Architectures 8800-GTX200 Fermi Cayman Performance Analysis

More information

3D Computer Games History and Technology

3D Computer Games History and Technology 3D Computer Games History and Technology VRVis Research Center http://www.vrvis.at Lecture Outline Overview of the last 10-15 15 years A look at seminal 3D computer games Most important techniques employed

More information

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT COMP27112 Computer Graphics and Image Processing 2: Introducing image synthesis Toby.Howard@manchester.ac.uk 1 Introduction In these notes we ll cover: Some orientation how did we get here? Graphics system

More information

Rendering Microgeometry with Volumetric Precomputed Radiance Transfer

Rendering Microgeometry with Volumetric Precomputed Radiance Transfer Rendering Microgeometry with Volumetric Precomputed Radiance Transfer John Kloetzli February 14, 2006 Although computer graphics hardware has made tremendous advances over the last few years, there are

More information

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007 Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Questions 2007 INSTRUCTIONS: Answer all questions. Spend approximately 1 minute per mark. Question 1 30 Marks Total

More information

A Cross-Platform Framework for Interactive Ray Tracing

A Cross-Platform Framework for Interactive Ray Tracing A Cross-Platform Framework for Interactive Ray Tracing Markus Geimer Stefan Müller Institut für Computervisualistik Universität Koblenz-Landau Abstract: Recent research has shown that it is possible to

More information

Approval Sheet. Interactive Illumination Using Large Sets of Point Lights

Approval Sheet. Interactive Illumination Using Large Sets of Point Lights Approval Sheet Title of Thesis: Interactive Illumination Using Large Sets of Point Lights Name of Candidate: Joshua David Barczak Master of Science, 2006 Thesis and Abstract Approved: Marc Olano Assistant

More information

SGRT: A Mobile GPU Architecture for Real-Time Ray Tracing

SGRT: A Mobile GPU Architecture for Real-Time Ray Tracing SGRT: A Mobile GPU Architecture for Real-Time Ray Tracing Won-Jong Lee 1, Youngsam Shin 1, Jaedon Lee 1, Jin-Woo Kim 2, Jae-Ho Nah 3, Seokyoon Jung 1, Shihwa Lee 1, Hyun-Sang Park 4, Tack-Don Han 2 1 SAMSUNG

More information

Touchstone -A Fresh Approach to Multimedia for the PC

Touchstone -A Fresh Approach to Multimedia for the PC Touchstone -A Fresh Approach to Multimedia for the PC Emmett Kilgariff Martin Randall Silicon Engineering, Inc Presentation Outline Touchstone Background Chipset Overview Sprite Chip Tiler Chip Compressed

More information

An introduction to Global Illumination. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

An introduction to Global Illumination. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology An introduction to Global Illumination Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Isn t ray tracing enough? Effects to note in Global Illumination image:

More information

Teaching Introductory Computer Graphics Via Ray Tracing

Teaching Introductory Computer Graphics Via Ray Tracing Teaching Introductory Computer Graphics Via Ray Tracing Helen H. Hu Westminster College, Salt Lake City, UT hhu@westminstercollege.edu Figure 1. Examples of student work. For fun, enthusiastic students

More information

GPU Architecture. Michael Doggett ATI

GPU Architecture. Michael Doggett ATI GPU Architecture Michael Doggett ATI GPU Architecture RADEON X1800/X1900 Microsoft s XBOX360 Xenos GPU GPU research areas ATI - Driving the Visual Experience Everywhere Products from cell phones to super

More information

GPU Shading and Rendering: Introduction & Graphics Hardware

GPU Shading and Rendering: Introduction & Graphics Hardware GPU Shading and Rendering: Introduction & Graphics Hardware Marc Olano Computer Science and Electrical Engineering University of Maryland, Baltimore County SIGGRAPH 2005 Schedule Shading Technolgy 8:30

More information

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Today Course organization Course overview 2 Course Staff Instructor Jürgen Schulze,

More information

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1 Welcome to GUI! Mechanics 26/02/2014 1 Requirements Info If you don t know C++, you CAN take this class additional time investment required early on GUI Java to C++ transition tutorial on course website

More information

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI) Computer Graphics CS 54 Lecture 1 (Part 1) Curves Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines and flat surfaces Real world objects include

More information

Stream Processing on GPUs Using Distributed Multimedia Middleware

Stream Processing on GPUs Using Distributed Multimedia Middleware Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research

More information

Lezione 4: Grafica 3D*(II)

Lezione 4: Grafica 3D*(II) Lezione 4: Grafica 3D*(II) Informatica Multimediale Docente: Umberto Castellani *I lucidi sono tratti da una lezione di Maura Melotti (m.melotti@cineca.it) RENDERING Rendering What is rendering? Rendering

More information

Multiresolution 3D Rendering on Mobile Devices

Multiresolution 3D Rendering on Mobile Devices Multiresolution 3D Rendering on Mobile Devices Javier Lluch, Rafa Gaitán, Miguel Escrivá, and Emilio Camahort Computer Graphics Section Departament of Computer Science Polytechnic University of Valencia

More information

Making natural looking Volumetric Clouds In Blender 2.48a

Making natural looking Volumetric Clouds In Blender 2.48a I think that everyone using Blender has made some trials about making volumetric clouds. The truth is that a kind of volumetric clouds is already available in Blender for a long time, thanks to the 3D

More information

NVIDIA IndeX. Whitepaper. Document version 1.0 3 June 2013

NVIDIA IndeX. Whitepaper. Document version 1.0 3 June 2013 NVIDIA IndeX Whitepaper Document version 1.0 3 June 2013 NVIDIA Advanced Rendering Center Fasanenstraße 81 10623 Berlin phone +49.30.315.99.70 fax +49.30.315.99.733 arc-office@nvidia.com Copyright Information

More information

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list Scan-Line Fill Can also fill by maintaining a data structure of all intersections of polygons with scan lines Sort by scan line Fill each span vertex order generated by vertex list desired order Scan-Line

More information

A NEW METHOD OF STORAGE AND VISUALIZATION FOR MASSIVE POINT CLOUD DATASET

A NEW METHOD OF STORAGE AND VISUALIZATION FOR MASSIVE POINT CLOUD DATASET 22nd CIPA Symposium, October 11-15, 2009, Kyoto, Japan A NEW METHOD OF STORAGE AND VISUALIZATION FOR MASSIVE POINT CLOUD DATASET Zhiqiang Du*, Qiaoxiong Li State Key Laboratory of Information Engineering

More information

CS 371 Project 5: Midterm Meta-Specification

CS 371 Project 5: Midterm Meta-Specification CS 371 Project 5: Midterm Meta-Specification Preproduction Start: Thursday, September 30 1:00 pm Proposals Due: Wednesday, October 6 12:00 pm Description Due: Thursday, October 14 10:00 pm Production Start:

More information

How To Build A Cloud Computer

How To Build A Cloud Computer Introducing the Singlechip Cloud Computer Exploring the Future of Many-core Processors White Paper Intel Labs Jim Held Intel Fellow, Intel Labs Director, Tera-scale Computing Research Sean Koehl Technology

More information

Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com

Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Modern Graphics Engine Design Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Overview Modern Engine Features Modern Engine Challenges Scene Management Culling & Batching Geometry Management Collision

More information

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,

More information

SkillsUSA 2014 Contest Projects 3-D Visualization and Animation

SkillsUSA 2014 Contest Projects 3-D Visualization and Animation SkillsUSA Contest Projects 3-D Visualization and Animation Click the Print this Section button above to automatically print the specifications for this contest. Make sure your printer is turned on before

More information

Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August

Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August Agenda Introduction The author and ARM Preliminary knowledge Unity Pro, OpenGL ES 3.0 Identify

More information

Interactive Rendering In The Post-GPU Era. Matt Pharr Graphics Hardware 2006

Interactive Rendering In The Post-GPU Era. Matt Pharr Graphics Hardware 2006 Interactive Rendering In The Post-GPU Era Matt Pharr Graphics Hardware 2006 Last Five Years Rise of programmable GPUs 100s/GFLOPS compute 10s/GB/s bandwidth Architecture characteristics have deeply influenced

More information

3D Interactive Information Visualization: Guidelines from experience and analysis of applications

3D Interactive Information Visualization: Guidelines from experience and analysis of applications 3D Interactive Information Visualization: Guidelines from experience and analysis of applications Richard Brath Visible Decisions Inc., 200 Front St. W. #2203, Toronto, Canada, rbrath@vdi.com 1. EXPERT

More information

Intersection of a Line and a Convex. Hull of Points Cloud

Intersection of a Line and a Convex. Hull of Points Cloud Applied Mathematical Sciences, Vol. 7, 213, no. 13, 5139-5149 HIKARI Ltd, www.m-hikari.com http://dx.doi.org/1.12988/ams.213.37372 Intersection of a Line and a Convex Hull of Points Cloud R. P. Koptelov

More information

Improving Grid Processing Efficiency through Compute-Data Confluence

Improving Grid Processing Efficiency through Compute-Data Confluence Solution Brief GemFire* Symphony* Intel Xeon processor Improving Grid Processing Efficiency through Compute-Data Confluence A benchmark report featuring GemStone Systems, Intel Corporation and Platform

More information

PRODUCT LIFECYCLE MANAGEMENT COMPETENCY CENTRE RENDERING. PLMCC, JSS Academy of Technical Education, Noida Rendering 1 of 16

PRODUCT LIFECYCLE MANAGEMENT COMPETENCY CENTRE RENDERING. PLMCC, JSS Academy of Technical Education, Noida Rendering 1 of 16 PRODUCT LIFECYCLE MANAGEMENT COMPETENCY CENTRE RENDERING PLMCC, JSS Academy of Technical Education, Noida Rendering 1 of 16 Table of contents Under construction PLMCC, JSS Academy of Technical Education,

More information

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies COMP175: Computer Graphics Lecture 1 Introduction and Display Technologies Course mechanics Number: COMP 175-01, Fall 2009 Meetings: TR 1:30-2:45pm Instructor: Sara Su (sarasu@cs.tufts.edu) TA: Matt Menke

More information

Petascale Visualization: Approaches and Initial Results

Petascale Visualization: Approaches and Initial Results Petascale Visualization: Approaches and Initial Results James Ahrens Li-Ta Lo, Boonthanome Nouanesengsy, John Patchett, Allen McPherson Los Alamos National Laboratory LA-UR- 08-07337 Operated by Los Alamos

More information

NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect

NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect SIGGRAPH 2013 Shaping the Future of Visual Computing NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect NVIDIA

More information

Radeon GPU Architecture and the Radeon 4800 series. Michael Doggett Graphics Architecture Group June 27, 2008

Radeon GPU Architecture and the Radeon 4800 series. Michael Doggett Graphics Architecture Group June 27, 2008 Radeon GPU Architecture and the series Michael Doggett Graphics Architecture Group June 27, 2008 Graphics Processing Units Introduction GPU research 2 GPU Evolution GPU started as a triangle rasterizer

More information

Interactive Level-Set Deformation On the GPU

Interactive Level-Set Deformation On the GPU Interactive Level-Set Deformation On the GPU Institute for Data Analysis and Visualization University of California, Davis Problem Statement Goal Interactive system for deformable surface manipulation

More information

Optimizing AAA Games for Mobile Platforms

Optimizing AAA Games for Mobile Platforms Optimizing AAA Games for Mobile Platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Epic Games, Unreal Engine 15 years in the industry 30 years of programming C64 demo

More information

Lecture 11: Multi-Core and GPU. Multithreading. Integration of multiple processor cores on a single chip.

Lecture 11: Multi-Core and GPU. Multithreading. Integration of multiple processor cores on a single chip. Lecture 11: Multi-Core and GPU Multi-core computers Multithreading GPUs General Purpose GPUs Zebo Peng, IDA, LiTH 1 Multi-Core System Integration of multiple processor cores on a single chip. To provide

More information

Binary search tree with SIMD bandwidth optimization using SSE

Binary search tree with SIMD bandwidth optimization using SSE Binary search tree with SIMD bandwidth optimization using SSE Bowen Zhang, Xinwei Li 1.ABSTRACT In-memory tree structured index search is a fundamental database operation. Modern processors provide tremendous

More information

Introduction to GPGPU. Tiziano Diamanti t.diamanti@cineca.it

Introduction to GPGPU. Tiziano Diamanti t.diamanti@cineca.it t.diamanti@cineca.it Agenda From GPUs to GPGPUs GPGPU architecture CUDA programming model Perspective projection Vectors that connect the vanishing point to every point of the 3D model will intersecate

More information

MobiX3D: a player for displaying 3D content on mobile devices

MobiX3D: a player for displaying 3D content on mobile devices MobiX3D: a player for displaying 3D content on mobile devices Daniele Nadalutti, Luca Chittaro, Fabio Buttussi HCI Lab Dept. of Math and Computer Science University of Udine via delle Scienze, 206 33100

More information

VIRTUAL TRIAL ROOM USING AUGMENTED REALITY

VIRTUAL TRIAL ROOM USING AUGMENTED REALITY VIRTUAL TRIAL ROOM USING AUGMENTED REALITY Shreya Kamani, Neel Vasa, Kriti Srivastava, D. J. Sanghvi College of Engineering, Mumbai 53 Abstract This paper presents a Virtual Trial Room application using

More information

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps Introduction Computer stuff Pixels Line Drawing Video Game World 2D 3D Puzzle Characters Camera Time steps Geometry Polygons Linear Algebra NURBS, Subdivision surfaces, etc Movement Collisions Fast Distances

More information

Specular reflection. Dielectrics and Distribution in Ray Tracing. Snell s Law. Ray tracing dielectrics

Specular reflection. Dielectrics and Distribution in Ray Tracing. Snell s Law. Ray tracing dielectrics Specular reflection Dielectrics and Distribution in Ray Tracing CS 465 Lecture 22 Smooth surfaces of pure materials have ideal specular reflection (said this before) Metals (conductors) and dielectrics

More information

Example Chapter 08-Number 09: This example demonstrates some simple uses of common canned effects found in popular photo editors to stylize photos.

Example Chapter 08-Number 09: This example demonstrates some simple uses of common canned effects found in popular photo editors to stylize photos. 08 SPSE ch08 2/22/10 11:34 AM Page 156 156 Secrets of ProShow Experts: The Official Guide to Creating Your Best Slide Shows with ProShow Gold and Producer Figure 8.18 Using the same image washed out and

More information

Writing Applications for the GPU Using the RapidMind Development Platform

Writing Applications for the GPU Using the RapidMind Development Platform Writing Applications for the GPU Using the RapidMind Development Platform Contents Introduction... 1 Graphics Processing Units... 1 RapidMind Development Platform... 2 Writing RapidMind Enabled Applications...

More information

This Unit: Putting It All Together. CIS 501 Computer Architecture. Sources. What is Computer Architecture?

This Unit: Putting It All Together. CIS 501 Computer Architecture. Sources. What is Computer Architecture? This Unit: Putting It All Together CIS 501 Computer Architecture Unit 11: Putting It All Together: Anatomy of the XBox 360 Game Console Slides originally developed by Amir Roth with contributions by Milo

More information

Fundamentals of Computer Graphics

Fundamentals of Computer Graphics Fundamentals of Computer Graphics INTRODUCTION! Sergio Benini! Department of Information Engineering Faculty of Engineering University of Brescia Via Branze, 38 25231 Brescia - ITALY 1 Overview Here you

More information

Introduction Week 1, Lecture 1

Introduction Week 1, Lecture 1 CS 430/536 Computer Graphics I Introduction Week 1, Lecture 1 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University

More information

Design and Implementation of the Heterogeneous Multikernel Operating System

Design and Implementation of the Heterogeneous Multikernel Operating System 223 Design and Implementation of the Heterogeneous Multikernel Operating System Yauhen KLIMIANKOU Department of Computer Systems and Networks, Belarusian State University of Informatics and Radioelectronics,

More information

Radeon HD 2900 and Geometry Generation. Michael Doggett

Radeon HD 2900 and Geometry Generation. Michael Doggett Radeon HD 2900 and Geometry Generation Michael Doggett September 11, 2007 Overview Introduction to 3D Graphics Radeon 2900 Starting Point Requirements Top level Pipeline Blocks from top to bottom Command

More information

Consolidated Visualization of Enormous 3D Scan Point Clouds with Scanopy

Consolidated Visualization of Enormous 3D Scan Point Clouds with Scanopy Consolidated Visualization of Enormous 3D Scan Point Clouds with Scanopy Claus SCHEIBLAUER 1 / Michael PREGESBAUER 2 1 Institute of Computer Graphics and Algorithms, Vienna University of Technology, Austria

More information

GPUs for Scientific Computing

GPUs for Scientific Computing GPUs for Scientific Computing p. 1/16 GPUs for Scientific Computing Mike Giles mike.giles@maths.ox.ac.uk Oxford-Man Institute of Quantitative Finance Oxford University Mathematical Institute Oxford e-research

More information

evm Virtualization Platform for Windows

evm Virtualization Platform for Windows B A C K G R O U N D E R evm Virtualization Platform for Windows Host your Embedded OS and Windows on a Single Hardware Platform using Intel Virtualization Technology April, 2008 TenAsys Corporation 1400

More information

The Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud.

The Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud. White Paper 021313-3 Page 1 : A Software Framework for Parallel Programming* The Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud. ABSTRACT Programming for Multicore,

More information

The Methodology of Application Development for Hybrid Architectures

The Methodology of Application Development for Hybrid Architectures Computer Technology and Application 4 (2013) 543-547 D DAVID PUBLISHING The Methodology of Application Development for Hybrid Architectures Vladimir Orekhov, Alexander Bogdanov and Vladimir Gaiduchok Department

More information

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Kenneth B. Kent University of New Brunswick Faculty of Computer Science Fredericton, New Brunswick, Canada ken@unb.ca Micaela Serra

More information

Masters of Science in Software & Information Systems

Masters of Science in Software & Information Systems Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Graphics Programming December, 2005 1 Table of Contents

More information

Lighting & Rendering in Maya: Lights and Shadows

Lighting & Rendering in Maya: Lights and Shadows Lighting & Rendering in Maya: Lights and Shadows with Jeremy Birn 3dRender.com 1. Introduction: Light and Color 12:09 Keywords: Maya Spot Lights, hardware preview of lights, High Quality Rendering, real-time

More information

CS 378: Computer Game Technology

CS 378: Computer Game Technology CS 378: Computer Game Technology http://www.cs.utexas.edu/~fussell/courses/cs378/ Spring 2013 University of Texas at Austin CS 378 Game Technology Don Fussell Instructor and TAs! Instructor: Don Fussell!

More information

Web Based 3D Visualization for COMSOL Multiphysics

Web Based 3D Visualization for COMSOL Multiphysics Web Based 3D Visualization for COMSOL Multiphysics M. Jüttner* 1, S. Grabmaier 1, W. M. Rucker 1 1 University of Stuttgart Institute for Theory of Electrical Engineering *Corresponding author: Pfaffenwaldring

More information

Buffer Operations in GIS

Buffer Operations in GIS Buffer Operations in GIS Nagapramod Mandagere, Graduate Student, University of Minnesota npramod@cs.umn.edu SYNONYMS GIS Buffers, Buffering Operations DEFINITION A buffer is a region of memory used to

More information

SCALABILITY OF CONTEXTUAL GENERALIZATION PROCESSING USING PARTITIONING AND PARALLELIZATION. Marc-Olivier Briat, Jean-Luc Monnot, Edith M.

SCALABILITY OF CONTEXTUAL GENERALIZATION PROCESSING USING PARTITIONING AND PARALLELIZATION. Marc-Olivier Briat, Jean-Luc Monnot, Edith M. SCALABILITY OF CONTEXTUAL GENERALIZATION PROCESSING USING PARTITIONING AND PARALLELIZATION Abstract Marc-Olivier Briat, Jean-Luc Monnot, Edith M. Punt Esri, Redlands, California, USA mbriat@esri.com, jmonnot@esri.com,

More information

Introduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software

Introduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software GPU Computing Numerical Simulation - from Models to Software Andreas Barthels JASS 2009, Course 2, St. Petersburg, Russia Prof. Dr. Sergey Y. Slavyanov St. Petersburg State University Prof. Dr. Thomas

More information

The 3D rendering pipeline (our version for this class)

The 3D rendering pipeline (our version for this class) The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in camera coordinates Pixels in image coordinates Scene graph Camera Rasterization

More information