Skip to content

beadx6ggwp/RenderLearningPlan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RenderLearningPlan

Demo

image

原始碼為Releases目錄中的檔案

展示影片 : Youtebe

簡報介紹 : PPT

主線 :

GAMES101: 现代计算机图形学入门-闫令琪:屬於理論課程,從投影轉換到紋理貼圖,再到光線追蹤與進階研究

課程主頁 課程影片 重點整理 Final

GAMES202: 高质量实时渲染Real-Time High Quality Rendering

CMU 15-462/662

CS 148 Introduction to Computer Graphics and Imaging

Computer Graphics (ECS175)

MIT 6.837 Computer Graphics (Fall 2003)

CS291A: Real-Time High Quality Rendering

Nvidia Devloper GPU Gems

【完整版-麻省理工-线性代数】全34讲+配套教材

參考:

  • Fundamentals Of Computer Graphics - Peter Shirley, Steve Marschner
  • Real-Time Rendering 3rd
  • C++ primer:link

計畫&進度

其他在Project中,快捷鍵"g+b"

Soft Render 理想目標:

  • 投影(攝影機、裁切)
  • 貼圖(Mipmap、noraml mapping、雙線性採樣)
  • 光源(環境光、反射)
  • 陰影(硬陰影、軟陰影)
  • 條件著色(Z-buffer、Alpha blending)
  • 反鋸齒(MSAA)

目前大概是打算這樣前進

  • win api與windows建立視窗程式的流程與原理
  • 用C++在DirectX/OpenGL中繪製圖形(改用WinAPI GDI)
  • 畫點、線DrawLine: DDA/Bresenham
  • Transformation Matrices
  • FillTriangle/Triangle rasterization
  • 基本線框模型(正方體、三角體)
  • Perspective projection
  • Backface Culling 本質上是光線法向量夾角
  • Basice Diffuse Reflection
  • Camera moveing
  • Clipping
  • Z-buffer
  • Line/Tri RGB gradient
  • 三角重心插值轉換
  • RGB三點插值三角形
  • 投影轉換的1/z,投影產生的非線性問題
  • 合併z-buffer & texture & 投影轉換
  • 圖片讀取 & 貼圖載入
  • Blender編輯紋理模型與讀取
  • Ground Shading 頂點法向量差值
  • normap mapping 法向量貼圖
  • Phone Shading 像素法向量差值 之後可使用normap mapping
  • 簡易Pipeline
  • Wireframe Render
  • Accelerated Half-Space Triangle Rasterization
  • Shadow mapping
  • 複數平面
  • 四元數旋轉變換
  • 以傅立葉轉換分析圖片與採樣

詳細可參考"其他"倒數三個連結

補充資料

MSVC STL source code:https://github.com/microsoft/STL gcc source code:https://github.com/gcc-mirror/gcc

理論:

實作:

參考的Github:

單篇內容:

書單:allenchou.net/2014/03/book-list-game-devs/

大致樣貌

2020/10/15:

Software Rasterization Algorithms for Filling Triangles

ezgif-4-066520f665a6

11/24:

Imgur

12/02 clipping

img

12/25 Z-buffer & basic texture

img

1/21 texture

img

4/08 改用tinyrenderer

img

04/29

修正浮點數對齊、重整Vector與Matrix的使用 img

2021/06 basic shader & Normal mapping & Render pipeline

07/03 wireframe render

筆記文章: Shader重心座標的線框繪製

11/5 Fixed Camera & Perspective

Now Matrix: M(ViewPort)M(Projection)M(View)M(Model)Vertex

M(Pjorection) = M(ortho)M(persptive)

naive interpolation

Perspective Correct Interpolation and Vertex Attributes

unknown

原理

Imgur

Imgur

工具

JavaScript建議用VSCode

C++用VisualStudio2019、VScode+GCC+CM

其他

應該會重點圍繞在這本書上,Tricks of the 3D Game Programming Gurus - Advanced 3D Graphics and Rasterization

有些內容過時了,可能要慢慢研究替待方法

Practical Rendering and Computation with Direct3D 11

https://github.com/skywind3000/mini3d

https://github.com/sdlwlxf1/tinyEngine

https://github.com/zauonlok/renderer

https://github.com/QianMo/Real-Time-Rendering-3rd-CN-Summary-Ebook

https://github.com/ssloy/tinyrenderer

https://github.com/ssloy/tinyraytracer

https://github.com/john-chapman/im3d

https://github.com/tinyobjloader/tinyobjloader

https://github.com/miloyip/game-programmer

https://github.com/utilForever/game-developer-roadmap

https://www.zhihu.com/question/26720808/answer/33885578

https://www.zhihu.com/question/27544895/answer/99021929

https://www.zhihu.com/question/30296764/answer/49978571

支線:Coding Math

基礎練習,大概了解一些數學在繪製中運作的原理,與培養一些感覺

Coding Math播放清單

https://github.com/beadcaptain/CodingMath

補充資源

國中幾何

Q仔數學教室 https://www.youtube.com/playlist?list=PL-QFPCjbXoYHtD13YJ4UPJWCE7p0JSS3v

高一上: 算幾不等式、乘法公式、斜率、多項式函數、餘式定理、因式定理、指數對數

高一下: 數列、等差級數、排列組合、機率、貝式定理

高二上: 三角函數、線性規劃、向量、行列式

高二下: 空間、平面方程式、矩陣、拋橢雙漸

高三上: 期望值、二項分布、信賴區間、三角函數、圓、複數極式、俐美佛

高三下: 微積分

Stepp學院 https://www.youtube.com/channel/UCQSWNKMOSkJN4xYFFaYSrsw

其他

VS2019有時會有編譯快取太大的問題,tool/options/textEditor/C/C++/Advanced "auromatic precompiled header" 把這個選項拉小,像是64MB這樣

About

Computer Graphics實作

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors