Hi! You have just found fun-with-graphics.
这里主要整理了图形学相关的高校课程、书籍、教程、文章、博客、资源、研究者主页、实验室主页、视频频道、开源项目、网站等。
Courses | |
---|---|
TU Wien Rendering/Ray Tracing Course (YouTube, 哔哩哔哩) |
TU WIEN Rendering This course aims to give an overview of basic and state-of-the-art methods of rendering. Offline methods such as ray and path tracing, photon mapping and many other algorithms are introduced and various refinement are explained. |
Introduction to Computer Graphics | UCSB CS180 This course is an introduction to the foundations of three-dimensional computer graphics. Topics covered include 2D and 3D transformations, Rasterization based interactive 3D graphics, shading and reflectance models, texture mapping, geometric modeling using Bézier and B-Spline curves, ray tracing, and animation. There will be an emphasis on both the mathematical and geometric aspects of graphics, as well as the ability to write fully functional 3D graphics programs. Teaching by @Lingqi Yan. |
Real-Time High Quality Rendering | UCSB CS291A In this course, we will review the history and some of the recent ideas that seek to bridge the gap between realism and interactivity. We will focus on the use of complex lighting and shading within limited computation time. Specifically, topics will cover programmable shaders, real-time shadows, interactive global illumination, image-based rendering, precomputed rendering, adaptive sampling and reconstruction, and real-time ray tracing. Teaching by @Lingqi Yan. |
Rendering Algorithms (Fall19) | Dartmouth This class focuses on advanced 3D graphics techniques for realistic image synthesis. You will learn how light interacts with objects in the real world, and how to translate the underlying math and physics into practical algorithms for rendering photorealistic images. Teaching by @Wojciech Jarosz. |
Computer Graphics (Fall18) | Dartmouth This course provides a broad introduction to the mathematical and programmatic foundations of computer graphics, including modeling, rendering (drawing), and animating three-dimensional scenes. Teaching by @Wojciech Jarosz. |
Introduction to Computer Graphics and Imaging | Stanford CS148 This is the introductory prerequisite course in the computer graphics sequence which introduces students to the technical concepts behind creating synthetic computer generated images. |
Image Synthesis Techniques | Stanford CS348b This course provides a broad overview of the theory and practice of making photo-realistic imagery. Rendering is treated as a problem in modeling and simulating the physics of light and appearance. |
Computer Graphics | CMU 15-462/662 |
Computer Graphics - AS 19 | ETH This course covers some of the fundamental concepts of modern computer graphics. The main topics of the course are modeling and rendering. During the course, we will discuss how digital 3D scenes are represented and modeled, and how a realistic image can be generated from a digital representation of a 3D scene. Teaching by Computer Graphics Laboratory (CGL). |
Physically-based Simulation - AS 19 | ETH Physically-based simulations are fundamental to many applications of computer graphics, including 3D video games, animated movies and films, or virtual surgery. This course introduces the physical concepts as well as the numerical methods required for simulating deformable objects, fluids, rigid bodies, and other physical systems. The material covered in this lecture ranges from simple mass-spring systems to advanced topics such as finite elements. Teaching by Computer Graphics Laboratory (CGL). |
COS 426 Computer Graphics (Spring19) | Princeton COS 426 This course will study topics in computer graphics, covering methods in image processing, modeling, rendering, and animation. |
COS 526 Advanced Computer Graphics (Fall16) | Princeton COS 526 This course will study advanced topics in computer graphics, covering methods in computational photography, geometric modeling, photorealistic rendering, and other topics in computer graphics. |
Physically Based Rendering and Material Appearance Modelling | DTU 02941 This course takes its outset in the appearance of real world materials. The goal is to get as close as possible to replicating the appearance of real materials by computer graphical rendering based on mathematical/physical models. |
Interactive 3D Graphics by Autodesk | Udacity CS291 This class will teach you about the basic principles of 3D computer graphics: meshes, transforms, cameras, materials, lighting, and animation. Teaching by @Eric Haines |
Books | |
---|---|
《Fundamentals of Computer Graphics, 4th Edition》 (豆瓣读书) |
《计算机图形学基础》 概述了计算机图形学相关基础,用来了解图形学的大全景不错 |
《Computer Graphics: Principles and Practice (3rd Edition)》 (豆瓣读书, book website) |
《计算机图形学:原理及实践》 In this book, we explain the principles, as well as the mathematics, underlying computer graphics--knowledge that is essential for successful work both now and in the future. Early chapters show how to create 2D and 3D pictures right away, supporting experimentation. Later chapters, covering a broad range of topics, demonstrate more sophisticated approaches. Sections on current computer graphics practice show how to apply given principles in common situations, such as how to approximate an ideal solution on available hardware, or how to represent a data structure more efficiently. Topics are reinforced by exercises, programming problems, and hands-on projects. |
《Real-Time Rendering, 4th Edition》 (豆瓣读书, book website) |
「绝世武功的目录」 This edition discusses current, practical rendering methods used in games and other applications. It also presents a solid theoretical framework and relevant mathematics for the field of interactive computer graphics, all in an approachable style. New to this edition: new chapter on VR and AR as well as expanded coverage of Visual Appearance, Advanced Shading, Global Illumination, and Curves and Curved Surfaces. |
《Physically Based Rendering: From Theory To Implementation, Third Edition》 (豆瓣读书, Read for free) |
「年轻人的第一台渲染器」 Physically Based Rendering describes both the mathematical theory behind a modern photorealistic rendering system as well as its practical implementation. A method known as “literate programming” combines human-readable documentation and source code into a single reference that is specifically designed to aid comprehension. The ideas and software in this book show the reader how to design and employ a full-featured rendering system capable of creating stunning imagery. |
《Robust Monte Carlo Methods for Light Transport Simulation》 (book website) |
Eric Veach. PhD Thesis, Stanford University, 1997 Nearly 20 years later, this monster thesis is still relevant when it comes to developing rendering algorithms. Introduces Monte Carlo rendering methods, multiple importance sampling, bidirectional path tracing, Metropolis Light Transport |
《全局光照技术》 (豆瓣读书) |
同时包含了离线和实时渲染的内容 探讨了渲染中最常用的约十种全局光照技术 并以其为线索介绍了大量计算机图形学相关的基础知识 |
《Advanced Global Illumination》 (豆瓣读书, authors' site, Google Books sample) |
概述了全局光照有关理论 介绍了几种全局光照技术(有些现已过时) |
《Ray Tracing in One Weekend》 (Amazon, code, read for free) |
Peter Shirley's Ray Tracing 三部曲其一 |
《Ray Tracing: the Next Week》 (Amazon, code, read for free) |
Peter Shirley's Ray Tracing 三部曲其二 |
《Ray Tracing: the Rest of Your Life》 (Amazon, code, read for free) |
Peter Shirley's Ray Tracing 三部曲其三 |
《Ray Tracing Gems》 (Book website, amazon) |
Nvidia 出品,电子版免费 |
Tutorials | |
---|---|
Nori 2 | Nori is a minimalistic ray tracer written in C++. It runs on Windows, Linux, and Mac OS and provides a foundation for the homework assignments in the course Advanced Computer Graphics taught at EPFL. |
Learn OpenGL (英文原版, 中文译版) |
|
Learn Vulkan | |
Joey de Vries OpenGL Tutorials | OpenGL |
Pixar in a Box: Rendering | by Pixar |
Vulkan Tutorial | |
The Book of Shaders | |
3d-game-shaders-for-beginners | |
The Graphics Codex | by @Morgan McGuire IOS 上可以找到同名 App |
用JavaScript玩转计算机图形学(一)光线追踪入门 | by @Milo Yip |
用 C 语言画光 (1, 2, 3, 4, 5, 6, 7) |
by @Milo Yip |
Scratchapixel 2.0 | 32 lessons, 166 chapters, 450,000 words, C++ source code |
Daily Pathtracer | by @Aras Pranckevičius |
Tiny renderer or how OpenGL works | software rendering in 500 lines of code |
Rasterization in One Weekend | by @Tayfun Kayhan |
Articles | |
---|---|
Path Guiding in Production | |
《Real-Time Rendering 3rd》提炼总结 | by @毛星云 |
什么是计算机图形学 什么是深度学习? 数学在计算机图形学中的应用 |
by @刘利刚 |
系统的学习计算机图形学,有哪些不同阶段的书籍的推荐? | Q&A |
现阶段应该怎么学习计算机图形学呢? | Q&A |
一篇光线追踪的入门 | by @洛城 |
光线追踪与实时渲染的未来 | by @文刀秋二 |
基于摄影参数渲染 | by @文刀秋二 |
基于物理着色 (1, 2, 3, 4) |
by @文刀秋二 |
How to Start Learning Computer Graphics Programming (中文翻译) |
by @Eric Arnebäck |
基于物理着色:BRDF | by @Maple |
金属,塑料,傻傻分不清楚 | by @叛逆者 |
Blogs | |
---|---|
Self Shadow | @self_shadow has been collecting Siggraph courses/papers links for many years: Especially interesting are the Physically Based Shading in Theory and Practice course presentations. |
INTERPLAY OF LIGHT | "This blog is my scratchpad for graphics techniques I try and experiment with." by @Kostas Anagnostou |
Alan Zucconi | 《Unity 2018 Shaders and Effects Cookbook》作者 |
Linden Reid | Procedural geometry & graphics tutorials A game developer at Blizzard |
Harold Serrano | Creator of the Untold Engine |
Behind the Pixels | Edward(Shiqiu) Liu, a Senior Real Time Rendering Engineer at NVIDIA 知乎专栏版 |
iquilezles | Inigo Quilez 的 Blog |
JOEY DE VRIES | Joey (author of learnopengl.com) |
浅墨的游戏编程Blog | 整理了《RTR3》《GPU 精粹》等读书笔记 |
Coding Labs | |
TYLER HOBBS | |
HUMUS | |
Icare3D Blog |
Resources pages | |
---|---|
Real-Time Rendering Resources | 《Real-Time Rendering》配套网站,相关资源丰富 |
PBRT | 《Physically Based Rendering: From Theory To Implementation》配套网站,相关资源丰富 |
Ke-Sen Huang's Home Page | 收集了 CG 各大会议的 paper |
Rendering Resources | This page offers 32 different 3D scenes that you can use for free in your rendering research, publications and classes. |
Graphics Programming weekly | 每周更新 by @Jendrik Illner |
Technically Art | by @Harry Alisavakis |
Open-Source Real-Time Rendering Engines and Libs | |
McGuire Computer Graphics Archive | 提供了一些常用的测试场景 |
Milo Yip 的豆瓣书列 | |
GDCVault | GDC Vault is a trove of in-depth design, technical and inspirational talks and slides from the influencers of the game development industry, taken from over 20 years of the worldwide Game Developers Conferences. |
Graphics Research Tools | by Nvidia |
mattdesl/graphics-resources | A list of graphic programming resources |
Readings on The State of The Art in Rendering | by Kostas Anagnostou |
Readings on Physically Based Rendering | by Kostas Anagnostou |
Advances in Real-Time Rendering in 3D Graphics and Games | the well-established series of SIGGRAPH courses covering late-breaking work and advances in real-time computer graphics |
terkelg/awesome-creative-coding | Creative Coding: Generative Art, Data visualization, Interaction Design, Resources |
eug/awesome-opengl | A curated list of awesome OpenGL libraries, debuggers and resources |
vinjn/awesome-vulkan | A curated list of awesome Vulkan libraries, debuggers and resources. Inspired by awesome-opengl and other awesome-... stuff. |
ericjang/awesome-graphics | This is a curated list of computer graphics tutorials and resources. |
MIT: Most Visited Courses | |
Real-time Rendering Blogs |
Researchers | |
---|---|
Kun Xu (徐昆) | An associate professor at Graphics and Geometric Computing Group, Tsinghua Univeristy |
Lingqi Yan (闫令琪) | An Assistant Professor at UC Santa Barbara |
Ligang Liu (刘利刚) | A Professor at Graphics & Geometric Computing Laboratory (GCL), school of mathematical sciences USTC. |
Wenzel Jakob | An assistant professor leading the Realistic Graphics Lab at EPFL's School of Computer and Communication Sciences. |
Pradeep Sen | A Professor at UC Santa Barbara |
Thomas Müller | A senior research scientist at NVIDIA Zürich |
Toshiya Hachisuka | An Associate Professor at The University of Tokyo |
Matt Pharr | A research scientist at NVIDIA Research |
Wojciech Jarosz | An Assistant Professor at Dartmouth College. |
Benedikt Bitterli | A PhD at Dartmouth College. |
Morgan McGuire | A Professor of Computer Science at Williams College |
Labs | |
---|---|
Realistic Graphics Lab | at EPFL |
Computer Graphics Lab | at ETH Zürich |
UCSB MIRAGE Lab | at UCSB |
Graphics Lab | at Stanford |
Princeton ImageX Labs | at Princeton |
Carnegie Mellon Graphics Lab | at CMU |
MIT Computer Graphics Group | at MIT |
YouTube Channels | |
---|---|
ChiliTomatoNoodle | DirectX & C++ Game Progaramming, 3D Programming Fundamentals, ... |
The Cherno | C++, Game Engine, ... |
傅老師MrFu | Unity ... |
ACMSIGGRAPH | |
MIT OpenCourseWare |
Projects | |
---|---|
Mitsuba | Mitsuba is a research-oriented rendering system in the style of PBRT, from which it derives much inspiration. |
Intel® Embree | Intel® Embree is a collection of high-performance ray tracing kernels, developed at Intel. |
Filament | Filament is a real-time physically-based renderer written in C++. It is mobile-first, but also multi-platform. |
The Mesa 3D Graphics Library | The Mesa project began as an open-source implementation of the OpenGL specification - a system for rendering interactive 3D graphics. |
The Advanced Rendering Toolkit | ART is a command-line system for physically based image synthesis. |
TAICHI | TAICHI: Open-source computer graphics library |
Intel® Embree | Intel® Embree is a collection of high-performance ray tracing kernels, developed at Intel |
MERL BRDF Database | The MERL BRDF database contains reflectance functions of 100 different materials |
minpt | A path tracer in 300 lines of C++ |
yocto-gl | Tiny C++ Libraries for Data-Driven Physically-based Graphics |
id-Software | id-Software公司的所有游戏的开源代码 |
WebGL Fluid Simulation | |
The Tungsten Renderer | Tungsten is a physically based renderer originally written for the yearly renderer competition at ETH |
Scotty3D | 3D graphics software for mesh editing, path tracing, and animation |
Websites | |
---|---|
Shadertoy | 「构建和分享世界上你最喜欢的着色器并受启发」 |
CSRankings: Computer Science Rankings |
Tutorials | |
---|---|
Massive UE4 Tutorial Playlist Youtube |
UnrealEngine 4 官方入门教程,很全面 |
C# and Shader Tutorials for the Unity Engine | Unity3D, Shader |
Books | |
---|---|
《游戏引擎架构》 (豆瓣读书, book website) |
《游戏引擎架构》同时涵盖游戏引擎软件开发的理论及实践,并对多方面的题目进行探讨 |
《Unity Shader 入门精要》 豆瓣读书 |
Unity3D, Shader |
Websites | |
---|---|
UnrealEngine的官方视频主页 Youtube 优酷 |
UnrealEngine 4 |
Unity 官方中文论坛 | Unity3D |
Courses | |
---|---|
李宏毅綫性代數(Youtube, 課程主頁) | |
可汗学院公开课:概率 | |
可汗学院公开课:统计学 | |
可汗学院公开课:线性代数 | |
MIT Mathematics |
Books | |
---|---|
Tutorials | |
---|---|
Immersive Linear Algebra | "The world's first linear algebra book with fully interactive figures." |
BetterExplained | "Finally understand math, don't memorize it." |
Courses | |
---|---|
李宏毅機器學習系列(Youtube, 課程主頁) | |
吴恩达深度学习专项课程(Coursera) | |
林轩石机器学习系列(课程主页) |
Books | |
---|---|
《动手学深度学习》 |
Tutorials | |
---|---|
Courses | |
---|---|
Writing in the Sciences | This course teaches scientists to become more effective writers, using practical examples and exercises. Topics include: principles of good writing, tricks for writing faster and with less anxiety, the format of a scientific manuscript, peer review, grant writing, ethical issues in scientific publication, and writing for general audiences. |
Academic English | Transform Your Writing Skills. Prepare for college-level writing and research in just four courses. |
Books | |
---|---|
简单粗暴 LaTeX | by @Chris Wu |
Tools | |
---|---|
Common mistakes in technical writing | by @Wojciech Jarosz |
Notes on writing | by @Fredo Durand, |
Tools | |
---|---|
Purdue Online Writing Lab | |
Mathpix | Extract LaTeX from PDFs or handwritten notes in seconds. Download Snip for desktop and start saving time. |