Reducing Redundancy of Real Time Computer Graphics in Mobile Systems

Total Page:16

File Type:pdf, Size:1020Kb

Reducing Redundancy of Real Time Computer Graphics in Mobile Systems Reducing Redundancy of Real Time Computer Graphics in Mobile Systems Enrique de Lucas Doctor of Philosophy UNIVERSITAT POLITECNICA` DE CATALUNYA Department of Computer Architecture Barcelona, 2018 2 Reducing Redundancy of Real Time Computer Graphics in Mobile Systems Enrique de Lucas Advisers Dr. Joan-Manuel Parcerisa Dr. Pedro Marcuello ARCO Research Group Department of Computer Architecture UNIVERSITAT POLITECNICA` DE CATALUNYA Barcelona Spain Thesis submitted for the degree of Doctor of Philosophy at the Universitat Polit`ecnica de Catalunya 3 4 ‘Gutta cavat lapidem, [non vi, sed saepe cadendo]’ –Publius Ovidius Naso, in Epistulae ex Ponto IV, 10, 5. Expanded in the Middle Ages. 5 6 Keywords Collision Detection, GPU, Android, Rasterization, Mobile GPU, Rendering, Image Based Colli- sion Detection, Graphics Rendering Hardware, Object Interference Detection, Rasterizing Graphics Hardware, Overdraw, Overshading, Rendering Order, Front-to-back, GPU microarchitecture, Visi- bility, Hidden Surface Removal, Deferred Rendering, Deferred Shading, TBR, TBDR, Temporal Coherence, Frame Coherence, Topological Order, Topological Sort, Energy-efficiency 7 Abstract At each new generation the growing computing power of mobile devices has promoted the adoption of more powerful support for graphics and real-time physics simulations with increasing precision and realism. Given the battery-operated and handheld nature of these devices they must use as little energy as possible, because it is crucial to enlarge battery life and to keep a comfortable surface touch temperature. Hence, software and hardware improvements are crucial to deliver a low-power yet rich user experience that satisfies the user demands on the functionality of mobile devices. The goal of this thesis is to propose novel and effective techniques to eliminate redundant computations that waste energy and are performed in real-time computer graphics applications, with special focus on mobile GPU micro-architecture. Improving the energy-efficiency of CPU/GPU systems is not only key to enlarge their battery life, but also allows to increase their performance because, to avoid overheating above thermal limits, SoCs tend to be throttled when the load is high for a large period of time. Prior studies pointed out that the CPU and especially the GPU are the principal energy consumers in the graphics subsystem, being the off-chip main memory accesses and the processors inside the GPU the primary energy consumers of the graphics subsystem. In the first place, we focus on reducing redundant fragment processing computations by means of improving the culling of hidden surfaces. During real-time graphics rendering, objects are processed by the GPU in the order they are submitted by the CPU, and occluded surfaces are often processed even though they will end up not being part of the final image. When the GPU realizes that an object or part of it is not going to be visible, all activity required to compute its color and store it has already been performed. We propose a novel architectural technique for mobile GPUs, Visibility Rendering Order (VRO), which reorders objects front-to-back entirely in hardware to maximize the culling effectiveness of the GPU and minimize overshading, hence reducing execution time and energy consumption. VRO exploits the fact that the objects in graphics animated applications tend to keep its relative depth order across consecutive frames (temporal coherence) to provide the feeling of smooth transition. VRO keeps visibility information of a frame, and uses it to reorder the objects of the following frame. Since depth-order relationships among objects are already tested in the GPU, VRO incurs minimal energy overheads. It just requires adding a small hardware to capture the visibility information and use it later to guide the rendering of the following frame. Moreover, VRO works in parallel with the graphics pipeline, so negligible performance overheads are incurred. We illustrate the benefits of VRO using various unmodified commercial 3D applications for which VRO achieves 27% speed-up and 14.8% energy reduction on average. In the second place, we focus on avoiding redundant computations related to CPU Collision Detection. Graphics animation applications such as 3D games represent a large percentage of 9 downloaded applications for mobile devices and the trend is towards more complex and realistic scenes with accurate 3D physics simulations. Collision detection (CD) is one of the most important algorithms in any physics kernel since it identifies the contact points between the objects of a scene, and determines when they collide. However, real-time highly accurate CD is very expensive in terms of energy consumption. We propose Render Based Collision Detection (RBCD), a novel energy-efficient high-fidelity CD scheme that leverages some intermediate results of the rendering pipeline to perform CD, so that redundant tasks are done just once. Comparing RBCD with a conventional CD completely executed in the CPU, we show that its execution time is reduced by almost three orders of magnitude (600x speedup), because most of the CD task of our model comes for free by reusing the image rendering intermediate results. Although not necessarily, such a dramatic time improvement may result in better frames per second if physics simulation stays in the critical path. However, the most important advantage of our technique is the enormous energy savings that result from eliminating a long and costly CPU computation and converting it into a few simple operations executed by a specialized hardware within the GPU. Our results show that the energy consumed by CD is reduced on average by a factor of 448x (i.e., by 99.8%). These dramatic benefits are accompanied by a higher fidelity CD analysis (i.e., with finer granularity), which improves the quality and realism of the application. 10 Acknowledgements First of all I want to thank my advisers, Joan-Manuel Parcerisa and Pedro Marcuello, who have taught me almost everything I know about Computer Architecture. They always offered me valuable guidance and support as well as they were involved in my day-to-day work. I am truly convinced I could not have had better advisers. I am also very grateful to Prof. Antonio Gonz´alez, who offered me the opportunity to start in this research area, first at Intel Barcelona and then at UPC1. Thanks for your sagacious feedback and your wise advise. I wish to thank the members of ARCO I met these years. Especially to Jos´eMar´ıa Arnau, whose outstanding and pioneering work encouraged me to work in the field of low-power GPUs. I am grateful for all his support and help and for teaching me what an international conference is about. Thanks to Mart´ı-the one- for continuing the research line in ARCO group. Thank you Gem and Emilio for your feedback and friendship. I also wish to thank the “The D6ers”: Albert, Franyell, Hamid, Josue, Marc, Mart´ı-the other one- and Reza. I wish you the best of luck. I am lucky to have met all my friends from Campus Nord. Enric, Gemma, Javi, Manu, Marc, Niko and Oscar, who welcomed me to Barcelona and shared with me seminars, meetings, coffees, dinners and parties. However, they did not warn me about where I got when I started the doctorate. I am really blessed to have so many great friends like Alex, Andr´es, David, Guille, Javi, Manu, Oscar and Rub´en, who have shared with me many moments for more than 15 years. Thank you for your moral support, motivation and friendship, which made this journey more comfortable and drove me to give my best. Finally, I would like to express my deepest gratitude to my family for their commitment, their unconditional love, their support and their infinite patience. Especially Jenifer, who closely shared with me joys and celebrations during this thesis, but also had to keep up with me during the endless periods of stress that precede academic deadlines. Thank you for your patience, comprehension, and support during these years of thesis. 1 This work has been supported by the Spanish State Research Agency under grants TIN2013-44375-R, TIN2016- 75344-R (AEI/FEDER, EU), and BES-2014-068225. 11 Contents 1 Introduction 25 1.1 Current Trends ....................................... 25 1.1.1 Real Time Mobile Graphics Software ....................... 26 1.1.2 Mobile Graphics Hardware ............................ 28 1.2 Problem Statement ..................................... 30 1.2.1 Major Energy Consumers ............................. 31 1.2.2 Major GPU Energy Consumers .......................... 33 1.2.3 Occlusion Culling .................................. 34 1.2.4 Collision Detection ................................. 35 1.3 State of the art ....................................... 35 1.3.1 Reduction of Redundant Fragment Shading ................... 35 1.3.2 Collision Detection ................................. 39 1.4 Thesis Overview and Contributions ............................ 42 1.4.1 Visibility Rendering Order ............................ 42 1.4.2 Render Based Collision Detection ......................... 44 1.4.3 Other contributions ................................ 46 2 Background 49 2.1 Graphics Rendering Pipeline ............................... 49 2.1.1 Application Stage ................................. 49 2.1.2 Geometry Stage .................................. 50 13 CONTENTS 2.1.3 Rasterization .................................... 55 2.2 GPU Microarchitecture: ................................. 59 2.2.1 Immediate Mode Rendering ............................ 59 2.2.2
Recommended publications
  • Evolution of Programmable Models for Graphics Engines (High
    Hello and welcome! Today I want to talk about the evolution of programmable models for graphics engine programming for algorithm developing My name is Natalya Tatarchuk (some folks know me as Natasha) and I am director of global graphics at Unity I recently joined Unity… 4 …right after having helped ship the original Destiny @ Bungie where I was the graphics lead and engineering architect … 5 and lead the graphics team for Destiny 2, shipping this year. Before that, I led the graphics research and demo team @ AMD, helping drive and define graphics API such as DirectX 11 and define GPU hardware features together with the architecture team. Oh, and I developed a bunch of graphics algorithms and demos when I was there too. At Unity, I am helping to define a vision for the future of Graphics and help drive the graphics technology forward. I am lucky because I get to do it with an amazing team of really talented folks working on graphics at Unity! In today’s talk I want to touch on the programming models we use for real-time graphics, and how we could possibly improve things. As all in the room will easily agree, what we currently have as programming models for graphics engineering are rather complex beasts. We have numerous dimensions in that domain: Model graphics programming lives on top of a very fragmented and complex platform and API ecosystem For example, this is snapshot of all the more than 25 platforms that Unity supports today, including PC, consoles, VR, mobile platforms – all with varied hardware, divergent graphics API and feature sets.
    [Show full text]
  • Rendering 13, Deferred Shading, a Unity Tutorial
    Catlike Coding Unity C# Tutorials Rendering 13 Deferred Shading Explore deferred shading. Fill Geometry Bufers. Support both HDR and LDR. Work with Deferred Reflections. This is part 13 of a tutorial series about rendering. The previous installment covered semitransparent shadows. Now we'll look at deferred shading. This tutorial was made with Unity 5.5.0f3. The anatomy of geometry. 1 Another Rendering Path Up to this point we've always used Unity's forward rendering path. But that's not the only rendering method that Unity supports. There's also the deferred path. And there are also the legacy vertex lit and the legacy deferred paths, but we won't cover those. So there is a deferred rendering path, but why would we bother with it? After all, we can render everything we want using the forward path. To answer that question, let's investigate their diferences. 1.1 Switching Paths Which rendering path is used is defined by the project-wide graphics settings. You can get there via Edit / Project Settings / Graphics. The rendering path and a few other settings are configured in three tiers. These tiers correspond to diferent categories of GPUs. The better the GPU, the higher a tier Unity uses. You can select which tier the editor uses via the Editor / Graphics Emulation submenu. Graphics settings, per tier. To change the rendering path, disable Use Defaults for the desired tier, then select either Forward or Deferred as the Rendering Path. 1.2 Comparing Draw Calls I'll use the Shadows Scene from the Rendering 7, Shadows tutorial to compare both approaches.
    [Show full text]
  • Real-Time Lighting Effects Using Deferred Shading
    Real-time Lighting Effects using Deferred Shading Michal Ferko∗ Supervised by: Michal Valient† Faculty of Mathematics, Physics and Informatics Comenius University Bratislava / Slovakia Abstract We are targeting OpenGL 3 capable hardware, because we require the framebuffer object features as well as mul- Rendering realistic objects at interactive frame rates is a tiple render targets. necessary goal for many of today’s applications, especially computer games. However, most rendering engines used in these games induce certain limitations regarding mov- 2 Related Work ing of objects or the amount of lights used. We present a rendering system that helps overcome these limitations There are many implementations of Deferred Shading and while the system is still able to render complex scenes at this concept has been widely used in modern games [15] 60 FPS. Our system uses Deferred Shading with Shadow [12] [5], coupled with techniques used in our paper as well Mapping for a more efficient way to synthesize lighting as certain other. coupled with Screen-Space Ambient Occlusion to fine- Deferred Shading does not directly allow rendering of tune the final shading. We also provide a way to render transparent objects and therefore, we need to use a differ- transparent objects efficiently without encumbering the ent method to render transparent objects. There are several CPU. approaches to hardware-accelerated rendering of transpar- ent objects without the need to sort geometry. This group Keywords: Real-time Rendering, Deferred Shading, of algorithms is referred to as Order-Independent Trans- High-dynamic range rendering, Tone-mapping, Order- parency. Independent Transparency, Ambient Occlusion, Screen- An older approach is Depth Peeling [7] [4], which re- Space Ambient Occlusion, Stencil Routed A-Buffer quires N scene rendering passes to capture N layers of transparent geometry.
    [Show full text]
  • Privacy of Streaming Apps and Devices
    2021 PRIVACY OF STREAMING APPS AND DEVICES: WATCHING TV THAT WATCHES US Common Sense is the nation's leading nonprofit organization dedicated to improving the lives of kids and families by providing the trustworthy information, education, and independent voice they need to thrive in the 21st century. www.commonsense.org Common Sense is grateful for the generous support and underwriting that funded this report from the Michael and Susan Dell Foundation, the Bill and Melinda Gates Foundation, and the Chan Zuckerberg Initative. CREDITS Authors: Girard Kelly, Common Sense Media Jeff Graham, Common Sense Media Jill Bronfman, Common Sense Media Steve Garton, Common Sense Media Data analysis: Girard Kelly, Common Sense Media Jeff Graham, Common Sense Media Copy editor: Jennifer Robb Designer: Jeff Graham, Common Sense Media Suggested citation: Kelly, G., Graham, J., Bronfman, J., & Garton, S. (2021). Privacy of Streaming Apps and Devices: Watching TV that Watches Us. San Francisco, CA: Common Sense Media This work is licensed under a Creative Commons Attribution 4.0 International Public .License TABLE OF CONTENTS Privacy of streaming apps and devices 1 What are streaming services? ......................................... 1 Apps we rated ............................................... 1 How do streaming services make money? ............................... 2 How we rate privacy ........................................... 2 What we found .............................................. 6 Compare privacy ratings ........................................
    [Show full text]
  • Objet30 User Guide
    User Guide English Objet30 3D Printer Systems Copyright Copyright © 2013 Stratasys Ltd. All right ts reserved. This documentation contains proprietary information of Stratasys Ltd. This information is supplied solely to assist authorized users of Objet30 3D printing systems. No part of this document may be used for other purposes, and it may not be disclosed to other parties. The specifications on which this document is based are subject to change without notice. No part of this book may be reproduced in any form or by any means, nor stored in a database or retrieval system, without prior permission in writing from Stratasys Ltd. If this document is distributed as a PDF file, you may print it for internal use. Trademarks The following are registered trademarks of Stratasys Ltd.: Stratasys®, Objet®, FullCure®. The following are trademarks of Stratasys Ltd.: Eden, Eden500V, Eden350V, Eden350, Eden330, Eden260, Eden260V, Eden250, Connex, Connex500, Connex350, Objet30, Objet30‐Pro, Objet30‐ OrthoDesk, Objet30‐Scholar, Objet24, Alaris, Alaris30, PolyJet, PolyJet Matrix, CADMatrix, PolyLog, Objet Studio, Job Manager, SHR, Clear, Durus, DurusWhite, MED610, MED690, ObjetGreen, RoseClear, TangoBlack, TangoBlackPlus, TangoGray, TangoPlus, VeroBlue, VeroGray, VeroWhite, VeroWhitePlus, VeroBlack. Microsoft and Microsoft XP are trademarks of Microsoft Corporation. All names of products and services cited in this book are trademarks or registered trademarks of their respective companies. FCC Compliance The equipment referred to in this guide has been tested and found to comply with the limits for a Class A device pursuant to part 15 of the FCC rules. These limits provide reasonable protection against harmful interference when the equipment is operated in a commercial environment.
    [Show full text]
  • Passmark Software - Video Card (GPU) Benchmark Charts - Video Car
    PassMark Software - Video Card (GPU) Benchmark Charts - Video Car... https://www.videocardbenchmark.net/gpu_list.php Home Software Hardware Benchmarks Services Store Support Forums About Us Home » Video Card Benchmarks » Video Card List CPU Benchmarks Video Card Benchmarks Hard Drive Benchmarks RAM PC Systems Android iOS / iPhone Videocard Benchmarks ----Select A Page ---- Over 800,000 Video Cards Benchmarked Video Card List How does your Video Card compare? Below is an alphabetical list of all Video Card types that appear in the charts. Clicking on a Add your card to our benchmark specific Video Card will take you to the chart it appears in and will highlight it for you. charts with PerformanceTest V9 ! Passmark G3D Rank Videocard Value Price Videocard Name Mark (lower is better) (higher is better) (USD) (higher is better) Quadro P6000 13648 1 2.84 $4,808.00 GeForce GTX 1080 Ti 13526 2 19.32 $699.99 NVIDIA TITAN X 13026 3 10.86 $1,200.00* NVIDIA TITAN Xp 12962 4 10.80 $1,200.00* GeForce GTX 1070 Ti 12346 5 27.44 $449.99 GeForce GTX 1080 12038 6 24.08 $499.99 Radeon RX Vega 64 11805 7 22.70 $519.99 Radeon Vega Frontier Edition 11698 8 11.94 $979.99 Radeon RX Vega 11533 9 25.63 $449.99 Radeon RX Vega 56 11517 10 NA NA GeForce GTX 980 Ti 11311 11 17.40 $649.99 Radeon Pro WX 9100 11021 12 NA NA GeForce GTX 1070 10986 13 27.47 $399.99 GeForce GTX TITAN X 10675 14 3.17 $3,363.06 Quadro M6000 24GB 10239 15 NA NA GeForce GTX 1080 with Max-Q Design 10207 16 NA NA Quadro P5000 10188 17 5.72 $1,779.67 Quadro P4000 10078 18 12.61 $799.00 GeForce GTX 980 9569 19 21.27 $449.86 Radeon R9 Fury 9562 20 23.91 $399.99* Radeon Pro Duo 9472 21 10.89 $869.99 Quadro M6000 9392 22 2.35 $3,999.00 Quadro M5500 9322 23 NA NA Quadro GP100 9214 24 NA NA GeForce GTX 780 Ti 8881 25 22.21 $399.99 1 z 37 2017-11-16, 09:13 PassMark Software - Video Card (GPU) Benchmark Charts - Video Car..
    [Show full text]
  • More Efficient Virtual Shadow Maps for Many Lights
    1 More Efficient Virtual Shadow Maps for Many Lights Ola Olsson1;2, Markus Billeter1;3, Erik Sintorn1, Viktor Kampe¨ 1, and Ulf Assarsson1 (Invited Paper) Abstract—Recently, several algorithms have been introduced for shading is much more important. To this end we use that enable real-time performance for many lights in applications Clustered Deferred Shading [3], as our starting point. This such as games. In this paper, we explore the use of hardware- algorithm offers the highest light-culling efficiency among supported virtual cube-map shadows to efficiently implement high-quality shadows from hundreds of light sources in real time current real-time many-light algorithms and the most robust and within a bounded memory footprint. In addition, we explore shading performance. Moreover, clustered shading provides the utility of ray tracing for shadows from many lights and tight 3D bounds around groups of samples in the frame present a hybrid algorithm combining ray tracing with cube buffer and therefore can be viewed as a fast voxelization of maps to exploit their respective strengths. Our solution supports the visible geometry. Thus, as we will show, these clusters real-time performance with hundreds of lights in fully dynamic high-detail scenes. provide opportunities for efficient culling of shadow casters and allocation of shadow map memory. Index Terms—Computer graphics, GPU, real-time shading, shadows, virtual texturing. A. Contributions We contribute an efficient culling scheme, based on clusters, I. INTRODUCTION which is used to render shadow-casting geometry to many cube In recent years, several techniques have been presented shadow maps. We demonstrate that this can enable real-time that enable real-time performance for applications such as rendering performance using shadow maps for hundreds of games using hundreds to many thousands of lights.
    [Show full text]
  • A Novel Multithreaded Rendering System Based on a Deferred Approach
    VIII Brazilian Symposium on Games and Digital Entertainment Rio de Janeiro, RJ – Brazil, October, 8th-10th 2009 A Novel Multithreaded Rendering System based on a Deferred Approach Jorge Alejandro Lorenzon Esteban Walter Gonzalez Clua Universidad Austral, Argentina Media Lab – UFF, Brazil [email protected] [email protected] Figure 1: Mix of the final illuminated picture, the diffuse color buffer and the normal buffer Abstract Therefore, the architecture of newer game engines must include fine-grained multithreaded algorithms This paper presents the architecture of a rendering and systems. Fortunately for some systems like physics system designed for multithreaded rendering. The and AI this can be done. However, when it comes to implementation of the architecture following a deferred rendering there is one big issue: All draw and state rendering approach shows gains of 65% on a dual core calls must go to the graphics processing unit (GPU) in 1 machine. a serialized manner . This limits game engines as only one thread can actually execute draw calls to the Keywords : multithreaded rendering, deferred graphics card. Adding to the problem, draw calls and rendering, DirectX 11, command buffer, thread pool state management of the graphics pipeline are expensive for the CPU as there is a considerable overhead created by the API and driver. For this 1. Introduction reason, most games and 3D applications are CPU Game engines and 3D software are constantly bound and rely on batching 3D models to feed the changing as the underlying hardware and low level GPU. APIs evolve. The main driving force of change is the pursuit of greater performance for 3D software, which Microsoft, aware of this problem, is pushing means, pushing more polygons with more realistic forward a new multithreaded graphics API for the PC, models of illumination and shading techniques to the Direct3D11.
    [Show full text]
  • University of Massachusetts Dartmouth Center for Scientific
    University of Massachusetts Dartmouth Center for Scientific Computing and Visualization Research Annual Report for July 1, 2017 { June 30, 2018 1 Goal and Mission The Center for Scientific Computing and Visualization Research (CSCVR) at UMass Dartmouth unites a group of highly-qualified and well-trained scientists with complementary backgrounds and interests who develop and use computational algorithms to simulate and visualize complex physical problems. The impetus for the formation of the center came from the awareness of our significant multidisciplinary and interdisciplinary expertise in scientific computing, and the desire to leverage existing strengths to build an internationally recognized center of excellence at UMass Dartmouth. The primary mission of the center is to transcend the traditional departmental boundaries and form a close-knit and collaborative multidisciplinary group that will combine wide range of mathematical, computational, and scientific skills to make significant impact across the field of computational science. Our activities focus on creating a supportive and collaborative environment for computational science, and to support the computational needs of the CSCVR faculty and students. The CSCVR's website can be accessed at http://cscvr.umassd.edu. 2 Activities and Accomplishments 2.1 Major CSCVR endeavors • Fostering collaboration and mentorship of junior faculty and students. A major com- ponent of our activities this year has been to support and mentor junior faculty. This year the CSCVR directors helped junior faculty members with editing grant proposals and also provided text on diversity, work environment, data management plans, and computational resources, to support proposal development. • New research instrumentation through an ONR DURIP grant for $643,899.
    [Show full text]
  • Efficient Virtual Shadow Maps for Many Lights
    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TVCG.2015.2418772, IEEE Transactions on Visualization and Computer Graphics 1 More Efficient Virtual Shadow Maps for Many Lights Ola Olsson1;2, Markus Billeter1;3, Erik Sintorn1, Viktor Kampe¨ 1, and Ulf Assarsson1 (Invited Paper) Abstract—Recently, several algorithms have been introduced algorithm offers the highest light-culling efficiency among that enable real-time performance for many lights in applications current real-time many-light algorithms and the most robust such as games. In this paper, we explore the use of hardware- shading performance. Moreover, clustered shading provides supported virtual cube-map shadows to efficiently implement high-quality shadows from hundreds of light sources in real time tight 3D bounds around groups of samples in the frame and within a bounded memory footprint. In addition, we explore buffer and therefore can be viewed as a fast voxelization of the utility of ray tracing for shadows from many lights and the visible geometry. Thus, as we will show, these clusters present a hybrid algorithm combining ray tracing with cube provide opportunities for efficient culling of shadow casters maps to exploit their respective strengths. Our solution supports and allocation of shadow map memory. real-time performance with hundreds of lights in fully dynamic high-detail scenes. A. Contributions I. INTRODUCTION We contribute an efficient culling scheme, based on clusters, In recent years, several techniques have been presented which is used to render shadow-casting geometry to many cube that enable real-time performance for applications such as shadow maps.
    [Show full text]
  • Wipein - F- - a 3D Action Game
    .sssss WipeIn - F- - A 3D Action Game Bachelor's Thesis Computer Science and Engineering Programme CHRISTOPHER ANDERSSON JESPER LINDH MIKAEL MÖLLER MIKAEL OLAISSON KARL SCHMIDT CARL-JOHAN SÖDERSTEN ALLAN WANG Department of Computer Science and Engineering CHALMERS UNIVERSITY OF TECHNOLOGY Gothenburg, Sweden 2011 Bachelor's Thesis DATX11-09 - Rally Sport Racing Game 1 Abstract The following thesis describes a case study of 3D game program- ming. It involves the evaluation of several techniques commonly used in real-time rendering, as well as some associated elds such as mod- elling, collision handling and sound. We will investigate which of the many options available are the most ecient, as well as which areas are preferably put aside, in the aim of achieving an entertaining and visually appealing 3D computer game within a short time span. 2 CONTENTS CONTENTS Contents 1 Introduction 5 1.1 Background . .5 1.2 Purpose . .5 1.3 Problem . .5 1.4 Limitations . .5 1.4.1 Contents . .6 1.4.2 Areas of focus . .6 1.4.3 Open-source code . .6 1.4.4 Computer power . .6 1.5 Method . .6 1.5.1 Choice of programming language and framework . .7 1.5.2 API . .7 1.5.3 Development process . .8 1.6 Game design . .8 2 Graphics 9 2.1 Pipeline . .9 2.2 The application stage . 10 2.3 The geometry stage . 10 2.4 The rasteriser stage . 12 2.4.1 Hidden surface determination . 12 2.5 Shading . 14 2.5.1 The Phong Shading Model . 14 2.5.2 Bidirectional Reectance Distribution Functions .
    [Show full text]
  • User Guide Trueconf for Android TV Table of Contents 1
    User Guide TrueConf for Android TV Table of Contents 1. Setting up 3 1.1. App features 3 1.2. Installation 3 1.3. Authorization 4 1.4. AV device settings 5 2. Getting started 7 2.1. Home page 7 2.2. Address book 7 2.2.1. User profile 8 2.2.2. Adding a new contact 9 2.2.3. Deleting a contact 9 2.2.4. Blocking a user 10 2.3. Viewing your profile 11 3. Video conferencing 13 3.1. Incoming calls 13 3.2. Making a call 14 3.3. Joining a conference 14 3.4. Creating a conference 14 3.4.1. Symmetric conference 14 3.4.2. Role-based conference 16 3.4.3. Asymmetric conference 18 3.5. During a call or conference 18 3.5.1. Viewing chat messages 18 3.5.2. Adding users to the address book 18 3.5.3. Managing your microphone and camera 18 3.5.4. Switching between cameras 19 3.5.5. Additional settings 19 3.6. Call history 19 3.7. Using a chat 20 3.8. How to call a phone 21 4. App settings 23 © 2010-2021 TrueConf. All rights reserved. www.trueconf.com 2 User Guide TrueConf for Android TV 1. Setting up TrueConf for Android TV lets you make and participate in video calls and group conferences using popular devices powered by Android TV, e.g., NVIDIA SHIELD TV and Xiaomi Mi Box set-top boxes. ✱ You can find the full list of supported devices and recommended AV peripherals at ⁠ our website.
    [Show full text]