Com S 336 Final Project Ideas

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

Topics and things to know about them:

CS451Real-time Rendering Pipeline

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

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

Scalable multi-gpu cloud raytracing with OpenGL

Introduction to 3D Graphics

TSBK03 Screen-Space Ambient Occlusion

CS 179: GPU Programming

Dynamic Ambient Occlusion and Indirect Lighting. Michael Bunnell NVIDIA Corporation

CS5610 Final Project : Realistic Water Simulation with opengl

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

Computer Graphics Introduction. Taku Komura

Shadows. COMP 575/770 Spring 2013

Could you make the XNA functions yourself?

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

Lecture 12: Advanced Rendering

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

lecture 18 - ray tracing - environment mapping - refraction

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

A Trip Down The (2011) Rasterization Pipeline

Point based Rendering

Case Study: The Pixar Story. By Connor Molde Comptuer Games & Interactive Media Year 1

Advanced Deferred Rendering Techniques. NCCA, Thesis Portfolio Peter Smith

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

DirectX10 Effects. Sarah Tariq

CS 184: Assignment 3 Real-Time Graphics: OpenGL Scene

2.11 Particle Systems

DirectX10 Effects and Performance. Bryan Dudash

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Computer Graphics I Lecture 11

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0

Z-Buffer hold pixel's distance from camera. Z buffer

Chapter 1. Introduction Marc Olano

Rasterization Overview

EE 4702 GPU Programming

Texture Mapping. Reading. Implementing texture mapping. Texture mapping. Daniel Leventhal Adapted from Brian Curless CSE 457 Autumn 2011.

CIS 581 Interactive Computer Graphics

Practical Rendering And Computation With Direct3D 11 Free Pdf Books

Ciril Bohak. - INTRODUCTION TO WEBGL

Coding OpenGL ES 3.0 for Better Graphics Quality

SHADERX 7 : ADVANCED RENDERING TECHNIQUES

Intel Core 4 DX11 Extensions Getting Kick Ass Visual Quality out of the Latest Intel GPUs

521493S Computer Graphics. Exercise 3

Rendering Grass with Instancing in DirectX* 10

Advanced Maya Texturing and Lighting

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Course Producer. Prerequisites. Textbooks. Academic integrity. Grading. Ming Chen. Same office hours as TA. The Hobbit: The Desolation of Smaug (2013)

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

History of computer graphics

Cornell CS4620 Fall 2011!Lecture Kavita Bala (with previous instructors James/Marschner) Cornell CS4620 Fall 2011!Lecture 1.

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Graphics and Visualization (GV)

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

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

The Graphics Pipeline

Real-Time Rendering of a Scene With Many Pedestrians

Graphics Hardware. Instructor Stephen J. Guy

Why modern versions of OpenGL should be used Some useful API commands and extensions

Direct3D Rendering Cookbook Epub Gratuit

Graphical systems, visualization and multimedia

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

Game Graphics & Real-time Rendering

Programmable GPUS. Last Time? Reading for Today. Homework 4. Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes

developer.nvidia.com The Source for GPU Programming

CS GAME PROGRAMMING Question bank

Shaders. Slide credit to Prof. Zwicker

Models and Architectures

Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping

Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics

NVIDIA Tools for Artists

Real-Time Non- Photorealistic Rendering

Computer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima.

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June

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

Getting fancy with texture mapping (Part 2) CS559 Spring Apr 2017

CS 4621 PPA3: Animation

Chapter 7 - Light, Materials, Appearance

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.

Computer Graphics. Si Lu. Fall uter_graphics.htm 11/22/2017

TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY

Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine.

Practical Texturing (WebGL) CS559 Fall 2016 Lecture 20 November 7th 2016

Those Delicious Texels or Dynamic Image-Space Per-Pixel

V-RAY NEXT FOR 3DS MAX

CS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012

There are many kinds of surface shaders, from those that affect basic surface color, to ones that apply bitmap textures and displacement.

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

Physically Based Shading in Unity. Aras Pranckevičius Rendering Dude

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

Deferred Rendering Due: Wednesday November 15 at 10pm

EF432. Introduction to spagetti and meatballs

Rendering Objects. Need to transform all geometry then

CSE 167: Lecture #8: GLSL. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

1 Preview. Dr. Scott Gordon Computer Science Dept. CSUS. Virtual Cameras, Viewing Transformations: CSc-155 Advanced Computer Graphics

Introduction to Graphics Programming

CS535: Interactive Computer Graphics

Transcription:

Com S 336 Final Project Ideas Deadlines These projects are to be done in groups of two. I strongly encourage everyone to start as soon as possible. Presentations begin four weeks from now (Tuesday, December 8). Thursday, November 5: With whom are you working and what are some ideas you are considering. You can tell me by email. Tuesday, November 10: a concrete description of what you plan to do. Please turn in a paragraph with 3 or so sentences describing what you propose to do. Do enough reading that you can try to be somewhat specific about what you want to try to implement, not just I want to investigate how skeletal animation works. Your project can be an application that you would like to try to create, or a focused investigation into a particular technique, or maybe something else that I haven t thought about before. All proposals need to be approved by the instructor. The idea is that you need to do something original, and do it in the context of what we have done in this course. For reference, here is a summary of the main topics we plan to cover in class in the next few weeks: Texture mapping Cube maps Basics of reflection/refraction Basics of transparency Some techniques for procedural textures (fragment shader) Perlin noise Bump mapping Frame buffer objects and render-to-texture Shadow mapping An excellent source of ideas to explore is the series of books GPU Gems (available online, scroll to bottom for table of contents) http://http.developer.nvidia.com/gpugems/gpugems_copyrightpg.html http://http.developer.nvidia.com/gpugems2/gpugems2_frontmatter.html http://http.developer.nvidia.com/gpugems3/gpugems3_pref01.html

Another great source of ideas and resources is the web page associated with the book Real Time Rendering, http://www.realtimerendering.com/. I have a copy of the book itself in my office if you want to borrow it. To get you started, here are a few examples of things that I think would probably lead to reasonable projects. Please do not limit yourself to this list, however! There are many other things you could investigate that you might be more interested in. (Light baking, particle systems, ray tracing, radiosity, HDR (high-dynamic-range) lighting, motion blur techniques...) Perlin Fire http://developer.download.nvidia.com/sdk/10/direct3d/source/perlinfire/doc/perlinfire.pdf Volumetric shadows http://nuclear.mutantstargoat.com/articles/volume_shadows_tutorial_nuclear.pdf http://http.developer.nvidia.com/gpugems/gpugems_ch09.html Parallax occlusion mapping http://developer.amd.com/media/gpu_assets/tatarchuk-pom-si3d06.pdf This one could be helpful too, describes a simpler but related technique: http://cowboyprogramming.com/2007/01/05/parallax-mapped-bullet-holes/

Tessellation You ll need OpenGL 4 for this... http://prideout.net/blog/?p=48 http://codeflow.org/entries/2010/nov/07/opengl-4-tessellation/ Water There s a lot that can be done here, so define the scope of your project carefully. http://habib.wikidot.com/ http://vterrain.org/water/ Generating fur, hair, cloth, etc. http://developer.download.nvidia.com/sdk/10/direct3d/source/fur/doc/furshellsandfins.pdf

Skeletal animation http://content.gpwiki.org/index.php/opengl:tutorials:basic_bones_system Deferred rendering In your typical "forward" rendering pipeline, we draw 1 object at a time, computing all the shading calculations for every visible point on that object before moving on. If we draw a second object in front of the first, we now won't even see the pixels we spent time shading! Deferred rendering is a popular technique to improve performance by leaving the lighting to the very end when all objects have been drawn. Lighting is then done in screen space, and each light can be applied to only the portion of the screen they affect. This makes it cheap to have many lights in the scene. http://http.developer.nvidia.com/gpugems2/gpugems2_chapter09.html This is a presentation on how deferred rendering was used in Killzone 2: http://www.guerrilla-games.com/publications/dr_kz2_rsx_dev07.pdf Geometry instancing (Not supported on WebGL, so you'd have to do the code in C++.) Geometry instancing is a method of rendering many copies of the same mesh fast by using only one draw call. This is done by using gldrawarraysinstanced() instead of gldrawarrays(), and in the vertex shader you are provided with a builtin variable gl_instanceid to let you know what instance you are handling. http://sol.gfxile.net/instancing.html And here is an example of using instancing to make grass: http://software.intel.com/en-us/articles/rendering-grass-with-instancing-in-directx-10/

Volumetric rendering (marching cubes, metaballs, isosurfaces) All we can really render in the OpenGL pipeline is a polygonal mesh. What if all you have is a bunch of measurements or points in 3D space, such as from medical imaging or an implicit function? Some mechanism is needed to derive a mesh from that data. One important technique is the marching cubes algorithm, (but other techniques are possible too). http://users.polytech.unice.fr/~lingrand/marchingcubes/accueil.html