Canvas原生API(纯CPU)计算并渲染三维图

最终完成功能

  1. Canvas 原生API实现三角形栅格化算法
  2. 实现 z-buffer 判断三角形先后关系
  3. 使用 super-sampling 处理 Anti-aliasing,也就是超采样实现抗锯齿

Canvas原生API(纯CPU)计算并渲染三维图-LMLPHP

Canvas原生API(纯CPU)计算并渲染三维图-LMLPHP

1 整体分析

本次实验中,首先需要进行矩阵变换,将初始传入的三角形经过变换后到规范立方体内,这需要进行三种变换。设一个点的坐标变换为(x, y, z) -> (x', y', z')

\[\begin{bmatrix}x' \\ y' \\ z' \\ 1\end{bmatrix}=M_{presp} \times M_{view} \times M_{model} \times\begin{bmatrix}x \\ y \\ z \\ 1\end{bmatrix}\]
01-06 19:28