Objectives. Topic 4: OpenGL An Example Program. simple.cpp revisited. Defining Objects in OpenGL Programs. Build a complete OpenGL program

Size: px
Start display at page:

Download "Objectives. Topic 4: OpenGL An Example Program. simple.cpp revisited. Defining Objects in OpenGL Programs. Build a complete OpenGL program"

Transcription

1 Tpic 4: OpenGL An Example Prgram Objectives Build a cmplete OpenGL prgram Initializatin steps and prgram structure GLUT functins Vertex array bjects and vertex buffer bjects Simple viewing Intrduce the OpenGL camera, rthgraphic viewing, viewprt, varius crdinate systems, transfrmatins CITS 3003 Graphics & Animatin Slides: 1 2 Defining Objects in OpenGL Prgrams In OpenGL prgrams (versin 3.1 nward), we define any bject by 1. putting all its vertices gemetric data in an array, e.g. Recall: retained vec3 pints[3]; mde graphics pints[0] = vec3(0.0, 0.0, 0.0); pints[1] = vec3(0.0, 1.0, 0.0); pints[2] = vec3(0.0, 0.0, 1.0); 2. send the array t GPU 3. tell GPU t render the pints as a triangle (fr this example). 3 simple.cpp revisited main() mre cmplex than befre; mstly calling GLUT functins init() will incrprate clr initshader() details f setting up shaders will be lked at in later lectures Key issue is that we must frm a data array t send t GPU and then render it 4 1

2 simple.cpp - A mre cmplex versin f main() #include "Angel.h" includes gl.h, glext.h, freeglut.h, int main(int argc, char** argv) { vec.h, mat.h, glutinit(&argc,argv); glutinitdisplaymde(glut_double GLUT_DEPTH); request duble buffering & a depth buffer glutinitwindwsize(500,500); specify windw size and psitin glutinitwindwpsitin(0,0); glutinitcntextversin( 3, 2 ); require OpenGL 3.2 Cre prfile glutinitcntextprfile( GLUT_CORE_PROFILE ); glutcreatewindw("simple"); glutdisplayfunc(mydisplay); glewinit(); init(); set OpenGL state and initialize shaders glutmainlp(); enter event lp return 0; } actually never returns create a windw with the title simple set display callback fn: mydisplay will be called when the windw needs redrawing 5 GLUT functins glutinit initializes the GLUT system allws it t receive cmmand line arguments (always include this line) glutinitdisplaymde requests prperties fr the windw (the rendering cntext) RGBA clr (default) r indexed clur (rare nw) Duble buffering (usually) r Single buffering (redraw flickers) Depth buffer (usually in 3D) stres pixel depths t find clsest surfaces [ usually with glenable(gl_depth_test); ] Others: GLUT_ALPHA, generally fr special additinal windw buffers Prperties are bitwise ORed tgether with (vertical bar) glutwindwsize defines the windw size in pixels glutwindwpsitin psitins the windw (relative t tp-left crner f display) 6 GLUT functins (cnt.) Display Callback glutcreatewindw creates windw with title simple many functins need t be called prir t creating the windw similarly many ther functins can nly be called afterwards glutdisplayfunc sets the display callback glutkeybardfunc sets the keybard callback glutreshapefunc sets the windw resize callback gluttimerfunc sets the timer callback glutidlefunc sets the idle callback glutmainlp enters infinite event lp never returns, but may exit 7 Once we get data t GPU, we can initiate the rendering with a simple display callback functin: vid mydisplay() { glclear(gl_color_buffer_bit); gldrawarrays(gl_triangles, 0, 3); } // glflush(); // Single buffering glutswapbuffers(); // Duble buffering Prir t this, the vertex buffer bjects shuld cntain the vertex data. The display callback functin is called every time the windw needs t be repainted. 8 2

3 Initializatin All the initializatin cdes can be put inside an init() functin. These include: Setting up the vertex array bjects and vertex buffer bjects Clearing windw s backgrund and ther OpenGL parameters Setting up vertex and fragment shaders Read in the shaders Cmpile them Link them Let s cnsider a few ther issues. 9 Vertex Arrays Vertices can have many attributes Psitin Clr Texture Crdinates Applicatin data A vertex array hlds all f these data See the types declared in vec.h, e.g., pint2 vertices[3] = {pint2(0.0, 0.0), pint2(0.0, 1.0), pint2(1.0, 1.0)}; 10 Vertex Array Objects Vertex Array Object (cnt.) A vertex array bundles all vertex data (psitins, clrs, etc) T define a vertex array bject (VAO): 1. Generate a vertex array bject ID: GLuint va; glgenvertexarrays(1, &va); 2. Bind the vertex array bject ID glbindvertexarray(va); At this pint we have a current vertex array but n cntents yet Use f glbindvertexarray lets us switch between VBOs See later 11 Unfrtunately sme pengl functins are nt cmpletely platfrm independent. On Linux/Windws: GLuint abuffer; glgenvertexarrays(1, &abuffer); glbindvertexarray(abuffer); On Mac: GLuint abuffer; glgenvertexarraysapple(1, &abuffer); glbindvertexarrayapple(abuffer); 12 3

