Intro. Computer Graphics

Total Page:16

File Type:pdf, Size:1020Kb

Intro. Computer Graphics An Introduction to Computer Graphics Joaquim Madeira Beatriz Sousa Santos Universidade de Aveiro 1 Topics What is CG Brief history Main applications CG Main Tasks Simple Graphics system CG APIs 2D and 3D Visualization Illumination and shading Computer Graphics The technology with which pictures, in the broadest sense of the word, are Captured or generated, and presented Manipulated and / or processed Merged with other, non-graphical application data It includes: Integration with other kinds of data – Multimedia Advanced dialogue and interactive technologies 3 Computer Graphics Computer Graphics deals with all aspects of creating images with a computer Hardware Software Applications [Angel] 4 Computer Graphics: 1950 – 1960 Earliest days of computing Pen plotters Simple calligraphic displays Issues Cost of display refresh Slow, unreliable, expensive computers 5 Computer Graphics: 1960 – 1970 Wireframe graphics Draw only lines ! [Angel] 6 Computer Graphics: 1960 – 1970 Ivan Sutherland’s Sketchpad PhD thesis at MIT (1963) Man-machine interaction Processing loop Display something Wait for user input Generate new display [http://history-computer.com] 7 Sketchpad (Ivan Sutherland, 1963) http://www.youtube.com/watch?feature=endscreen&NR=1&v=USyoT_Ha_bA 8 Computer Graphics: 1970 – 1980 Raster graphics Allows drawing polygons First graphics standards Workstations and PCs 9 Raster graphics Image produced as an array (the raster) of picture elements (pixels) in the frame buffer [Angel] 10 Raster graphics Drawing polygons Illumination models Shading methods [Angel] 11 Gouraud shading – 1971 [Wikipedia] 12 Gouraud shading Poor highlight Very high polygon count http://en.wikipedia.org/wiki/Gouraud_shading 13 Phong shading– 1973 [Wikipedia] 14 Phong reflection model – 1973 [Wikipedia] 15 Can you see the differences ? [Foley , Van Dam] 16 Computer Graphics: 1980 – 1990 The quest for realism Smooth shading Environment mapping Bump mapping [Angel] 17 Ray-Tracing example http://radsite.lbl.gov/radiance/book/img/plate10.jpg 19 https://en.wikipedia.org/wiki/Ray_tracing_(graphics) “Vermeer’s Studio” Wallace & Cohen, 1987: Radiosity and Ray-Tracing 22 Radiosity Radiosity https://en.wikipedia.org/wiki/Radiosity_(computer_graphics) Radiosity Without radiosity With radiosity [Burdea] 24 Texture mapping Smooth shading Environment mapping Bump mapping [Angel] 25 Computer Graphics: 1980 – 1990 Special purpose hardware Industry-based standards PHIGS RenderMan (https://renderman.pixar.com/) Human-Computer Interaction 27 Computer Graphics: 1990 – 2000 OpenGL API First successful computer-generated feature- length animation film: Toy Story New hardware capabilities 28 Oscar winner 2017- Piper https://renderman.pixar.com/stories https://www.youtube.com/watch?v=lkQTe0Wdo2k http://oscar.go.com/news/winners/piper-is-the-2017-oscar-winner-for-short-film-animated Computer Graphics: 2000 – … Photorealism Graphics cards for PCs dominate the market Nvidia ATI Game boxes / players determine the market CG is routine in the film industry 30 The first “two waves” of CG research Product design and manufacturing improvements drove research from the 1960s through the 1980s Arts and entertainment became the dominant driver in the mid-1980s, but has been decreasing And now? Kasik, D. J. (2011). The third wave in Computer Graphics and Interactive Techniques. IEEE Computer Graphics And Applications, 31(4), 89–93. CG – Application areas Entertainment Computer games Animation films Special effects Engineering / Architecture Computer-Aided Design (CAD) Data Visualization Medicine Visualization … 32 Games – Lara Croft 1996 2007 2013 [Wikipedia] 33 Animation films – Pixar Toy Story – 1995 Ratatouille – 2007 Toy Story – 2014 [www.pixar.com] 34 Special effects – ILM 1991 1994 1999 [Wikipedia] 36 Special effects – ILM 2005 2009 2015 [Wikipedia] 37 Computer-Aided Design CAD mockup [Wikipedia] 38 CAD – Simulation [Wikipedia] 39 Virtual and Augmented Reality Virtual Reality – examples Industry Jaguar/ Land Rover http://www.youtube.com/watch?v=j3qcnvgVlNk 41 Medicine http://www.youtube.com/ watch?v=zJmrcEM-uvA 43 Entertainment Oculus Rift 2014; ~300 USD http://www.oculusvr.com/ http://www.youtube.com/watch?v=N8uuDT5AYts44 CG is not alone… Visualization Core areas: IP CG HCI CG, IP, CV and HCI CV Satellite areas: Geometric Geometric Modeling Modeling Data and Information Visualization What is common? CG, IP : image file formats, color models, … CG, CV : 3D model representations, … IP, CV : noise removal, filters, … 45 Example – Medical Imaging Processing pipeline Noise removal Segmentation Generating 2D / 3D models Data visualization User interaction … [www.mevislab.de] RVA - 2014/2015 47 CG Main Tasks Modeling Construct individual models / objects Assemble them into a 2D or 3D scene Animation Static vs. dynamic scenes Movement and / or deformation Rendering Generate final images Where is the observer? How is he / she looking at the scene? 48 Basic Graphics System [Angel] Image formed in the frame buffer 49 Computer Graphics APIs Create 2D / 3D scenes from simple primitives OpenGL Rendering No modeling or interaction facilities Direct 3D – Microsoft VTK 3D CG + Image processing + Visualization Three.js … 50 API contents Functions for specifying / instantiating Geometric primitives Materials Light sources Viewer / Camera … Functions for simple user interaction Input from devices: mouse, keyboard, etc. 51 Geometric Primitives Simple primitives Points Line segments Polygons Geometric primitives Parametric curves / surfaces Cubes, spheres, cylinders, etc. 52 Lights and materials Types of light sources Point vs distributed light sources Spot lights Near and far sources Color properties Material properties Absorption: color properties Scattering: diffuse and specular Transparency 53 Camera specification Position and orientation Lens image size Orientation of image plane [Angel] 54 OpenGL Multi-platform API for rendering 2D and 3D computer graphics Interaction with the GPU to achieve hardware-accelerated rendering Application areas CAD Virtual reality Scientific and Information Visualization … 55 OpenGL OpenGL ES Subset for use in embedded systems and portable devices WebGL JavaScript API based on OpenGL ES 2.0 Rendering interactive 2D and 3D graphics on any compatible browser, without the use of plug-ins 56 Three.js Cross-browser JavaScript library/API used to create and display animated 3D computer graphics in a web browser. Uses WebGL https://threejs.org/ Thee.js first example 1. Defining the scene, the camera and where the scene is rendered var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 ); var renderer = new THREE.WebGLRenderer(); renderer.setSize( window.innerWidth, window.innerHeight ); document.body.appendChild( renderer.domElement ); 58 2.Creating an object and camera position var geometry = new THREE.BoxGeometry(1,1,1); var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } ); var cube = new THREE.Mesh( geometry, material ); scene.add( cube ); camera.position.z = 5; 59 3. Scene rendering function render() { requestAnimationFrame(render); renderer.render(scene, camera); } render(); 4. Scene animation cube.rotation.x += 0.1; cube.rotation.y += 0.1; 60 Adding lights and shading var material = new THREE.MeshPhongMaterial({ ambient: '#006063', color: '#00abb1', specular: '#a9fcff', shininess: 100 }); 61 2D Visualization Define a 2D scene in the world coordinate system Select a clipping window in the XOY plane The window contents will be displayed Select a viewport in the display The viewport displays the contents of the clipping window 62 World -> display y y Display Coordinates x World Coordinates x Coordinate mapping World Coordinates Screen coordinates 64 Coordinate mapping If the aspect ration is not the same in both situations the result is distortion 65 World -> screen y y Screen Coordinates x The aspect ration is not the same in both situations: distortion! World Coordinates x 3D Viewing 68 3D Viewing Where is the observer / the camera ? Position ? Close to the 3D scene ? Far away ? How is the observer looking at the scene ? Orientation ? How to represent as a 2D image ? Projection ? 69 Obtaining an image of the scene using perspective View frustum image [Interactive 3D Graphics, Udacity] Light and Rendering In the real world the light emits rays that are reflected by objects and seen by the eye Computing this is too time consuming {Interactive 3D Graphics, Udacity] Reversing the process in CG In CG simplifying assumptions may be made Start from the camera No shadows Only the rays that matter are processed 3D visualization pipeline Instantiate models of the scene Position, orientation, size Establish viewing parameters Camera position and orientation Compute illumination and shade polygons Perform clipping Project into 2D Rasterize 73 3D visualization pipeline Each object is processed separately Typically 3D triangles (e.g. a cube or a sphere are made of triangles) Triangles are modified by the camera view of the world Is the object inside the view frustum? (No -> next object!) Yes -> compute the location on the screen of each triangle (rasterization) Compute the color of each pixel 74 3D scene Geometry Material Light (animation) + Camera {Interactive 3D Graphics, Udacity] Projection Parallel Projection Perspective
Recommended publications
  • Opengl 4.0 Shading Language Cookbook
    OpenGL 4.0 Shading Language Cookbook Over 60 highly focused, practical recipes to maximize your use of the OpenGL Shading Language David Wolff BIRMINGHAM - MUMBAI OpenGL 4.0 Shading Language Cookbook Copyright © 2011 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: July 2011 Production Reference: 1180711 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-849514-76-7 www.packtpub.com Cover Image by Fillipo ([email protected]) Credits Author Project Coordinator David Wolff Srimoyee Ghoshal Reviewers Proofreader Martin Christen Bernadette Watkins Nicolas Delalondre Indexer Markus Pabst Hemangini Bari Brandon Whitley Graphics Acquisition Editor Nilesh Mohite Usha Iyer Valentina J. D’silva Development Editor Production Coordinators Chris Rodrigues Kruthika Bangera Technical Editors Adline Swetha Jesuthas Kavita Iyer Cover Work Azharuddin Sheikh Kruthika Bangera Copy Editor Neha Shetty About the Author David Wolff is an associate professor in the Computer Science and Computer Engineering Department at Pacific Lutheran University (PLU).
    [Show full text]
  • Phong Shading
    Computer Graphics Shading Based on slides by Dianna Xu, Bryn Mawr College Image Synthesis and Shading Perception of 3D Objects • Displays almost always 2 dimensional. • Depth cues needed to restore the third dimension. • Need to portray planar, curved, textured, translucent, etc. surfaces. • Model light and shadow. Depth Cues Eliminate hidden parts (lines or surfaces) Front? “Wire-frame” Back? Convex? “Opaque Object” Concave? Why we need shading • Suppose we build a model of a sphere using many polygons and color it with glColor. We get something like • But we want Shading implies Curvature Shading Motivation • Originated in trying to give polygonal models the appearance of smooth curvature. • Numerous shading models – Quick and dirty – Physics-based – Specific techniques for particular effects – Non-photorealistic techniques (pen and ink, brushes, etching) Shading • Why does the image of a real sphere look like • Light-material interactions cause each point to have a different color or shade • Need to consider – Light sources – Material properties – Location of viewer – Surface orientation Wireframe: Color, no Substance Substance but no Surfaces Why the Surface Normal is Important Scattering • Light strikes A – Some scattered – Some absorbed • Some of scattered light strikes B – Some scattered – Some absorbed • Some of this scattered light strikes A and so on Rendering Equation • The infinite scattering and absorption of light can be described by the rendering equation – Cannot be solved in general – Ray tracing is a special case for
    [Show full text]
  • CS488/688 Glossary
    CS488/688 Glossary University of Waterloo Department of Computer Science Computer Graphics Lab August 31, 2017 This glossary defines terms in the context which they will be used throughout CS488/688. 1 A 1.1 affine combination: Let P1 and P2 be two points in an affine space. The point Q = tP1 + (1 − t)P2 with t real is an affine combination of P1 and P2. In general, given n points fPig and n real values fλig such that P P i λi = 1, then R = i λiPi is an affine combination of the Pi. 1.2 affine space: A geometric space composed of points and vectors along with all transformations that preserve affine combinations. 1.3 aliasing: If a signal is sampled at a rate less than twice its highest frequency (in the Fourier transform sense) then aliasing, the mapping of high frequencies to lower frequencies, can occur. This can cause objectionable visual artifacts to appear in the image. 1.4 alpha blending: See compositing. 1.5 ambient reflection: A constant term in the Phong lighting model to account for light which has been scattered so many times that its directionality can not be determined. This is a rather poor approximation to the complex issue of global lighting. 1 1.6CS488/688 antialiasing: Glossary Introduction to Computer Graphics 2 Aliasing artifacts can be alleviated if the signal is filtered before sampling. Antialiasing involves evaluating a possibly weighted integral of the (geometric) image over the area surrounding each pixel. This can be done either numerically (based on multiple point samples) or analytically.
    [Show full text]
  • FAKE PHONG SHADING by Daniel Vlasic Submitted to the Department
    FAKE PHONG SHADING by Daniel Vlasic Submitted to the Department of Electrical Engineering and Computer Science in Partial Fulfillment of the Requirements for the Degrees of Bachelor of Science in Computer Science and Engineering and Master of Engineering in Electrical Engineering and Computer Science at the Massachusetts Institute of Technology May 17, 2002 Copyright 2002 M.I.T. All Rights Reserved. Author ________________________________________________________ Department of Electrical Engineering and Computer Science May 17, 2002 Approved by ___________________________________________________ Leonard McMillan Thesis Supervisor Accepted by ____________________________________________________ Arthur C. Smith Chairman, Department Committee on Graduate Theses FAKE PHONG SHADING by Daniel Vlasic Submitted to the Department of Electrical Engineering and Computer Science May 17, 2002 In Partial Fulfillment of the Requirements for the Degrees of Bachelor of Science in Computer Science and Engineering And Master of Engineering in Electrical Engineering and Computer Science ABSTRACT In the real-time 3D graphics pipeline framework, rendering quality greatly depends on illumination and shading models. The highest-quality shading method in this framework is Phong shading. However, due to the computational complexity of Phong shading, current graphics hardware implementations use a simpler Gouraud shading. Today, programmable hardware shaders are becoming available, and, although real-time Phong shading is still not possible, there is no reason not to improve on Gouraud shading. This thesis analyzes four different methods for approximating Phong shading: quadratic shading, environment map, Blinn map, and quadratic Blinn map. Quadratic shading uses quadratic interpolation of color. Environment and Blinn maps use texture mapping. Finally, quadratic Blinn map combines both approaches, and quadratically interpolates texture coordinates. All four methods adequately render higher-resolution methods.
    [Show full text]
  • Interactive Refractive Rendering for Gemstones
    Interactive Refractive Rendering for Gemstones LEE Hoi Chi Angie A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Philosophy in Automation and Computer-Aided Engineering ©The Chinese University of Hong Kong Jan, 2004 The Chinese University of Hong Kong holds the copyright of this thesis. Any person(s) intending to use a part of whole of the materials in the thesis in a proposed publication must seek copyright release from the Dean of the Graduate School. 统系绍¥圖\& 卿 15 )ij UNIVERSITY —肩j N^Xlibrary SYSTEM/-^ Abstract Customization plays an important role in today's jewelry design industry. There is a demand on the interactive gemstone rendering which is essential for illustrating design layout to the designer and customer interactively. Although traditional rendering techniques can be used for generating photorealistic image, they require long processing time for image generation so that interactivity cannot be attained. The technique proposed in this thesis is to render gemstone interactively using refractive rendering technique. As realism always conflicts with interactivity in the context of rendering, the refractive rendering algorithm need to strike a balance between them. In the proposed technique, the refractive rendering algorithm is performed in two stages, namely the pre-computation stage and the shading stage. In the pre-computation stage, ray-traced information, such as directions and positions of rays, are generated by ray tracing and stored in a database. During the shading stage, the corresponding data are retrieved from the database for the run-time shading calculation of gemstone. In the system, photorealistic image of gemstone with various cutting, properties, lighting and background can be rendered interactively.
    [Show full text]
  • Flat Shading
    Shading Reading: Angel Ch.6 What is “Shading”? So far we have built 3D models with polygons and rendered them so that each polygon has a uniform colour: - results in a ‘flat’ 2D appearance rather than 3D - implicitly assumed that the surface is lit such that to the viewer it appears uniform ‘Shading’ gives the surface its 3D appearance - under natural illumination surfaces give a variation in colour ‘shading’ across the surface - the amount of reflected light varies depends on: • the angle between the surface and the viewer • angle between the illumination source and surface • surface material properties (colour/roughness…) Shading is essential to generate realistic images of 3D scenes Realistic Shading The goal is to render scenes that appear as realistic as photographs of real scenes This requires simulation of the physical processes of image formation - accurate modeling of physics results in highly realistic images - accurate modeling is computationally expensive (not real-time) - to achieve a real-time graphics pipeline performance we must compromise between physical accuracy and computational cost To model shading requires: (1) Model of light source (2) Model of surface reflection Physically accurate modelling of shading requires a global analysis of the scene and illumination to account for surface reflection between surfaces/shadowing/ transparency etc. Fast shading calculation considers only local analysis based on: - material properties/surface geometry/light source position & properties Physics of Image Formation Consider the
    [Show full text]
  • Ray Casting Architectures for Volume Visualization
    MITSUBISHI ELECTRIC RESEARCH LABORATORIES http://www.merl.com Ray Casting Architectures for Volume Visualization Harvey Ray, Hanspeter Pfister, Deborah Silver, Todd A. Cook TR99-17 April 1999 Abstract Real-time visualization of large volume datasets demands high performance computation, push- ing the storage, processing, and data communication requirements to the limits of current tech- nology. General purpose parallel processors have been used to visualize moderate size datasets at interactive frame rates; however, the cost and size of these supercomputers inhibits the widespread use for real-time visualization. This paper surveys several special purpose architectures that seek to render volumes at interactive rates. These specialized visualization accelerators have cost, per- formance, and size advantages over parallel processors. All architectures implement ray casting using parallel and pipelined hardware. We introduce a new metric that normalizes performance to compare these architectures. The architectures included in this survey are VOGUE, VIRIM, Array Based Ray Casting, EM-Cube, and VIZARD II. We also discuss future applications of special purpose accelerators. IEEE Transactions on Visualization and Computer Graphics This work may not be copied or reproduced in whole or in part for any commercial purpose. Permission to copy in whole or in part without payment of fee is granted for nonprofit educational and research purposes provided that all such whole or partial copies include the following: a notice that such copying is by permission of Mitsubishi Electric Research Laboratories, Inc.; an acknowledgment of the authors and individual contributions to the work; and all applicable portions of the copyright notice. Copying, reproduction, or republishing for any other purpose shall require a license with payment of fee to Mitsubishi Electric Research Laboratories, Inc.
    [Show full text]
  • Shading and Rendering
    Chapter 7 - Shading and Rendering • Local Illumination Models: Shading • Global Illumination: Ray Tracing • Global Illumination: Radiosity • Non-Photorealistic Rendering Literature: H.-J. Bungartz, M. Griebel, C. Zenger: Einführung in die Computergraphik, 2. Auflage, Vieweg 2002 LMU München – Medieninformatik – Andreas Butz – Computergrafik 1 – SS2015 – Kapitel 7 1 ! The 3D rendering pipeline (our version for this class) 3D models in 3D models in world 2D Polygons in Pixels in image model coordinates coordinates camera coordinates coordinates Scene graph Camera Rasterization Animation, Lights Interaction LMU München – Medieninformatik – Andreas Butz – Computergrafik 1 – SS2015 – Kapitel 7 2 ! Local Illumination: Shading • Local illumination: – Light calculations are done locally without the global scene – No cast shadows (since those would be from other objects, hence global) – Object shadows are OK, only depend on the surface normal ! • Simple idea: Loop over all polygons • For each polygon: – Determine the pixels it occupies on the screen and their color – Draw using e.g., Z-buffer algorithm to get occlusion right ! • Each polygon only considered once • Some pixels considered multiple times • More efficient: Scan-line algorithms LMU München – Medieninformatik – Andreas Butz – Computergrafik 1 – SS2015 – Kapitel 7 3 ! Scan-Line Algorithms in More Detail • Polygon Table (PT): – List of all polygons with plane equation parameters, color information and inside/outside flag (see rasterizaton) ! • Edge Table (ET): – List of all non-horizontal
    [Show full text]
  • Appendix: Graphics Software Took
    Appendix: Graphics Software Took Appendix Objectives: • Provide a comprehensive list of graphics software tools. • Categorize graphics tools according to their applications. Many tools come with multiple functions. We put a primary category name behind a tool name in the alphabetic index, and put a tool name into multiple categories in the categorized index according to its functions. A.I. Graphics Tools Listed by Categories We have no intention of rating any of the tools. Many tools in the same category are not necessarily of the same quality or at the same capacity level. For example, a software tool may be just a simple function of another powerful package, but it may be free. Low4evel Graphics Libraries 1. DirectX/DirectSD - - 248 2. GKS-3D - - - 278 3. Mesa 342 4. Microsystem 3D Graphic Tools 346 5. OpenGL 370 6. OpenGL For Java (GL4Java; Maps OpenGL and GLU APIs to Java) 281 7. PHIGS 383 8. QuickDraw3D 398 9. XGL - 497 138 Appendix: Graphics Software Toois Visualization Tools 1. 3D Grapher (Illustrates and solves mathematical equations in 2D and 3D) 160 2. 3D Studio VIZ (Architectural and industrial designs and concepts) 167 3. 3DField (Elevation data visualization) 171 4. 3DVIEWNIX (Image, volume, soft tissue display, kinematic analysis) 173 5. Amira (Medicine, biology, chemistry, physics, or engineering data) 193 6. Analyze (MRI, CT, PET, and SPECT) 197 7. AVS (Comprehensive suite of data visualization and analysis) 211 8. Blueberry (Virtual landscape and terrain from real map data) 221 9. Dice (Data organization, runtime visualization, and graphical user interface tools) 247 10. Enliten (Views, analyzes, and manipulates complex visualization scenarios) 260 11.
    [Show full text]
  • Computação Gráfica Computer Graphics Engenharia Informática (11569) – 3º Ano, 2º Semestre
    Computação Gráfica Computer Graphics Engenharia Informática (11569) – 3º ano, 2º semestre Chap. 9 – Shading http://di.ubi.pt/~agomes/cg/09-shading.pdf T09 Shading Outline Based on https://www.cs.unc.edu/~dm/UNC/COMP236/LECTURES/LightingAndShading.ppt …: – Light-dependent illumination models: a refresher – Shading: motivation – Types of shading: flat, Gouraud, and Phong – Flat shading algorithm – Gouraud shading algorithm – Phong shading algorithm – Shading issues – Flat, Gouraud, and Phong shaders in GLSL – OpenGL/GLSL examples. T09 Shading Light-dependent models: a refresher stills.htm / raygallery / raytracer Direct (or local) illumination: /~johns/ – Simple interaction between light and objects jedi.ks.uiuc.edu – Real-time process supported by OpenGL http:// l – Example: Phong’s illumination model. Indirect (or global) illumination: – Multiple interactions between light and objects (e.g., inter-object reflections, refraction, and shadows) – It is a real-time process for small scenes, but not for complex scenes – Examples: raytracing, radiosity, photon mapping … T09 Shading Shading: motivation We now have a direct lighting model for a simple point on the surface. Assuming that our surface is defined as a mesh of polygonal faces, what points should we use? – Computing the color for all points is expensive – The normals may not be explicitly defined for all points It should be noted that: – Lighting involves a rather cumbersome calculation process if it is applied to all points on the surface of an object – There are several possible
    [Show full text]
  • A Graphics Pipeline for Directly Rendering 3D Scenes on Web Browsers
    A Graphics Pipeline for Directly Rendering 3D Scenes on Web Browsers Master’s Thesis ! Edgar Marchiel Pinto A Graphics Pipeline for Directly Rendering 3D Scenes on Web Browsers DISSERTATION concerning to the investigation work done to obtain the degree of MASTER OF SCIENCE in COMPUTER SCIENCE AND ENGINEERING by Edgar Marchiel Pinto natural of Covilha,˜ Portugal ! Computer Graphics and Multimedia Group Department of Computer Science University of Beira Interior Covilha,˜ Portugal www.di.ubi.pt Copyright c 2009 by Edgar Marchiel Pinto. All right reserved. No part of this publica- tion can be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the previous written permission of the author. A Graphics Pipeline for Directly Rendering 3D Scenes on Web Browsers Author: Edgar Marchiel Pinto Student Id: M1489 Resumo Nesta dissertac¸ao˜ propomos um pipeline grafico,´ na forma de uma biblioteca Web- 3D, para a renderizac¸ao˜ de cenas 3D directamente no browser. Esta biblioteca de codigo´ livre chama-se Glyper3D. Foi desenvolvida usando a linguagem de programac¸ao˜ JavaScript, em conjunto com o elemento canvas do HTML5, permitindo a criac¸ao,˜ ma- nipulac¸ao˜ e renderizac¸ao˜ de conteudos´ 3D no browser, sem ser necessaria´ a instalac¸ao˜ de qualquer tipo de plug-in ou add-on para o browser, ou seja, nao˜ tira partido de acelerac¸ao˜ grafica.´ Esta e´ a principal diferenc¸a em relac¸ao˜ a outras tecnologias Web3D. Como e´ uma biblioteca direccionada para um ambiente web, foi desenvolvida para pro- porcionar maior usabilidade, proporcionando assim uma forma mais simples e intuitiva para desenvolver conteudos´ 3D directamente no browser.
    [Show full text]
  • Based on Basic Graphic Principles Compare Pexlib 5.2 and Opengl
    Based on basic graphic principles compare PEXlib 5.2 and OpenGL 1.0 by Chongyu Zhou A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science Montana State University © Copyright by Chongyu Zhou (1996) Abstract: Computer graphics bring to life a vast range of human imaginings. Graphics and visualization become unprecedented power to explore our world. Over the past decade, the computer's ability to create images has led to such innovations as mouse-driven graphical user interfaces, desktop publishing and multimedia communications. The entertainment industry now relies on visual computing for vivid new characters and landscapes. Through computer imaging inside the human body can be seen without performing surgery. For many scientists, doctors, engineers and other professionals, the computer's power to visualize both real world data and abstract relationships has become an indispensable tool. Although there are a lot of 3D graphics packages or 3D application program interfaces (APIs), the PEXlib and OpenGL play very important roles in the 3D API market and workstation market. To understand them is also important for users to create their scenes by using a reasonable 3D API. Since the PEXlib 5.2 and OpenGL 1.0 are two complex 3D API packages, it is difficult to explore and compare them completely from user's side. In this research, the comparison of PEXlib 5.2 and OpenGL 1.0 based on the basic principles of graphics is done. In general, the comparison between them follows the basic concepts for 3D graphics, such as coloring, lighting, shading, viewing and their architectures.
    [Show full text]