Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Seminar Real-Time Graphics: ShaderProgramming
M.Sc. Julian Amann, Prof. Dr. Charles A. Wuthrich
www.uni-weimar.de/medien/cg
10.04.2012
M.Sc. Julian Amann, Prof. Dr. Charles A. Wuthrich,www.uni-weimar.de/medien/cg Seminar Real-Time Graphics: Shader Programming
Organization
• Time: Tuesday, 11:00 - 12:30 Uhr, Start 10.04.2012
• Room: Seminarraum 015, B 11
• Credits: 2 ECTS
Two assignements
• Basic Effect: Do a first basic shading programPresentation in class (20 minutes - 10 minutes discussion):Concept, working self programmed example, code review
• Advanced Effect: Pick a more complex examplePresentation in class (20 minutes - 10 minutes discussion):Present concept and outline in class, implementation can bedone till the end of semester
M.Sc. Julian Amann, Prof. Dr. Charles A. Wuthrich,www.uni-weimar.de/medien/cg Seminar Real-Time Graphics: Shader Programming
Organization
• Time schedule
Task Estimated TimeBasic effect programming time 8hBasic effect presentation 4hAdvanced effect presentation 14hAdavnced effect programming time 24hVisiting seminar presentations 10h
Total 60h = 2 ECTS
M.Sc. Julian Amann, Prof. Dr. Charles A. Wuthrich,www.uni-weimar.de/medien/cg Seminar Real-Time Graphics: Shader Programming
Presentations
• Presentations must be given in english language
• Send me your slides before the presentation (at least one daybefore), so I can give you some feedback
• Use the provided LATEX template for presentations
• Inform me if you need a notebook for your presentation(seminar room workstation does not support DX11 orOpenGL4.x)
• Make a video/screenshot of you running program for the casethat something does not work during the presentation (thisapplies only to the first presentation)
• You have to attend all presentations
• Cite all used sources
M.Sc. Julian Amann, Prof. Dr. Charles A. Wuthrich,www.uni-weimar.de/medien/cg Seminar Real-Time Graphics: Shader Programming
Topics First Assignment (Basic Effect)
• Phong and Blinn-Phong Shading
• Oren-Nayar Reflectance Model
• Gooch Shading
• Uberlight
• Volume Ray Caster
• Intersecting triangles with OptiX for Real-Time Ray Tracing
• Ray Tracing with Compute Shaders
• Post processing with OpenCL
• Post processing with CUDA
• Normal Mapping
• Toon Shading
• Projective Texturing
• Shadow Mapping
• Particle Systems
M.Sc. Julian Amann, Prof. Dr. Charles A. Wuthrich,www.uni-weimar.de/medien/cg Seminar Real-Time Graphics: Shader Programming
Topics First Assignment (Basic Effect)
• ApproximateBTF
• Shadow Volume
• Shader Debugging
• Displacement Mapping with hardware tessellation
• Pulsating Objects / Flags
• Refractive Environment Mapping
• Reflective Environment Mapping
• Perlin Noise Textures
• Make your own suggestion
This list can be found on 17.04.2012 - 11:00 at the GraphischeDatenverarbeitung pinboard (opposite my office door (B11,R122)). Sign up for one topic that is not already assigned tosomeone else. (Policy: First-come, first-served)
M.Sc. Julian Amann, Prof. Dr. Charles A. Wuthrich,www.uni-weimar.de/medien/cg Seminar Real-Time Graphics: Shader Programming
Road map
• 10.04.2012: today
• 17.04.2012: seminar will not take place - Registration forfirst assignment topic (Basic Effect)
• 24.04.2012: seminar will not take place - use the time toprepare your presentation and demo
• 01.05.2012: seminar will not take place - Tag der Arbeit
• 08.05.2012: First presentations
• (?): register for the second assignment (Advanced Effect)
M.Sc. Julian Amann, Prof. Dr. Charles A. Wuthrich,www.uni-weimar.de/medien/cg Seminar Real-Time Graphics: Shader Programming
Exam
To get a grade hand in the following items:
• Final slides of both presentations (in PDF format)
• Working code for both assignments (Basic Effect andAdvanced Effect) and screenshots that demonstrate yourshader effect
M.Sc. Julian Amann, Prof. Dr. Charles A. Wuthrich,www.uni-weimar.de/medien/cg Seminar Real-Time Graphics: Shader Programming
Code
• Should compile with Visual Studio C++ 2010 and run onWindows 7
• Should be programmed in C++, HLSL, GLSL, Cg, CUDA orOpenCL language
• You can use Direct3D11 or OpenGL 4.x
• You should deliver all source files needed to build yourapplication (also third party libraries) except the followingones: Boost 1.48.0, Boost 1.49.0, Qt 4.8.0, Qt 4.8.1, OpenCV2.3.1, wxWidgets 2.9.3, BUWFramework
• You can start from scratch or use a framework like theBUWFramework
• Document important parts: Comments in source code. Youcan also provide additional documentation (diagrams,description of algorithm as a text document, etc.) if necessary.
• You can use our gfxLab to program your assignments
M.Sc. Julian Amann, Prof. Dr. Charles A. Wuthrich,www.uni-weimar.de/medien/cg Seminar Real-Time Graphics: Shader Programming
BUWFramwork
• BUWFramework is a simple framework that helps you to getstarted with shader programming. Currently only VisualStudio C++ 2010 is supported by the framework (there aplans to port it to Linux and Visual Studio 2012)
• The framework can be downloaded from:ftp://toucan.medien.uni-weimar.de/ (user: cg, password:shader)
• Bug and feature requests can be reproted through Redmine:http://toucan.medien.uni-weimar.de/readmine (you have toregister for a user account)
Demo: How to use the BUWFramework?
• Build system: CMake
• Third party library dependencies: boost 1.48.0
M.Sc. Julian Amann, Prof. Dr. Charles A. Wuthrich,www.uni-weimar.de/medien/cg Seminar Real-Time Graphics: Shader Programming
Shader Debugging
M.Sc. Julian Amann, Prof. Dr. Charles A. Wuthrich,www.uni-weimar.de/medien/cg Seminar Real-Time Graphics: Shader Programming
Hints
• Start early
• Commit often (use a version control system like mercurial -see also: http://hginit.com/00.html)
• Use a build system (CMake -http://www.cmake.org/cmake/resources/software.html)
• Use shader debugging tools like Parallel Nsight (NVIDIA),Intel GPA, GPU PerfStudio 2 (AMD), PIX (DirectX),gDEBugger (OpenGL)
• Literature: GPU Gems 1-3(http://developer.nvidia.com/content/gpu-gems-part-i-natural-effects), ShaderX 1-7, GPU PRO 1-3, Papers fromvarious conferences (Siggraph, Eurographics, VMV, and manymore)
M.Sc. Julian Amann, Prof. Dr. Charles A. Wuthrich,www.uni-weimar.de/medien/cg Seminar Real-Time Graphics: Shader Programming
Questions?
• If you run into trouble, you can send me an E-Mail([email protected]) or come to my office
M.Sc. Julian Amann, Prof. Dr. Charles A. Wuthrich,www.uni-weimar.de/medien/cg Seminar Real-Time Graphics: Shader Programming