4 Vertex Buffer Objects Vertex buffers bjects (VBO) allw us t transfer large amunts f data t the GPU Need t create and bind the VBO in a similar way like the vertex array bject and then cpy the vertices t the buffer: Gluint buffer; glgenbuffers(1, &buffer); glbindbuffer(gl_array_buffer, buffer); glbufferdata(gl_array_buffer, sizef(pints), pints); This is hw data in the current vertex array is sent t GPU. 13 Vertex Buffer Object (cnt.) If we have a pints array and a clurs array, then we need t specify a larger buffer fr the VBO and we need t call glbuffersubdata fr each array //need a larger buffer as it needs t hld bth //pints and clrs glbufferdata(gl_array_buffer, sizef(pints) + sizef(clurs), NULL, GL_STATIC_DRAW); //lad data separately ffset glbuffersubdata(gl_array_buffer, 0, sizef(pints), pints); glbuffersubdata(gl_array_buffer, sizef(pints), sizef(clurs), clurs); 14 Vertex Buffer Object (cnt.) Can als specify mre than ne buffer bject, e.g., 2 buffer bjects: GLuint buffer[2]; glgenbuffers(2, buffer); //d the binding and send the data fr the 1 st //t the GPU glbindbuffer(gl_array_buffer, buffer[0]); glbufferdata(gl_array_buffer, sizef(pints), pints); //d the same fr the 2 nd buffer bject glbindbuffer(gl_array_buffer, buffer[1]); glbufferdata(gl_array_buffer, sizef(clurs), clurs); pints is an array f vec2, vec3, r vec4. clurs is an array f vec3 r vec4. buffer Passing vertex crdinates (variable pints) and vertex clurs (variable clurs) t GPU using buffer[0] and buffer[1] 15 Reading, Cmpiling, and Linking Shaders In the init() functin, we als read, cmpile, and link the vertex and fragment shaders t create a prgram bject: GLuint prgram = InitShader("vshader.glsl", "fshader.glsl"); gluseprgram(prgram); The functin InitShader defined in InitShader.cpp carries ut the reading, cmpiling, and linking f the shaders. If there are errrs in any f the glsl file, the prgram will crash at this line. Exercise: study InitShader.cpp. 4

5 Crdinate Systems The units in the pints array (n slide 14) are determined by the applicatin and we call them the bject, wrld, mdel r prblem crdinates The viewing specificatins are usually als in bject crdinates Eventually pixels will be prduced in windw crdinates (a.k.a. screen crdinates) OpenGL shaders ften use sme internal representatins that are usually nt visible t the applicatin, such as camera crdinates (generally prir t perspective transfrmatin) The OpenGL Camera OpenGL places a camera at the rigin in the bject crdinate space pinting in the negative z directin The default viewing vlume is a bx centred at the rigin with sides f length Orthgraphic Viewing Viewprts In the default rthgraphic view, pints are prjected frward alng the z axis nt the plane z = 0 z=0 We d nt have t use the entire windw t render the scene, e.g., we can set the viewprt like this: glviewprt(x,y,w,h) Values passed t this functin shuld be in pixels (windw crdinates) z=

6 Transfrmatins and Viewing In OpenGL, prjectin is carried ut by a prjectin matrix (transfrmatin) Transfrmatins are als used fr changes in crdinate systems, e.g., vertices can be rtated and translated by transfrmatins. Transfrmatins can be applied in Applicatin cde (C++) Shader (GLSL) 21 References Interactive Cmputer Graphics A Tp-Dwn Apprach with Shader-Based OpenGL by Edward Angel and Dave Shreiner, 6 th Ed, 2012 Secs The Sierpinski Gasket Sec The Orthgraphic View Sec 2.7 Cntrl Functins Sec. 2.8 The Gasket Prgram Sec. 3.4 Frames in OpenGL (up t page 142) App. D.1 Initializatin and Windw Functins App. D.2 Vertex Array and Vertex Buffer Objects Angel and Shreiner: Interactive Cmputer Graphics6E Addisn-Wesley

Objectives. Topic 8: Input, Interaction, & Introduction to callbacks. Input Devices. Project Sketchpad. Introduce the basic input devices

Objectives. Topic 8: Input, Interaction, & Introduction to callbacks. Input Devices. Project Sketchpad. Introduce the basic input devices Tpic 8 Input, Interactin, & Intr. t Callbacks Tpic 8: Input, Interactin, & Intrductin t callbacks Tpic 8 Input, Interactin, & Intr. t Callbacks Objectives Intrduce the basic input devices Physical Devices

More information

Objectives. OpenGL - Shaders. GLSL A Quick Review

Objectives. OpenGL - Shaders. GLSL A Quick Review OpenGL - Shaders CITS3003 Graphics & Animatin E. Angel and D. Shreiner: Interactive Cmputer Graphics 6E Addisn-Wesley 2012 1 Objectives The rendering pipeline and the shaders Data types, qualifiers, built-in

More information

Comp 410/510 Computer Graphics Spring Programming with OpenGL Part 2: First Program

Comp 410/510 Computer Graphics Spring Programming with OpenGL Part 2: First Program Comp 410/510 Computer Graphics Spring 2017 Programming with OpenGL Part 2: First Program Objectives Refine the first program Introduce a standard program structure - Initialization Program Structure Most

More information

Topic 7: Transformations. General Transformations. Affine Transformations. Introduce standard transformations

Topic 7: Transformations. General Transformations. Affine Transformations. Introduce standard transformations Tpic 7: Transfrmatins CITS33 Graphics & Animatin E. Angel and D. Shreiner: Interactive Cmputer Graphics 6E Addisn-Wesle 22 Objectives Intrduce standard transfrmatins Rtatin Translatin Scaling Shear Derive

More information

Because this underlying hardware is dedicated to processing graphics commands, OpenGL drawing is typically very fast.

Because this underlying hardware is dedicated to processing graphics commands, OpenGL drawing is typically very fast. The Open Graphics Library (OpenGL) is used fr visualizing 2D and 3D data. It is a multipurpse pen-standard graphics library that supprts applicatins fr 2D and 3D digital cntent creatin, mechanical and

