CS247 spring2020 lecture 01 all.ppt - Compatibility...

14
CS 247 – Scientific Visualization Lecture 1: Introduction Markus Hadwiger, KAUST

Transcript of CS247 spring2020 lecture 01 all.ppt - Compatibility...

Page 1: CS247 spring2020 lecture 01 all.ppt - Compatibility Modefaculty.kaust.edu.sa/sites/markushadwiger/... · FRGH OLEV HYHU\WKLQJ WKDW LV QHHGHG WR UXQ \RXU SURJUDP 6XEPLVVLRQ PXVW LQFOXGH

CS 247 – Scientific VisualizationLecture 1: Introduction

Markus Hadwiger, KAUST

Page 2: CS247 spring2020 lecture 01 all.ppt - Compatibility Modefaculty.kaust.edu.sa/sites/markushadwiger/... · FRGH OLEV HYHU\WKLQJ WKDW LV QHHGHG WR UXQ \RXU SURJUDP 6XEPLVVLRQ PXVW LQFOXGH

2

Lecture Overview

Goals

• Basics: Learn the most important techniques in scientific visualization

• Practice: Implement scalar and vector/flow field visualization techniques in OpenGL

Time and location

• Monday 16:00 – 17:30, Thursday 16:00 – 17:30 (for now; to be discussed later), Bldg 9, Rm 3140.

Course webpage: http://faculty.kaust.edu.sa/sites/markushadwiger/Pages/CS247.aspx

Contact

• Markus Hadwiger: [email protected]

• Matej Mlejnek: [email protected]

• Mohamed Ibrahim: [email protected]

Prerequisites

• C/C++ programming, computer graphics, linear algebra, multi-variable calculus

• OpenGL experience (a basic graphics course, ...) very helpful !

Page 3: CS247 spring2020 lecture 01 all.ppt - Compatibility Modefaculty.kaust.edu.sa/sites/markushadwiger/... · FRGH OLEV HYHU\WKLQJ WKDW LV QHHGHG WR UXQ \RXU SURJUDP 6XEPLVVLRQ PXVW LQFOXGH

3

Syllabus (1)

• Introduction

• Visualization basics, pipeline, and examples

• First scalar visualization example: iso-contouring

• GPU and computer graphics primer

• Data representation (grid types, data structures)

Page 4: CS247 spring2020 lecture 01 all.ppt - Compatibility Modefaculty.kaust.edu.sa/sites/markushadwiger/... · FRGH OLEV HYHU\WKLQJ WKDW LV QHHGHG WR UXQ \RXU SURJUDP 6XEPLVVLRQ PXVW LQFOXGH

4

Syllabus (2)

Scalar field visualization

• Iso-surface rendering

• Volume rendering

• Transfer functions

• Volume lighting

• Unstructured grid visualization

Applications

• Medical visualization

• Industrial CT (computed tomography)

• CFD (computational fluid dynamics)visualization of scalar quantities

Page 5: CS247 spring2020 lecture 01 all.ppt - Compatibility Modefaculty.kaust.edu.sa/sites/markushadwiger/... · FRGH OLEV HYHU\WKLQJ WKDW LV QHHGHG WR UXQ \RXU SURJUDP 6XEPLVVLRQ PXVW LQFOXGH

5

Syllabus (3)

Vector field and flow visualization

• Direct vs. indirect techniques

• Particle tracing

• Integral curves and surfaces

• Dense flow visualization techniques

Applications

• CFD flow visualization

• Weather visualization

If time permits

• Basic tensor visualization

• Visualization systems

Page 6: CS247 spring2020 lecture 01 all.ppt - Compatibility Modefaculty.kaust.edu.sa/sites/markushadwiger/... · FRGH OLEV HYHU\WKLQJ WKDW LV QHHGHG WR UXQ \RXU SURJUDP 6XEPLVVLRQ PXVW LQFOXGH

6

Lecture Structure and Grading

Lectures

Weekly reading assignments (required + sometimes additional optional ones)

• Part of quiz questions (see later)

Programming assignments

• 6+1 programming assignments; short written report + personal presentation for each

Quizzes

• 4 quizzes, 30 min each;announced a week in advance, roughly every 3-4 weeks

• From lectures, (required) reading assignments, programming assignments

Grading: 60% prog. assignments; 40% quizzes

No mid-term/final exam!

Page 7: CS247 spring2020 lecture 01 all.ppt - Compatibility Modefaculty.kaust.edu.sa/sites/markushadwiger/... · FRGH OLEV HYHU\WKLQJ WKDW LV QHHGHG WR UXQ \RXU SURJUDP 6XEPLVVLRQ PXVW LQFOXGH

7

Resources

Course webpage: http://faculty.kaust.edu.sa/sites/markushadwiger/Pages/CS247.aspx

Textbooks:

• Data Visualization: Principles and Practice

• Real-Time Volume Graphics

Additional books:

• The Visualization Toolkit:An Object-Oriented Approachto 3D Graphics (4th Edition)

• The Visualization Handbook

• OpenGL Programming Guide (9th edition, OpenGL 4.5)www.opengl.org/documentation/red_book/

For GPU, GPGPU, and graphics programming, also look here:

http://faculty.kaust.edu.sa/sites/markushadwiger/Pages/CS380.aspx

Page 8: CS247 spring2020 lecture 01 all.ppt - Compatibility Modefaculty.kaust.edu.sa/sites/markushadwiger/... · FRGH OLEV HYHU\WKLQJ WKDW LV QHHGHG WR UXQ \RXU SURJUDP 6XEPLVVLRQ PXVW LQFOXGH

8

Programming Assignments (1)

6 assignments (+1 introductory)

• Based on C/C++ and OpenGL

• You get a basic framework from us (in bitbucket/git repository)

Organization

1. Use bitbucket/git to get material and submit solution(bitbucket.org/kaust_cs247/cs247_2020)

2. Get assignment info and framework by forking the git project

3. Submit solution and report via git by submission deadline

4. Personal presentation after submission

Page 9: CS247 spring2020 lecture 01 all.ppt - Compatibility Modefaculty.kaust.edu.sa/sites/markushadwiger/... · FRGH OLEV HYHU\WKLQJ WKDW LV QHHGHG WR UXQ \RXU SURJUDP 6XEPLVVLRQ PXVW LQFOXGH

9

Programming Assignments (2)

• Submit via bitbucket+git at the latest on day the assignment is due(code, libs, everything that is needed to run your program)

• Submission must include short report (2 pages, pdf),including short explanation of algorithms, your solution, problems,how to run it, screenshots

• Personal presentations:Present your program live and explain source code (10-15 min)

– Sign up for presentation slot in advance

– Use your own laptop (or ask us)

Page 10: CS247 spring2020 lecture 01 all.ppt - Compatibility Modefaculty.kaust.edu.sa/sites/markushadwiger/... · FRGH OLEV HYHU\WKLQJ WKDW LV QHHGHG WR UXQ \RXU SURJUDP 6XEPLVVLRQ PXVW LQFOXGH

10

Programming Assignments (3)

Grading

• Submission complete, code working for all the required features

• Documentation complete (report, but also source code comments!)

• Personal presentation

• Optional features, coding style, clean solution

• Every day of late submission reduces points by 10%

• No direct copies from the Internet!You have to understand what you program:your explanations during the presentations will be part of the grade!

Page 11: CS247 spring2020 lecture 01 all.ppt - Compatibility Modefaculty.kaust.edu.sa/sites/markushadwiger/... · FRGH OLEV HYHU\WKLQJ WKDW LV QHHGHG WR UXQ \RXU SURJUDP 6XEPLVVLRQ PXVW LQFOXGH

11

Programming Assignments (4)

Teaching Assistants:

• Matej Mlejnek ([email protected]) –main contact for assignments; assignment presentations

Bldg 1, level 2, room 2114

• Mohamed Ibrahim ([email protected]) –help with programming questions

Bldg 1, level 2, room 2101

Help in programming assignments (in this order!):

1. Think about it, read about it, google it!

2. Discuss on Piazza: http://piazza.com/kaust.edu.sa/spring2020/cs247

3. Ask TAs (Matej, Mohamed)

Page 12: CS247 spring2020 lecture 01 all.ppt - Compatibility Modefaculty.kaust.edu.sa/sites/markushadwiger/... · FRGH OLEV HYHU\WKLQJ WKDW LV QHHGHG WR UXQ \RXU SURJUDP 6XEPLVVLRQ PXVW LQFOXGH

12

Programming Assignments Schedule (tentative)

Assignment 0: Lab sign-up: setup piazza + bitbucket account, fork repo until Feb 3

Basic OpenGL example

Assignment 1: Volume slice viewer until Feb 17

Assignment 2: Iso-contours (marching squares) until Mar 2

Assignment 3: Iso-surface rendering (marching cubes) until Mar 16

Assignment 4: Volume ray-casting, part 1 until Apr 06

Volume ray-casting, part 2 until Apr 13

Assignment 5: Flow vis 1 (hedgehog plots, streamlines, pathlines) until Apr 27

Assignment 6: Flow vis 2 (LIC with color coding) until May 10

Page 13: CS247 spring2020 lecture 01 all.ppt - Compatibility Modefaculty.kaust.edu.sa/sites/markushadwiger/... · FRGH OLEV HYHU\WKLQJ WKDW LV QHHGHG WR UXQ \RXU SURJUDP 6XEPLVVLRQ PXVW LQFOXGH

13

Reading Assignment #1 (until Feb 3)

Sign up for piazza! http://piazza.com/kaust.edu.sa/spring2020/cs247

Read (required):

• Data Visualization book, Chapter 1

• Data Visualization book, Chapter 2 until 2.3 (inclusive)

• Download and look at:NIH/NSF Visualization Research Challenges report

http://gvi.seas.harvard.edu/sites/all/files/NIH-NSF-VRC-Report.pdf

• Start familiarizing yourself with OpenGL if you do not know it !

Page 14: CS247 spring2020 lecture 01 all.ppt - Compatibility Modefaculty.kaust.edu.sa/sites/markushadwiger/... · FRGH OLEV HYHU\WKLQJ WKDW LV QHHGHG WR UXQ \RXU SURJUDP 6XEPLVVLRQ PXVW LQFOXGH

Thank you.

Thanks for material

• Helwig Hauser

• Eduard Gröller

• Daniel Weiskopf

• Torsten Möller

• Ronny Peikert

• Philipp Muigg

• Christof Rezk-Salama