![Evaluating Different Spatial Anti Aliasing Techniques](https://data.docslib.org/img/3a60ab92a6e30910dab9bd827208bcff-1.webp)
EXAMENSARBETE INOM TEKNIK, GRUNDNIVÅ, 15 HP STOCKHOLM, SVERIGE 2017 Evaluating Different Spatial Anti Aliasing Techniques VICTOR KESTEN KTH SKOLAN FÖR DATAVETENSKAP OCH KOMMUNIKATION Evaluating Different Spatial Anti Alias- ing Techniques VICTOR KESTEN Bachelor in Computer Science Date: June 5, 2017 Supervisor: Dilian Gurov Examiner: Örjan Ekeberg Swedish title: Utvärdering av olika Spatial Anti Aliasing tekniker School of Computer Science and Communication i Abstract Aliasing is an effect that causes different signals to become indistinguishable when sam- pled. In computer graphics, it makes objects that are rendered on the screen appear jagged. This thesis aims to find a compromise between performance and quality when applying different anti aliasing techniques within real time 3D environments. To achieve this sev- eral different anti aliasing techniques were tested on different 3D environments and a detailed survey querying people their anti aliasing preferences when presented different options was used to determine a quality compromise. In conclusion when analyzing all external factors the thesis finds that MSAAx4 or FXAA is the best option when using a system with limited resources. ii Sammanfattning Aliasing är en bieffekt som förekommer när man mäter olika signaler. Inom datorgrafik förekommer det när objekt blir renderade på skärmen och man kan då upptäcka tydli- ga ojämna och hackiga kanter. Denna uppsats siktar på att hitta en kompromiss mellan prestanda och kvalitet när man använder olika anti aliasing tekniker inom en realtids 3D miljö. För att uppnå detta har flera olika anti aliasing tekniker testats på en mängd olika 3D miljöer samt har en undersökning gjorts angående människors preferenser inom bild kvalitet när dom är blint presenterade olika val. Uppsatsen lyckades och efter en grund- lig analys av dom insamlade resultaten kan dra slutsatsen att MSAAx4 eller FXAA är det bästa valet när man använder en dator med begränsade resurer. Contents Contents iii 1 Introduction 1 1.1 Problem Definition . .2 1.2 Scope and Constraints . .2 1.3 Thesis Overview . .2 2 Background 3 2.1 Aliasing . .3 2.2 Signal Processing . .4 2.3 Rasterization . .4 2.3.1 Occlusion and Coverage . .5 2.4 Techniques . .7 2.4.1 An Introduction to Sampling . .8 2.4.2 Super Sampling . 10 2.4.3 Adaptive Super Sampling . 11 2.4.4 Resolve and Downsampling . 13 2.4.5 Post Processing - Pixel Based Anti Aliasing . 14 2.5 Other Forms of Anti Aliasing . 16 3 Method 17 3.1 Pre-existing Real-Time Environments . 17 3.2 3D OpenGL Real-Time Engine . 18 3.2.1 Programming Languages . 19 4 Results 20 4.1 Statistical Analysis . 20 4.1.1 Pre-Existing Real-Time Environment . 20 4.1.2 Custom Engine . 22 4.2 Survey . 23 5 Evaluation 25 5.1 Summary and discussion . 25 5.2 Future Work . 25 Bibliography 27 iii iv CONTENTS A Unnecessary Appended Material 29 A.1 Abbreviations . 29 A.2 Survey . 30 Chapter 1 Introduction Aliasing, a commonly found phenomenon in sound engineering, is an effect that causes different signals to become indistinguishable when sampled. In computer graphics, it occurs when a picture is processed through the rendering pipeline and finally reconstructed. The reconstruction, performed by a display for example - will differ from the originally intended image as aliasing artifacts can be seen. ‘Jagged’ is an informal name for the artifacts in raster images that appear from aliasing. Aliasing is not to be confused with compression artifacts as these occur due to lossy compression. Spatial anti aliasing, the primary focus of this thesis, is a collection of techniques used to minimizing the alias distortion artifacts when representing a high-resolution image on a lower resolution screen. In computer graphics, anti aliasing is generally used to improve the appearance of polygon edges so that they do not appear jagged and instead are smoothed out on the screen. Figure 1.1: Image Source: [1] This project is interesting because the topic is of utmost importance when simulating real life scenarios. Us as programmers can by balancing the limitations of hardware technology with software solutions aim to achieve what might seem to be a fair representation of a life like scenario with smooth edges and crisp colors, also recognized as a simulation. Anti alias- ing consists of two key areas – blurring techniques and edge detection. These two compo- nents can be modified and tested for different results depending on the users needs and the technology available. The process can also be implemented and distinguished between post 1 2 CHAPTER 1. INTRODUCTION or pre processing implementation techniques. Results can be measured in terms of perfor- mance and frame render time. The algorithms associated with anti aliasing implementations can be theoretically calculated and then compared to real time implementations. 1.1 Problem Definition Finding a proper analysis of anti aliasing techniques in terms of quantifiable data is difficult. The question to be investigated in this thesis is find out which style of anti aliasing in a real- time 3D environment is the most efficient in terms of performance and produces the "best" result in terms of visual appeal. The aim is to find a compromise between best result and visual appeal that’s suitable for common personal computers. This involves testing different styles of anti aliasing as well as different techniques within the specific anti aliasing styles. For this to be a proper question, we have to define what “best result” means. Since we are dealing with an interactive 3D environment that should work in real time, i.e not a ray tracer - a rendering technique that generates an image by tracing light rays and simulates it’s interactions with objects, we define best result as being that result which produces good anti aliasing that performs the intended effect while also not degrading the performance of our application. What looks ’good’ and is visually appealing to humans will also be investigated through a perceptual study. Anti aliasing is notorious for being a costly setting within 3D engines and our goal is for it to find the one which runs as smoothly as possible in real time. 1.2 Scope and Constraints The thesis will limit itself by only testing three main anti aliasing styles and base the results only on those. However it is important for the reader to know that this area is one of much research and thus we limit ourselves to the most commonly applied techniques. We also define "best looking" through the results of a perceptual study survey. This survey has the intention to test a range of users to see which style of anti aliasing they prefer, if they can tell the difference between specific styles and what their experience with computer graphics is like. 1.3 Thesis Overview The thesis first thoroughly goes through the aliasing problem both in terms of signal process- ing and image generation. Then it goes through the rasterization process, specifically cov- ering occlusion and coverage as these are critical components in the alias creation process. Following this section, the thesis finally introduces anti aliasing and the most commonly used techniques that are used in modern computer graphics. The thesis then describes the process and the methods used to test different techniques on different real-time virtual en- vironments. The results and evaluation section go through the gathered data, discusses the significance as well as discussing possible improvements to the project and future advance- ments that are being made within the area. Chapter 2 Background In this section the thesis will give the reader a thorough insight as to what aliasing is and the techniques used to prevent it. It explains the concept in general terms and ultimately concludes by listing the modern options most commonly used. 2.1 Aliasing The term display resolution is simply defined as the number of rows and columns of pixels that create the display we see in front of us when using a monitor. Historically, display resolution along with aspect ratio has varied quiet a bit and even to this day we still see high increments of pixel density when newly released monitors and TV displays appear on the market. The first graphics card ever created was introduced by IBM in 1981 and was called Color Graphics Adapter (CGA). It was equipped with 16 kilobytes of video memory (VRAM) and the highest resolution possible of any mode was 640x200 with 2 bit colors, or alternatively 320x200 with 4 bit colors[2]. Today in 2017, one of the most prestigious and well defined graphics card available is the Nvidia GeForce GTX 1080 which supports a maximum display resolution of 7680x4320 pixels and has 8GB of VRAM – a true testament as to how advancements have been made within this field[3]. This equates to approximately 235 times more pixels on a single screen. The card also offers a color depth of 8 bits - a more ’life-like’ range of colors. A problem that the two cards have in common when generating images on the display however, is aliasing. Aliasing is an effect that causes different signals to become indistinguishable when sam- pled. In computer graphics, it occurs when a picture is reconstructed on a computer display, having the reconstructed image differ from the original by having alias artifacts appear in certain spots[4]. An alias artifact is visually displayed as a jagged edge or an incomplete detail in an image, thus the informal name “jaggies”. It is common to find the anti aliasing topic brought up when discussing digital imagery, movie animation rendering or video games. Digital imagery however deals with static im- ages and generally the time it takes to process a full-fledged anti aliasing scheme on an im- age is irrelevant as the person observing the image will be observing a finalized saved result that’s been pre-processed and already edited.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages37 Page
-
File Size-