More information

CS 432 Interactive Computer Graphics

CS 432 Interactive Computer Graphics CS 432 Interactive Computer Graphics Lecture 1 Part 3 Anatomy of OpenGL Programs Matt Burlick - Drexel University - CS 432 1 Reading Angel Chapter 2 Red Book Chapter 4 Matt Burlick - Drexel University

More information

Computer Graphics (CS 543) Lecture 1 (Part 2): Introduction to OpenGL/GLUT (Part 1)

Computer Graphics (CS 543) Lecture 1 (Part 2): Introduction to OpenGL/GLUT (Part 1) Computer Graphics (CS 543) Lecture 1 (Part 2): Introduction to OpenGL/GLUT (Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) OpenGL/GLUT Installation OpenGL: Specific

More information

CS 432 Interactive Computer Graphics

CS 432 Interactive Computer Graphics CS 432 Interactive Computer Graphics Lecture 2 Part 1 Primitives and Buffers Matt Burlick - Drexel University - CS 432 1 Rendering in OpenGL Ok, so now we want to actually draw stuff! OpenGL (like most

More information

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

CS 543 Lecture 1 (Part 3) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI) Computer Graphics CS 543 Lecture 1 (Part 3) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Recall: OpenGL Skeleton void main(int argc, char** argv){ // First initialize

More information

Information Coding / Computer Graphics, ISY, LiTH. OpenGL! ! where it fits!! what it contains!! how you work with it 11(40)

Information Coding / Computer Graphics, ISY, LiTH. OpenGL! ! where it fits!! what it contains!! how you work with it 11(40) 11(40) Information Coding / Computer Graphics, ISY, LiTH OpenGL where it fits what it contains how you work with it 11(40) OpenGL The cross-platform graphics library Open = Open specification Runs everywhere

More information

Announcement. Homework 1 has been posted in dropbox and course website. Due: 1:15 pm, Monday, September 12

Announcement. Homework 1 has been posted in dropbox and course website. Due: 1:15 pm, Monday, September 12 Announcement Homework 1 has been posted in dropbox and course website Due: 1:15 pm, Monday, September 12 Today s Agenda Primitives Programming with OpenGL OpenGL Primitives Polylines GL_POINTS GL_LINES

More information

How to Start a New Prezi & Edit It

How to Start a New Prezi & Edit It Hw t Start a New Prezi & Edit It Lg int accunt Click n Select a template. Each template cntains frames, which are used t grup like items, and are similar t slides in PwerPint. The rder in which yur presentatin/stry

More information

Computer Graphics (CS 4731) OpenGL/GLUT(Part 1)

Computer Graphics (CS 4731) OpenGL/GLUT(Part 1) Computer Graphics (CS 4731) Lecture 2: Introduction to OpenGL/GLUT(Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Recall: OpenGL GLBasics OpenGL s function Rendering

More information

LAB 7 (June 29/July 4) Structures, Stream I/O, Self-referential structures (Linked list) in C

LAB 7 (June 29/July 4) Structures, Stream I/O, Self-referential structures (Linked list) in C LAB 7 (June 29/July 4) Structures, Stream I/O, Self-referential structures (Linked list) in C Due: July 9 (Sun) 11:59 pm 1. Prblem A Subject: Structure declaratin, initializatin and assignment. Structure

More information

What is Procedural Content Generation?

What is Procedural Content Generation? Sectin 5 (25-03-2018) Endless Runner In this tutrial we are ging t create an Endless Runner game. In this game character can nly mve right and left and it is always ging frward. The grund (tile r platfrm)

More information

Computer Graphics. Si Lu. Fall uter_graphics.htm 11/08/2016

Computer Graphics. Si Lu. Fall uter_graphics.htm 11/08/2016 Cmputer Graphics Si Lu Fall 2017 http://web.cecs.pd.edu/~lusi/cs447/cs447_547_cmp uter_graphics.htm 11/08/2016 Last time Lighting and Shading 2 Tda Teture Mapping Hmewrk 4 available, due in class Nvember

More information

API Background. Prof. George Wolberg Dept. of Computer Science City College of New York

API Background. Prof. George Wolberg Dept. of Computer Science City College of New York API Background Prof. George Wolberg Dept. of Computer Science City College of New York Objectives Graphics API history OpenGL API OpenGL function format Immediate Mode vs Retained Mode Examples The Programmer

More information

OPEN GL BACKGROUND. Objectives. Early History of APIs. SGI and GL. PHIGS and X. Modified from Angel 6e book slides

OPEN GL BACKGROUND. Objectives. Early History of APIs. SGI and GL. PHIGS and X. Modified from Angel 6e book slides OPEN GL Modified from Angel 6e book slides BACKGROUND Objectives Early History of APIs Development of the OpenGL API OpenGL Architecture OpenGL as a state machine OpenGL as a data flow machine Functions

More information

LeClair Lab Fluorender Protocol 2014

LeClair Lab Fluorender Protocol 2014 3. Using Flurender This prtcl reviews a few f the basic tls fr Flurender visualizatin, including: 1. Psitining the Image Rendered 2. Chsing the Render View mde 3. Adjusting Each Layer 4. Clipping the Vlume

More information

Interfacing to MATLAB. You can download the interface developed in this tutorial. It exists as a collection of 3 MATLAB files.

Interfacing to MATLAB. You can download the interface developed in this tutorial. It exists as a collection of 3 MATLAB files. Interfacing t MATLAB Overview: Getting Started Basic Tutrial Interfacing with OCX Installatin GUI with MATLAB's GUIDE First Buttn & Image Mre ActiveX Cntrls Exting the GUI Advanced Tutrial MATLAB Cntrls

More information

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Yu will learn the fllwing in this lab: The UNIVERSITY f NORTH CAROLINA at CHAPEL HILL Cmp 541 Digital Lgic and Cmputer Design Spring 2016 Lab Prject (PART A): A Full Cmputer! Issued Fri 4/8/16; Suggested

More information

Greg Dias, Alex Wilson. Fermi

Greg Dias, Alex Wilson. Fermi Greg Dias, Alex Wilsn Fermi Agenda Cmputer Graphics and Parallelism Basic GPU structure NVIDIA Fermi and CUDA Graphics Rendering Methds Plygn Rendering Ray Tracing Plygn Rendering Apprximatin f cmplex

More information

SoilCare: Stakeholder Platform Guidance How to edit and manage your own stakeholder platform WP8

SoilCare: Stakeholder Platform Guidance How to edit and manage your own stakeholder platform WP8 SilCare: Stakehlder Platfrm Guidance Hw t edit and manage yur wn stakehlder platfrm WP8 3 1) Lg-in t SilCare Website Administratr page Lg-in t the SilCare Website administratr back-end page using this

More information

INSERTING MEDIA AND OBJECTS

INSERTING MEDIA AND OBJECTS INSERTING MEDIA AND OBJECTS This sectin describes hw t insert media and bjects using the RS Stre Website Editr. Basic Insert features gruped n the tlbar. LINKS The Link feature f the Editr is a pwerful

More information

CS5530 Mobile/Wireless Systems Using Google Map in Android

CS5530 Mobile/Wireless Systems Using Google Map in Android Mbile/Wireless Systems Using Ggle Map in Andrid Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang UC. Clrad Springs Setup Install the Ggle Play services SDK Tls > Andrid > SDK

More information

Parallel Processing in NCAR Command Language for Performance Improvement

Parallel Processing in NCAR Command Language for Performance Improvement Parallel Prcessing in NCAR Cmmand Language fr Perfrmance Imprvement Ping Gu, University f Wyming Mentr: Wei Huang, NCAR C- Mentr: Dave Brwn, NCAR August 1, 2013 Intrductin and Mtivatin ² The NCAR Cmmand

More information

Scroll down to New and another menu will appear. Select Folder and a new

Scroll down to New and another menu will appear. Select Folder and a new Creating a New Flder Befre we begin with Micrsft Wrd, create a flder n yur Desktp named Summer PD. T d this, right click anywhere n yur Desktp and a menu will appear. Scrll dwn t New and anther menu will

More information

Programming with OpenGL Part 2: Complete Programs Computer Graphics I, Fall

Programming with OpenGL Part 2: Complete Programs Computer Graphics I, Fall Programming with OpenGL Part 2: Complete Programs 91.427 Computer Graphics I, Fall 2008 1 1 Objectives Refine first program Alter default values Introduce standard program structure Simple viewing 2-D

More information

Definiens XD Release Notes

Definiens XD Release Notes Definiens XD 1.1.2 Release Ntes Errr! N text f specified style in dcument. Definiens XD 1.1.2 - Release Ntes Imprint and Versin Dcument Versin XD 1.1.2 Cpyright 2009 Definiens AG. All rights reserved.

More information

COMP371 COMPUTER GRAPHICS

COMP371 COMPUTER GRAPHICS COMP371 COMPUTER GRAPHICS SESSION 12 PROGRAMMABLE SHADERS Announcement Programming Assignment #2 deadline next week: Session #7 Review of project proposals 2 Lecture Overview GPU programming 3 GPU Pipeline

More information

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Yu will learn the fllwing in this lab: The UNIVERSITY f NORTH CAROLINA at CHAPEL HILL Designing a mdule with multiple memries Designing and using a bitmap fnt Designing a memry-mapped display Cmp 541 Digital

More information

Computer Graphics CS 543 Lecture 4 (Part 2) Building 3D Models (Part 2)

Computer Graphics CS 543 Lecture 4 (Part 2) Building 3D Models (Part 2) Computer Graphics CS 543 Lecture 4 (Part 2) Building 3D Models (Part 2) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Modeling a Cube In 3D, declare vertices as (x,y,z)

More information

Municode Website Instructions

Municode Website Instructions Municde Website instructins Municde Website Instructins The new and imprved Municde site allws yu t navigate t, print, save, e-mail and link t desired sectins f the Online Cde f Ordinances with greater

More information

Recommended Minimum Requirements for Cisco Meeting Application Web RTC Use

Recommended Minimum Requirements for Cisco Meeting Application Web RTC Use Recmmended Minimum Requirements fr Cisc Meeting Applicatin Web RTC Use Fr the best experience the fllwing requirements and recmmendatins shuld be fllwed. Requirements: External USB web camera capable f

More information

Automatic imposition version 5

Automatic imposition version 5 Autmatic impsitin v.5 Page 1/9 Autmatic impsitin versin 5 Descriptin Autmatic impsitin will d the mst cmmn impsitins fr yur digital printer. It will autmatically d flders fr A3, A4, A5 r US Letter page

More information

Computer Graphics. Bing-Yu Chen National Taiwan University

Computer Graphics. Bing-Yu Chen National Taiwan University Computer Graphics Bing-Yu Chen National Taiwan University Introduction to OpenGL General OpenGL Introduction An Example OpenGL Program Drawing with OpenGL Transformations Animation and Depth Buffering

More information

TRAINING GUIDE. Overview of Lucity Spatial

TRAINING GUIDE. Overview of Lucity Spatial TRAINING GUIDE Overview f Lucity Spatial Overview f Lucity Spatial In this sessin, we ll cver the key cmpnents f Lucity Spatial. Table f Cntents Lucity Spatial... 2 Requirements... 2 Setup... 3 Assign

More information

Quick Start Guide. Basic Concepts. DemoPad Designer - Quick Start Guide

Quick Start Guide. Basic Concepts. DemoPad Designer - Quick Start Guide Quick Start Guide This guide will explain the prcess f installing & using the DemPad Designer sftware fr PC, which allws yu t create a custmised Graphical User Interface (GUI) fr an iphne / ipad & embed

More information

Quick start guide: Working in Transit NXT with a PPF

Quick start guide: Working in Transit NXT with a PPF Quick start guide: Wrking in Transit NXT with a PPF STAR UK Limited Cntents What is a PPF?... 3 What are language pairs?... 3 Hw d I pen the PPF?... 3 Hw d I translate in Transit NXT?... 6 What is a fuzzy

More information

JavaScript for Developers

JavaScript for Developers Curse Cde: 55244 Certificatin Exam: N/A Duratin: 5 Days Certificatin Track: N/A Frmat: Classrm Level: 200 Abut this curse: This five-day instructr-led is an in depth hands-n study f JavaScript. The curse

More information

Stealing passwords via browser refresh

Stealing passwords via browser refresh Stealing passwrds via brwser refresh Authr: Karmendra Khli [karmendra.khli@paladin.net] Date: August 07, 2004 Versin: 1.1 The brwser s back and refresh features can be used t steal passwrds frm insecurely

More information

Pages of the Template

Pages of the Template Instructins fr Using the Oregn Grades K-3 Engineering Design Ntebk Template Draft, 12/8/2011 These instructins are fr the Oregn Grades K-3 Engineering Design Ntebk template that can be fund n the web at

More information

Element Creator for Enterprise Architect

Element Creator for Enterprise Architect Element Creatr User Guide Element Creatr fr Enterprise Architect Element Creatr fr Enterprise Architect... 1 Disclaimer... 2 Dependencies... 2 Overview... 2 Limitatins... 3 Installatin... 4 Verifying the

More information

Advances in Real-Time Voxel-Based GI

Advances in Real-Time Voxel-Based GI Advances in Real-Time Vxel-Based GI Alexey Panteleev, Senir Develper Technlgy Engineer Rahul Sathe, Senir Develper Technlgy Engineer March 21, 2018 Bth #223 - Suth Hall www.nvidia.cm/gdc Recap n VXGI Vxel

More information

Project #1 - Fraction Calculator

Project #1 - Fraction Calculator AP Cmputer Science Liberty High Schl Prject #1 - Fractin Calculatr Students will implement a basic calculatr that handles fractins. 1. Required Behavir and Grading Scheme (100 pints ttal) Criteria Pints

More information

CS475/CS675 - Computer Graphics. OpenGL Drawing

CS475/CS675 - Computer Graphics. OpenGL Drawing CS475/CS675 - Computer Graphics OpenGL Drawing What is OpenGL? Open Graphics Library API to specify geometric objects in 2D/3D and to control how they are rendered into the framebuffer. A software interface

More information

Lab 1 - Calculator. K&R All of Chapter 1, 7.4, and Appendix B1.2

Lab 1 - Calculator. K&R All of Chapter 1, 7.4, and Appendix B1.2 UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C SPRING 2012 Lab 1 - Calculatr Intrductin In this lab yu will be writing yur first

More information

August 22, 2006 IPRO Tech Client Services Tip of the Day. Concordance and IPRO Camera Button / Backwards DB Link Setup

August 22, 2006 IPRO Tech Client Services Tip of the Day. Concordance and IPRO Camera Button / Backwards DB Link Setup Cncrdance and IPRO Camera Buttn / Backwards DB Link Setup When linking Cncrdance and IPRO, yu will need t update the DDEIVIEW.CPL file t establish the camera buttn. Setting up the camera buttn feature

More information

CSE 361S Intro to Systems Software Lab #2

CSE 361S Intro to Systems Software Lab #2 Due: Thursday, September 22, 2011 CSE 361S Intr t Systems Sftware Lab #2 Intrductin This lab will intrduce yu t the GNU tls in the Linux prgramming envirnment we will be using fr CSE 361S this semester,

More information

NVIDIA Tesla K20X GPU Accelerator. Breton Minnehan, Beau Sattora

NVIDIA Tesla K20X GPU Accelerator. Breton Minnehan, Beau Sattora NVIDIA Tesla K20X GPU Acceleratr Bretn Minnehan, Beau Sattra Overview Jb f the GPU Histry What is the K20X GK110 Benchmark Perfrmance Jb f the GPU Vertex Shader Applies transfrms n each vertex Applies

More information

Comp 410/510 Computer Graphics Spring Programming with OpenGL Part 4: Three Dimensions

Comp 410/510 Computer Graphics Spring Programming with OpenGL Part 4: Three Dimensions Comp 410/510 Computer Graphics Spring 2018 Programming with OpenGL Part 4: Three Dimensions Objectives Develop a bit more sophisticated three-dimensional example - Rotating cube Introduce hidden-surface

More information

Computer Organization and Architecture

Computer Organization and Architecture Campus de Gualtar 4710-057 Braga UNIVERSIDADE DO MINHO ESCOLA DE ENGENHARIA Departament de Infrmática Cmputer Organizatin and Architecture 5th Editin, 2000 by William Stallings Table f Cntents I. OVERVIEW.

More information

Common Language Runtime

Common Language Runtime Intrductin t.net framewrk.net is a general-purpse sftware develpment platfrm, similar t Java. Micrsft intrduced.net with purpse f bridging gap between different applicatins..net framewrk aims at cmbining

More information

Lab 4. Name: Checked: Objectives:

Lab 4. Name: Checked: Objectives: Lab 4 Name: Checked: Objectives: Learn hw t test cde snippets interactively. Learn abut the Java API Practice using Randm, Math, and String methds and assrted ther methds frm the Java API Part A. Use jgrasp

More information

Comp 410/510 Computer Graphics Spring Programming with OpenGL Part 3: Shaders

Comp 410/510 Computer Graphics Spring Programming with OpenGL Part 3: Shaders Comp 410/510 Computer Graphics Spring 2018 Programming with OpenGL Part 3: Shaders Objectives Basic shaders - Vertex shader - Fragment shader Programming shaders with GLSL Finish first program void init(void)

More information

Lab 1 - Calculator. K&R All of Chapter 1, 7.4, and Appendix B1.2 Iterative Code Design handout Style Guidelines handout

Lab 1 - Calculator. K&R All of Chapter 1, 7.4, and Appendix B1.2 Iterative Code Design handout Style Guidelines handout UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C SPRING 2013 Lab 1 - Calculatr Intrductin Reading Cncepts In this lab yu will be

More information

These tasks can now be performed by a special program called FTP clients.

These tasks can now be performed by a special program called FTP clients. FTP Cmmander FAQ: Intrductin FTP (File Transfer Prtcl) was first used in Unix systems a lng time ag t cpy and mve shared files. With the develpment f the Internet, FTP became widely used t uplad and dwnlad

More information

An Introduction to Windows 7

An Introduction to Windows 7 2011 An Intrductin t Windws 7 Lena Arena Prject Crdinatr, DER NSW Sydney Regin Ph: 9582 2851 Carmelina.arena@det.nsw.edu.au Table f Cntents Windws 7 Desktp - The Elements f the Windws 7 Desktp... 2 Mre

More information

Avigilon Control Center Virtual Matrix User Guide. Version 6.8

Avigilon Control Center Virtual Matrix User Guide. Version 6.8 Avigiln Cntrl Center Virtual Matrix User Guide Versin 6.8 2006-2018, Avigiln Crpratin. All rights reserved. AVIGILON, the AVIGILON lg, AVIGILON CONTROL CENTER, ACC, and TRUSTED SECURITY SOLUTIONS. are

More information

Ascii Art Capstone project in C

Ascii Art Capstone project in C Ascii Art Capstne prject in C CSSE 120 Intrductin t Sftware Develpment (Rbtics) Spring 2010-2011 Hw t begin the Ascii Art prject Page 1 Prceed as fllws, in the rder listed. 1. If yu have nt dne s already,

More information

CS 378 Computer Vision Problem set 4 Out: Thursday, Nov 5 Due: Tuesday, Nov 24, 11:59 PM. See the end of this document for submission instructions.

CS 378 Computer Vision Problem set 4 Out: Thursday, Nov 5 Due: Tuesday, Nov 24, 11:59 PM. See the end of this document for submission instructions. CS 378 Cmputer Visin Prblem set 4 Out: Thursday, Nv 5 Due: Tuesday, Nv 24, 11:59 PM See the end f this dcument fr submissin instructins. I. Shrt answer prblems [30 pints] 1. The SIFT descriptr is frmed

More information

CS 432 Interactive Computer Graphics

CS 432 Interactive Computer Graphics CS 432 Interactive Computer Graphics Lecture 2 Part 2 Introduction to Shaders Matt Burlick - Drexel University - CS 432 1 Shaders To understand shaders, let s look at the graphics pipeline again The job

More information

Element Creator for Enterprise Architect

Element Creator for Enterprise Architect Element Creatr User Guide Element Creatr fr Enterprise Architect Element Creatr fr Enterprise Architect... 1 Disclaimer... 2 Dependencies... 2 Overview... 2 Limitatins... 3 Installatin... 4 Verifying the

More information

Assignment #5: Rootkit. ECE 650 Fall 2018

Assignment #5: Rootkit. ECE 650 Fall 2018 General Instructins Assignment #5: Rtkit ECE 650 Fall 2018 See curse site fr due date Updated 4/10/2018, changes nted in green 1. Yu will wrk individually n this assignment. 2. The cde fr this assignment

More information

Procedures for Developing Online Training

Procedures for Developing Online Training Prcedures fr Develping Online Training Fllwing are prcedures fr develping nline training mdules t be psted n Online@UT (Blackbard Learn). These steps were develped thrugh a prcess and will cntinue t be

More information

Programming Project: Building a Web Server

Programming Project: Building a Web Server Prgramming Prject: Building a Web Server Submissin Instructin: Grup prject Submit yur cde thrugh Bb by Dec. 8, 2014 11:59 PM. Yu need t generate a simple index.html page displaying all yur grup members

More information

Lecture 3. Programming with OpenGL GLUT + GLEW. CS 354 Computer Graphics Sunday, January 20, 13

Lecture 3. Programming with OpenGL GLUT + GLEW. CS 354 Computer Graphics  Sunday, January 20, 13 Lecture 3 Programming with OpenGL 3.1 + GLUT + GLEW OpenGL The success of GL lead to OpenGL (1992), a platform-independent API that was - Easy to use - Close enough to the hardware to get excellent performance

More information

Arius 3.0. Release Notes and Installation Instructions. Milliman, Inc Peachtree Road, NE Suite 1900 Atlanta, GA USA

Arius 3.0. Release Notes and Installation Instructions. Milliman, Inc Peachtree Road, NE Suite 1900 Atlanta, GA USA Release Ntes and Installatin Instructins Milliman, Inc. 3424 Peachtree Rad, NE Suite 1900 Atlanta, GA 30326 USA Tel +1 800 404 2276 Fax +1 404 237 6984 actuarialsftware.cm 1. Release ntes Release 3.0 adds

More information

2/3/16. Interaction. Triangles (Clarification) Choice of Programming Language. Buffer Objects. The CPU-GPU bus. CSCI 420 Computer Graphics Lecture 3

2/3/16. Interaction. Triangles (Clarification) Choice of Programming Language. Buffer Objects. The CPU-GPU bus. CSCI 420 Computer Graphics Lecture 3 CSCI 420 Computer Graphics Lecture 3 Interaction Jernej Barbic University of Southern California [Angel Ch. 2] Triangles (Clarification) Can be any shape or size Well-shaped triangles have advantages for

More information

Lecture 2 CISC440/640 Spring Department of Computer and Information Science

Lecture 2 CISC440/640 Spring Department of Computer and Information Science Lecture 2 CISC440/640 Spring 2015 Department of Computer and Information Science Today s Topic The secrets of Glut-tony 2 So let s do some graphics! For the next week or so this is your world: -1 1-1 1

More information

Trimble Survey GNSS Firmware Version 4.81 (July 2013)

Trimble Survey GNSS Firmware Version 4.81 (July 2013) Handheld Integrated Mdular RELEASE NOTES TRIMBLE SURVEY GNSS FIRMWARE Trimble Survey GNSS Firmware Versin 4.81 (July 2013) Requirements This firmware versin includes imprvements t the Survey Receiver firmware.

More information

Step- by- Step Instructions for Adding a HotPot Activity 1. Click the Turn editing on button on the course home page.

Step- by- Step Instructions for Adding a HotPot Activity 1. Click the Turn editing on button on the course home page. 1 Adding a Ht Ptates Activity Ht Ptates (versin 6.3 fr Windws, and versin 6.1 fr Java) has been a mainstay in develping interactive nline activities in language training fr mre than 10 years. The HtPt

More information

RELEASE NOTES FOR PHOTOMESH 7.3.1

RELEASE NOTES FOR PHOTOMESH 7.3.1 RELEASE NOTES FOR PHOTOMESH 7.3.1 Abut PhtMesh Skyline s PhtMesh fully autmates the generatin f high-reslutin, textured, 3D mesh mdels frm standard 2D phtgraphs, ffering a significant reductin in cst and

More information

Lecture 10: Input, Interaction & callbacks. CITS 3003 Graphics & Animation

Lecture 10: Input, Interaction & callbacks. CITS 3003 Graphics & Animation Lecture 10: Input, Interaction & callbacks CITS 3003 Graphics & Animation Slides: E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Introduce the basic input devices

More information

Interaction. CSCI 420 Computer Graphics Lecture 3

Interaction. CSCI 420 Computer Graphics Lecture 3 CSCI 420 Computer Graphics Lecture 3 Interaction Jernej Barbic University of Southern California Client/Server Model Callbacks Double Buffering Hidden Surface Removal Simple Transformations [Angel Ch.

More information

Rendering Objects. Need to transform all geometry then

Rendering Objects. Need to transform all geometry then Intro to OpenGL Rendering Objects Object has internal geometry (Model) Object relative to other objects (World) Object relative to camera (View) Object relative to screen (Projection) Need to transform

More information

Computational Methods of Scientific Programming Fall 2008

Computational Methods of Scientific Programming Fall 2008 MIT OpenCurseWare http://cw.mit.edu 12.010 Cmputatinal Methds f Scientific Prgramming Fall 2008 Fr infrmatin abut citing these materials r ur Terms f Use, visit: http://cw.mit.edu/terms. 12.010 Hmewrk

More information

SVC-T using DM36x H.264 codec

SVC-T using DM36x H.264 codec SVC-T using DM36x H.264 cdec Applicatin nte Versin 1.1 Date: 10 th Dec 2010 Scalable vide cding n DM36x This dcument describes hw t use tempral scalability in the beta H.264 ver 2.1 cdec. It is assumed

More information

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash UiPath Autmatin Walkthrugh Walkthrugh Calculate Client Security Hash Walkthrugh Calculate Client Security Hash Start with the REFramewrk template. We start ff with a simple implementatin t demnstrate the

More information

Preparation: Follow the instructions on the course website to install Java JDK and jgrasp on your laptop.

Preparation: Follow the instructions on the course website to install Java JDK and jgrasp on your laptop. Lab 1 Name: Checked: (instructr r TA initials) Objectives: Learn abut jgrasp - the prgramming envirnment that we will be using (IDE) Cmpile and run a Java prgram Understand the relatinship between a Java

More information

Project 4: System Calls 1

Project 4: System Calls 1 CMPT 300 1. Preparatin Prject 4: System Calls 1 T cmplete this assignment, it is vital that yu have carefully cmpleted and understd the cntent in the fllwing guides which are psted n the curse website:

More information

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash UiPath Autmatin Walkthrugh Walkthrugh Calculate Client Security Hash Walkthrugh Calculate Client Security Hash Start with the REFramewrk template. We start ff with a simple implementatin t demnstrate the

More information

Your Project Plan and Smartsheet

Your Project Plan and Smartsheet USG Managed Services Yur Prject Plan and Smartsheet Change Management Tlkit Cntents 1.0 Purpse... 3 2.0 Accessing Smartsheet and Yur Prject Plan... 4 2.1 Smartsheet Lgin... 4 2.2 Type f Access... 5 3.0

More information

Lab 0: Compiling, Running, and Debugging

Lab 0: Compiling, Running, and Debugging UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C SPRING 2012 Lab 0: Cmpiling, Running, and Debugging Intrductin Reading This is the

More information

Transmission Control Protocol Introduction

Transmission Control Protocol Introduction Transmissin Cntrl Prtcl Intrductin TCP is ne f the mst imprtant prtcls f Internet Prtcls suite. It is mst widely used prtcl fr data transmissin in cmmunicatin netwrk such as Internet. Features TCP is reliable

More information

Exercises: Plotting Complex Figures Using R

Exercises: Plotting Complex Figures Using R Exercises: Pltting Cmplex Figures Using R Versin 2017-11 Exercises: Pltting Cmplex Figures in R 2 Licence This manual is 2016-17, Simn Andrews. This manual is distributed under the creative cmmns Attributin-Nn-Cmmercial-Share

More information

progecad Render ProgeSOFT CAD solution Render Engine Artisan

progecad Render ProgeSOFT CAD solution Render Engine Artisan prgecad Render PrgeSOFT CAD slutin Render Engine Artisan Help Dcumentatin Interface Menu Bar Tabs Tlbar Navigatin Rendering and SnapSht Cntrls Preferences Htkeys 2 Interface The Artisan Interface cnsists

More information

OpenSceneGraph Tutorial

OpenSceneGraph Tutorial OpenSceneGraph Tutrial Michael Kriegel & Meiyii Lim, Herit-Watt University, Edinburgh February 2009 Abut Open Scene Graph: Open Scene Graph is a mdern pen surce scene Graph. Open Scene Graph (r shrt OSG)

More information

OpenGL refresher. Advanced Computer Graphics 2012

OpenGL refresher. Advanced Computer Graphics 2012 Advanced Computer Graphics 2012 What you will see today Outline General OpenGL introduction Setting up: GLUT and GLEW Elementary rendering Transformations in OpenGL Texture mapping Programmable shading

More information

Information about the ACC Education App Featuring ACCSAP 9

Information about the ACC Education App Featuring ACCSAP 9 Infrmatin abut the ACC Educatin App Featuring ACCSAP 9 Key Features: This app is designed t be a study tl fr select educatinal prducts. It des nt include all features and functinality f the nline prtin

More information

Procurement Contract Portal. User Guide

Procurement Contract Portal. User Guide Prcurement Cntract Prtal User Guide Cntents Intrductin...2 Access the Prtal...2 Hme Page...2 End User My Cntracts...2 Buttns, Icns, and the Actin Bar...3 Create a New Cntract Request...5 Requester Infrmatin...5

More information

VMware AirWatch SDK Plugin for Apache Cordova Instructions Add AirWatch Functionality to Enterprise Applicataions with SDK Plugins

VMware AirWatch SDK Plugin for Apache Cordova Instructions Add AirWatch Functionality to Enterprise Applicataions with SDK Plugins VMware AirWatch SDK Plugin fr Apache Crdva Instructins Add AirWatch Functinality t Enterprise Applicatains with SDK Plugins v1.2 Have dcumentatin feedback? Submit a Dcumentatin Feedback supprt ticket using

More information

Programming using OpenGL: A first Introduction

Programming using OpenGL: A first Introduction Programming using OpenGL: A first Introduction CMPT 361 Introduction to Computer Graphics Torsten Möller Machiraju/Zhang/Möller 1 Today Overview GL, GLU, GLUT, and GLUI First example OpenGL functions and

More information

Course 10262A: Developing Windows Applications with Microsoft Visual Studio 2010 OVERVIEW

Course 10262A: Developing Windows Applications with Microsoft Visual Studio 2010 OVERVIEW Curse 10262A: Develping Windws Applicatins with Micrsft Visual Studi 2010 OVERVIEW Abut this Curse In this curse, experienced develpers wh knw the basics f Windws Frms develpment gain mre advanced Windws

More information

AngularJS. Unit Testing AngularJS Directives with Karma & Jasmine

AngularJS. Unit Testing AngularJS Directives with Karma & Jasmine AngularJS Unit Testing AngularJS Directives with Karma & Jasmine Directives Directives are different frm ther cmpnents they aren t used as bjects in the JavaScript cde They are used in HTML templates f

More information

Acrbat XI - Gespatial PDFs Abut gespatial PDFs A gespatial PDF cntains infrmatin that is required t gereference lcatin data. When gespatial data is imprted int a PDF, Acrbat retains the gespatial crdinates.

More information

CS1150 Principles of Computer Science Methods

CS1150 Principles of Computer Science Methods CS1150 Principles f Cmputer Science Methds Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang CS1150 UC. Clrad Springs Opening Prblem Find the sum f integers frm 1 t 10, frm 20

More information

Synoptic Display Studio Developers Guide

Synoptic Display Studio Developers Guide Synptic Display Studi Develpers Guide Table f Cntents 1. Intrductin... 3 2. Cntributing widgets... 4 2.1. Cncepts... 4 2.2. Defining the mdel... 5 2.2.1. Prvide a widget mdel... 5 2.2.2. Define a widget

More information

IT Essentials (ITE v6.0) Chapter 5 Exam Answers 100% 2016

IT Essentials (ITE v6.0) Chapter 5 Exam Answers 100% 2016 IT Essentials (ITE v6.0) Chapter 5 Exam Answers 100% 2016 1. What are tw functins f an perating system? (Chse tw.) cntrlling hardware access managing applicatins text prcessing flw chart editing prgram

More information

Introduction to Eclipse

Introduction to Eclipse Intrductin t Eclipse Using Eclipse s Debugger 16/04/2010 Prepared by Chris Panayitu fr EPL 233 1 Eclipse debugger and the Debug view Eclipse features a built-in Java debugger that prvides all standard

More information