john

分享一些有趣的知识

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

分享到

Comments (5) -

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