3D图形学知识汇编

更新,我把代码做了轻微的修改(20行左右)编译成了wasm,可以直接在浏览器中执行,效果还不错,有兴趣的同学可以尝试一下:点我测试

前言

3D 图形学入门文档已经基本完成,包含了完整的渲染流程和详细的数学推导,帮助同学们理解代码为什么这么编写

这是真正的图形学教程,不是 DirectX / OpenGL 使用手册。

在这个教程里,所有的一切,都从画点开始(基于 EasyX),然后一步步构建出复杂的 3D 效果,纯 CPU 渲染,效果如下:

test

本教程共分为三部分

在第一部分中,我们先学习2D图像绘制的一些相关知识,我们将会学习最基础最核心的知识:在屏幕上绘制图案。只有能在屏幕上绘制图案,我们才能在3D的世界遨游。

在第二部分中,我们将会进入3D的世界,尽情的畅游。

在第三部分中,我们将对前面章节所做出的渲染器进行功能扩展,使其使用起来更加的方便。本部分将会模仿OpenGL的渲染管线来扩充我们渲染器的功能,实现VBO、顺时针逆时针三角形的剔除、深度复位、像素复位、双缓冲、用矩阵完成坐标变换、纹理读取、漫反射光照数学模型等功能,最终让画面动起来

目录

  • 第一部分
    • 第1章 在屏幕上绘制图案
    • 第2章 直线和三角形的绘制
    • 第3章 重心坐标插值
  • 第二部分
    • 第4章 齐次坐标和透视投影
    • 第5章 透视校正插值
    • 第6章 深度测试
    • 第7章 裁剪
    • 第8章 标准视锥体和设备坐标
  • 第三部分
    • 第9章 渲染器功能升级
    • 第10章 矩阵
    • 第11章 走进图形学的大门

运行截图

第11章运行截图(左图:使用EasyX,右图:在 Linux 下使用 FrameBuffer)

运行动画 Linux

教程下载:点击这里

教程配套代码:https://github.com/yangzhenzhuozz/Renderer

分享到

评论 (7) -

  • 谢谢教程,正在学习。
  • 教程很好,谢谢啦,不知能否发一份教材配套代码到码云gitee或者百度云盘上供下载?github打开速度实在太慢了,有时还打不开,打开了那下载速度又很慢!
    • https://gitee.com/yangzhenzhuozz/Renderer
    • 可以复制到gitee之后再下载,我复制过一次,速度挺快的
  • 教程超赞,刚好我也在写3D,谢谢啦

添加评论