学习计算机图形学的笔记

cg learn

ref

How to Start Learning Computer Graphics Programming

https://news.ycombinator.com/item?id=18840859

一个小哥的学习笔记,自然的语言,非学术

http://iquilezles.org/www/index.htm

cmu 的课程

http://15462.courses.cs.cmu.edu/fall2018/lecture/intro/slide_027

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

scratchapixel 的课程非常亲切

https://www.scratchapixel.com/lessons/3d-basic-rendering/get-started

note

scratchapixel其目录

Mathematics and Physics for Computer Graphics
Geometry
Mathematical Foundations of Monte Carlo Methods
Monte Carlo Methods in Practice
Matrix Inverse
Jacobi Transformation and Eigenvalue Algorithm
Quaternions
Interpolation
The Mathematics of Shading
Placing a Camera: the LookAt Function
Introduction to Frequency Analysis
Volume 1: Foundations of 3D Rendering
Introduction to Ray Tracing: a Simple Method for Creating 3D Images
Where Do I Start? A Very Gentle Introduction to Computer Graphics Programming
Rendering an Image of a 3D Scene: an Overview
Computing the Pixel Coordinates of a 3D Point
3D Viewing: the Pinhole Camera Model
Rasterization: a Practical Implementation
The Perspective and Orthographic Projection Matrix
An Overview of the Ray-Tracing Rendering Technique
Ray-Tracing: Generating Camera Rays
A Minimal Ray-Tracer: Rendering Simple Shapes (Sphere, Cube, Disk, Plane, etc.)
Ray Tracing: Rendering a Triangle
Introduction to Polygon Meshes
Ray-Tracing a Polygon Mesh
Transforming Objects using Matrices
Introduction to Shading
The Phong Model, Introduction to the Concepts of Shader, Reflection Models and BRDF
Global Illumination and Path Tracing
What’s Next?
Bonus: Understanding the Viewport Geometry
Volume 2: Better, Faster, More (2017)
Bézier Curves and Surfaces: the Utah Teapot
Introduction to Acceleration Structures
Rendering Implicit Surfaces and Distance Fields: Sphere Tracing
Volume Rendering for Artists
Volume Rendering for Developers
Distributed Ray-Tracing
Texture Mapping
Depth of Field
Motion Blur
Area Lights
Intuitive Introduction to Anti-Aliasing
Multi-Threading in Rendering
Volume3: Advanced Techniques (2018)
The Infamous Rendering Equation
Bias vs Unbias Path Tracing & the Russian Roulette
Light Transport Algorithms
Intuitive Introduction to Importance Sampling
Subdivision Surfaces
Photon Mapping
Displacement and Bump Mapping
Metaballs and Polygonization of Implicit Fields
Shadow Map and Deep Shadow Maps
NURBS Surfaces
Digital Imaging
Introduction to Light, Color and Color Space
Digital Images: from File to Screen
Simple Image Manipulations
Procedural Generation of Virtual Worlds
Value Noise and Procedural Patterns: Part 1
Perlin Noise: Part 2
Simulating the Colors of the Sky
Simulating Ocean Waves
Simulating Terrain

note2

https://www.scratchapixel.com/lessons/3d-basic-rendering/get-started

In rendering, we differentiate two modes, an off-line(cg动画,电影) and a realtime(游戏, on Gpu)

关于offline 的知识点,以后还有: Foundations of 3D Rendering, Techniques Specific to Ray Tracing, Light Transport Algorithms, Shading and Procedural Texturing.

  • Foundation of 3D Rendering
Book Description Scratch is a fun, free, beginner-friendly programming environment where you connect blocks of code to build programs. While most famously used to introduce kids to programming, Scratch can make computer science approachable for people of any age. Rather than type countless lines of code in a cryptic programming language, why not use colorful command blocks and cartoon sprites to create powerful scripts? In Learn to Program with Scratch, author Majed Marji uses Scratch to explain the concepts essential to solving real-world programming problems. The labeled, color-coded blocks plainly show each logical step in a given script, and with a single click, you can even test any part of your script to check your logic. You’ll learn how to: Harness the power of repeat loops and recursion Use if/else statements and logical operators to make decisions Store data in variables and lists to use later in your program Read, store, and manipulate user input Implement key computer science algorithms like a linear search and bubble sort Hands-on projects will challenge you to create an Ohm’s law simulator, draw intricate patterns, program sprites to mimic line-following robots, create arcade-style games, and more! Each chapter is packed with detailed explanations, annotated illustrations, guided examples, lots of color, and plenty of exercises to help the lessons stick. Learn to Program with Scratch is the perfect place to start your computer science journey, painlessly. Table of Contents Chapter 1. Getting Started Chapter 2. Motion and Drawing Chapter 3. Looks and Sound Chapter 4. Procedures Chapter 5. Variables Chapter 6. Making Decisions Chapter 7. Repetition: Definite and Indefinite Loops Chapter 8. String Processing Chapter 9. Lists Book Details Paperback: 288 pages Publisher: No Starch Press (February 2014) Language: English ISBN-10: 1593275439 ISBN-13: 978-1593275433
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值