TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY

Similar documents
CIS 581 Interactive Computer Graphics

CIS 581 Interactive Computer Graphics (slides based on Dr. Han-Wei Shen s slides) Requirements. Reference Books. Textbook

CS451Real-time Rendering Pipeline

CS535: Interactive Computer Graphics

Lecture 1. Computer Graphics and Systems. Tuesday, January 15, 13

Topics and things to know about them:

The Rasterization Pipeline

CS 354R: Computer Game Technology

Practical 2: Ray Tracing

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

The Application Stage. The Game Loop, Resource Management and Renderer Design

Animation Essentially a question of flipping between many still images, fast enough

CS 179: GPU Programming

Spring 2009 Prof. Hyesoon Kim

Computer Graphics Lecture 2

Rendering Grass with Instancing in DirectX* 10

Drawing in 3D (viewing, projection, and the rest of the pipeline)

INFOGR Computer Graphics

COMP Preliminaries Jan. 6, 2015

Binghamton University. EngiNet. Thomas J. Watson. School of Engineering and Applied Science. State University of New York. EngiNet WARNING CS 560

3D GRAPHICS. design. animate. render

Lecture 0 of 41: Part A Course Organization. Introduction to Computer Graphics: Course Organization and Survey

CS 464 Review. Review of Computer Graphics for Final Exam

TDA361/DIT220 Computer Graphics, January 15 th 2016

Ulf Assarsson Department of Computer Engineering Chalmers University of Technology

Computer Graphics. Instructor: Oren Kapah. Office Hours: T.B.A.

Lecture 2. Shaders, GLSL and GPGPU

Game Development for

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

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

Computer Graphics Disciplines. Grading. Textbooks. Course Overview. Assignment Policies. Computer Graphics Goals I

Drawing Fast The Graphics Pipeline

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

TSBK03 Screen-Space Ambient Occlusion

CSCD18: Computer Graphics. Instructor: Leonid Sigal

Billboards!! A texture mapped polygon, which always faces the viewer

Spring 2011 Prof. Hyesoon Kim

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Development of Computer Graphics

Com S 336 Final Project Ideas

The Display pipeline. The fast forward version. The Display Pipeline The order may vary somewhat. The Graphics Pipeline. To draw images.

Goals. Computer Graphics (Fall 2008) Course Outline. Course Outline. Course Outline. Demo: Surreal and Crazy World (HW 3)

Graphics Hardware. Instructor Stephen J. Guy

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Midterm Exam CS 184: Foundations of Computer Graphics page 1 of 11

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

Computer Science 175. Introduction to Computer Graphics lib175 time: m/w 2:30-4:00 pm place:md g125 section times: tba

Animation & Rendering

Computer graphics 2: Graduate seminar in computational aesthetics

Computer Graphics Introduction. Taku Komura

COMPSCI 372 S2 C - Assignment 2 Due Date: Monday 22nd September 2008, 9.30pm

Me Again! Peter Chapman. if it s important / time-sensitive

Drawing Fast The Graphics Pipeline

CSE 167: Introduction to Computer Graphics Lecture #7: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2015

Computer Graphics (CS 543) Lecture 1 (Part 1): Introduction to Computer Graphics

I expect to interact in class with the students, so I expect students to be engaged. (no laptops, smartphones,...) (fig)

TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY

Introduction to Computer Graphics with WebGL

Introduction to Computer Graphics. Knowledge basic concepts 2D and 3D computer graphics

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev

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

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

CMSC427 Final Practice v2 Fall 2017

CS4621/5621 Fall Computer Graphics Practicum Final Projects. Professor: Kavita Bala Instructor: Nicolas Savva

Rendering Objects. Need to transform all geometry then

Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03

Methodology for Lecture. Importance of Lighting. Outline. Shading Models. Brief primer on Color. Foundations of Computer Graphics (Spring 2010)

Outline. Intro. Week 1, Fri Jan 4. What is CG used for? What is Computer Graphics? University of British Columbia CPSC 314 Computer Graphics Jan 2013

Intro. Week 1, Fri Jan 4

CSCI-6962 Advanced Computer Graphics

Course Recap + 3D Graphics on Mobile GPUs

Welcome! Graphics Fundamentals. Lecture 2. Welcome! Lecturer: Jacco Bikker

Adaptive Point Cloud Rendering

Lahore University of Management Sciences. CS 452 Computer Graphics

Models and Architectures

Lahore University of Management Sciences. CS 452 Computer Graphics

TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY

Lets assume each object has a defined colour. Hence our illumination model is looks unrealistic.

The Viewing Pipeline Coordinate Systems

Game Programming. Bing-Yu Chen National Taiwan University

the gamedesigninitiative at cornell university Lecture 16 Color and Textures

Computer Graphics Fundamentals. Jon Macey

