主要是借鉴与整理以上的参考的资料.
准备从基础开始学习图形学以及渲染相关的东西.
将在自己的github上传自己学习的源码 https://github.com/qjh5606/JayEngine
概述
- 光栅化是实时渲染领域的核心
- 之前没有系统地学习过图形学,想借由这次做软件渲染器的学习机会了解一些基础的图形学算法.主要是光栅化的过程.
- D3D和OpenGL坐标系
相关内容
目前涉及到的:
- 各种矩阵的推导
- 旋转矩阵 如 绕任意轴旋转的旋转矩阵
- 渲染管线
- 顶点着色器 完成的坐标变换
- 透视投影
- CVV裁剪 [只有完全落在CVV中的才能通过,可以精细化]
- 透视除法
- 光栅化
- 绘制线框 [绘制直线]
- 绘制实体图形[光栅化三角形]
- 顶点着色器 完成的坐标变换
- zbuffer
后续工作:
- 支持模型导入 [如obj文件]
- 支持纹理输入
- 隐藏物体 [包围球算法]
- 背面剔除 [法向量]
- 裁剪
- 图元装配
- 光照模型
- 阴影
- 简单着色器
基础图形学算法
- 画直线的算法
- DDA
- Bresenham算法
- 光栅化三角形
游戏相关
- 动画 [骨骼动画]
- 动手做一款FPS游戏