the gamedesigninitiative at cornell university Lecture 17 Color and Textures

Drawing Fast The Graphics Pipeline

OpenGL: Open Graphics Library. Introduction to OpenGL Part II. How do I render a geometric primitive? What is OpenGL

Development of Computer Graphics. mid 1950s SAGE air defense system command & control CRT, light pens

Computer Graphics 1, Fall 2005

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

CS 4620 Program 3: Pipeline

CS427 Multicore Architecture and Parallel Computing

Problem Max. Points Total 80

the gamedesigninitiative at cornell university Lecture 17 Color and Textures

You will have the entire period (until 9:00pm) to complete the exam, although the exam is designed to take less time.

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

CSC 8470 Computer Graphics. What is Computer Graphics?

CSE 167: Introduction to Computer Graphics Lecture #8: Scene Graph. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Transcription:

1(46) Information Coding / Computer Graphics, ISY, LiTH TSBK 07 Computer Graphics Ingemar Ragnemalm, ISY 1(46)

TSBK07 Computer Graphics Spring 2017 Course leader/examiner/lecturer: Ingemar Ragnemalm ingis@isy.liu.se / ingemar@ragnemalm.se Course home page: http://www.computer-graphics.se/tsbk07.html 2(46)2(46)

This lecture: Course plan and overview The course subject Projects, some demos Graphics systems 3(46)3(46)

Who am I? Lecturer/associate professor Researcher Game & graphics programmer Game designer Hacker (plus runs in the forest looking for tupperware) 4(46)4(46)

Who are you? 4-5th year on 5 year program International students MOST of you have no prior experience of CG SOME of you have some experience of CG A FEW of you have extensive experience of CG All of you know some programming. (Some are wizards ) 5(46)5(46)

People: Examiner/lecturer: Ingemar Ragnemalm Lab assistants: Jens Ogniewski Marcus Wallenberg 6(46)6(46)

Image-related technologies: Image Processing Image Editing Computer Graphics Image Analysis Computer Vision Image Coding Image Compression Graphic Arts Tomography etc 7(46)7(46)

Computer Graphics Rendering process Description Image 8(46)8(46)

Computer Graphics: Creating images from non-image data Cube = (10, 10, 10) (10, 10, 20) (10, 20, 10) (10, 20, 20) (20, 10, 10) (20, 10, 20) (20, 20, 10) (20, 20, 20) Camera = (80, 60, 60) (15,15,15) 9(46)9(46)

Learning goals: You should get: Experience of computer graphics programming (OpenGL and shader programming) Learn important concepts and methods for implementing computer graphics applicatons Understanding of some important low-level graphics algorithms Everybody should learn something new 10(46) 10(46)

Course book: Note: Blue frame version only (Modern OpenGL version.) Available on-line as PDF 11(46)11(46)

Time schedule VT1: Lectures (15) Labs (4) Project specifications VT2: Project work Project demonstrations Reports Lessons (2) Written exam 12(46)12(46)

Lecture plan 1. Introduction, graphics systems, API s 2. 2D graphics, OpenGL/GLSL introduction 3. 3D transforms, viewing, projection 4. Introductiom to visible surface detection, light models, shading 5. Surface detail, texture mapping 6. More surface detail, more VSD 7. Rotation around arbitrary axis, normal matrix, multitexturing 8. Large worlds, high-level VSD, level of detail 9. Billboards, curves and surfaces 10. More curves and surfaces, geometry shaders, animation 11. Collision detection, fractals and noise 12. Anti-aliasing 13. Ray-tracing and radiosity 14. Line drawing algorithms, polygon rendering 15. Loose ends, outlooks Some minor changes are likely 13(46)13(46)

Laborations Lab 1: Intro to modern OpenGL with GLSL Lab 2: Models, camera, virtual world Lab 3: Virtual world, advanced lighting with GLSL Lab 4: Terrain rendering Projects Small projects 1.5 week of full time work. Lessons 2 lessons at the end, preparing for the exam 14(46)14(46)

Projects: Define a course-related problem to go deeper into. 2-4 people in each group. Consider the project now and then during lectures and labs Project suggestions should be handed in at the end of VT1 Implement in VT2 Allocate time 15(46)15(46)

How to form a group Balance: Avoid groups with dramatic difference in experience Size: Larger groups need more project management If a group doesn t work, let me know. Better split/ reform early than late. One-person projects allowed - but not recommended 16(46)16(46)

Resources: It is allowed to use any material that you come across, i.e. on the web. It is not allowed to do that without documenting it You must tell what you use and what you have added yourself 17(46)17(46)

Rule of thumb: Cheating is allowed as long as it is properly documented - Proper references to anything you didn t do yourself. This makes your results stronger, not weaker - Project report in your own words - no copy/paste - Reuse is not for free. A small project without external modules is easier. 18(46)18(46)

Project examination: Short presentation (3-4 groups at a time) Demonstration in the lab or on some other suitable computer Written report This should take place in may, with time left after it for the final work for the written exam. 19(46)19(46)

Project ideas: 3D labyrinth Interactive solar system Robot with moveable limbs Driving simulator Flight simulator Enhanced terrain rendering Large virtual reality with frustum culling/level of detail/ portals/etc 20(46)20(46)

Advanced project ideas: Demo with several scenes with fun effects. Working game with some nice visuals. Game/VR with advanced collision detection/handling Terrains with geomipmapping Particle systems Fractal vegetation Advanced light effects That neat, advanced effect that I always wanted to do. But don t aim too high 21(46)21(46)

Different people have different style All project should not be similar Some focus on specific algorithms Some are applications, like games Some are artistic, neat demos Do it your way 22(46)22(46)

Grades Your grade is determined by the written exam...but... Particularly good projects may qualify for bonus points on the exam - More complex - Polished, finished products - Based on current research The bonus can not help you pass the exam, but may give you a higher grade Must be applied for, not automatic. Level of bonus: 5 points (1/2 grade step) 10 points (a full step) in extreme cases 23(46)23(46)

The lab material is available on the course home page: http://www.computer-graphics/tsbk07.html Lab location: Egypten, Asgård, Olympen: Entrance 25, upper floor Southfork: Entrance 27, upper floor, corridor C Recommended lab: Southfork Olympen is OK (but old). The others are rubbish 24(46)24(46)

Late changes in the lab material are possible. The current lab material should be perfectly usable but the deadline for the lab material is at the start of the lab, so I give myself the right to make changes. 25(46)25(46)

Graphics systems Simple system: CPU RAM Video controller 26(46)26(46)

Graphics systems Better system: Video controller CPU RAM VRAM Less load on main bus 27(46)27(46)

Graphics systems Even better system: Video controller CPU RAM VRAM Display processor (GPU) GPU handles much drawing into VRAM 28(46)28(46)

Graphics systems Current system: Video controller CPU RAM VRAM GPU Multi-core, programmable GPU 29(46)29(46)

What is an image? 30(46)30(46)

What is an image? An array of pixels What is a pixel? 31(46)31(46)

What is an image? Array of pixels What is a pixel? Picture element. Sample of a 2D signal. 32(46)32(46)

Image = array of pixels? Pixel = one chunk of memory (usually) Chunky pixels. 0ac807ffa0c860ff890102ff0c801d7fd0c90eff870b01ff5790s7ffe08730ff 4c7b94ff0s127eff741206ff6d562eff475665ff3e6141ff2121a2ff244d57ff 8c6c79ff8b7897ffd7e54aff4232e5ff4e6576ff789d78ff97d98cff798b78ff 97a987ffe56e67ff4563d4ffa675e3ff123112ffed1eceff1490a7ff5ad8adff 987bc8ff9b98c6ff656745ff646769ff812912ff879632ff189101ff5010c0ff 33(46)33(46)

How big chunk? How many bits? Pixel size # of colors Usage 1 2 Masks 2 4? 4 16? 8 256 Safe mode 16 Thousands High color 24/32 Millions True color Up to 256 Billions FP color 34(46)34(46)

What is color? 35(46)35(46)

Information Coding / Computer Graphics, ISY, LiTH Colors - beyond Bamse 36(46)36(46)

Additive colors Red Green Blue Corresponds to receptors in the eye Used on color displays 37(46)37(46)

Subtractive colors Cyan Magenta Yellow Filters away primary colors Used in printers 38(46)38(46)

Subtractive colors C+M+Y colors usually not perfect enough for a good black Printers often use CMYK = CMY plus black 39(46)39(46)

Colors in pixel values Example: 24-bit color 8 8 8 Typical: 8 bits per channel (256 shades) 40(46)40(46)

24-bit color 3 bytes per pixel bad for addressing efficiency Add fourth byte for getting a power of 2 size. The fourth byte is often used for transparency - the alpha channel 8 8 8 8 RGBA color 41(46)41(46)

Colors in pixel values Example: 16-bit color 5 5 5 1 6 6 4 - Note that a lower number of bits can be used for blue. Why? 42(46)42(46)

More to say about colors XYZ color system Eye physiology Receptor ranges and sensitivity Perceptual issues but this is enough for our purposes The RGBA system is the important thing 43(46)43(46)

Computer graphics program: Main program on CPU Send primitives (e.g. triangles) to GPU Shaders, kernels on GPU 44(46)44(46)

How do I code this? Use the source, Luke 45(46)45(46)

Next time: 2D graphics 2D transformations Algebra for computer graphics Introduction to OpenGL 46(46)46(46)