你将收获

快速入门计算机图形学

写出一套类openGL迷你接口

无障碍学习DX以及openGL

学会图形学相关数学算法

适用人群

有兴趣在图形学/游戏行业发展的初级技术选手,或者从业一段时间后想了解图形底层原理的商业级选手

课程介绍

课程解决的问题:

作为游戏行业或者图形学从业者,你是否面临以下问题:

到底openGL底层如何实现的?

到底矩阵操作变换是怎么做到的?

到底光栅化的算法以及原理是什么?

到底如何才能从3D世界投射到2D屏幕呢?

图形学有这么多的矩阵操作,到底如何推导如何应用呢?

学完这门课程,你应该就可以从底层了解一个初级的openGL图形接口如何实现,图形学最底层的封装到底面临哪些挑战;跟随我们一行一行写完代码,你就会得到一个迷你版本的openGL图形库,你可以深度体会图形从模型变换,观察矩阵变换,投影矩阵变换一直到光栅化纹理操作的全套模拟流程。

课程介绍:

本课程将带领学员不使用任何图形库,实现从01的图形学接口封装以及算法讲解,并且带领大家手敲代码,一行一行进行实现

涵盖了(环境搭建,绘制点,Bresenham算法绘制完美直线,三角形拆分绘制算法,颜色插值算法,图片操作,图片二次插值放缩算法,纹理系统接口搭建及封装,矩阵操作理论以及实践,openGL类似接口封装,3D世界的图形学理论及接口封装等)

最终将带领大家通过C++实现一个3D世界的图形接口,方便所有人入门图形学,进行接下来的openGL接口以及GPU编程的学习

 

本课程为系列课程的第一步入门,且带领所有人进行实现,更加实用,可以让大家打牢图形学的基础知识及编程技能

查看更多

课程目录

讨论留言
23 条回复 进入帖子
切换为未回复评论
切换为时间正序
请发表友善的回复…
发表回复
机智的r君2022-11-11
  • 打赏
  • 举报
回复
我也想加学习群呢
Changer_夏花2022-11-08
  • 打赏
  • 举报
回复
老师,有学习群吗?
赵新政2022-11-08
  • 举报
回复
@Changer_夏花

加我微信 

carmazzz

康德的吉他2022-09-28
  • 打赏
  • 举报
回复
老师,用mac电脑来写代码是不是不太一样?
赵新政2022-10-01
  • 举报
回复
@康德的吉他

对~~ 因为窗体系统都不一样了

雨雨992022-01-29
  • 打赏
  • 举报
回复
老师,这个buffer[y*wWidth+x]=_color里面的数组下标计算是咋来的公式?
赵新政2022-01-29
  • 举报
回复
@雨雨99

图像是width * height的图像,存储在内存就是线性的,行优先。

说白了,0行像素先存,然后存储了width个像素之后,就开始存储第1行,也是存储width个像素,如此类推。那么,第y行的第x个像素呢?

 

你想,第(0, y)个像素的话,是第y行的第0个像素,代表前面有y行,那不就是积攒了y*width个像素么?

对于第(x, y)个像素的话,是第y行第x个像素,再上面基础上,然后再横向推进x个像素,不就是y*width+x个像素么。

Strive_RM2021-11-21
  • 打赏
  • 举报
回复
老师,求解在最后测试绕圆心各方向能否绘制直线时生成的图像 斜率相反的每一对上下会间隔隔很大的距离是哪里出错了
赵新政2021-11-26
  • 举报
回复
@Strive_RM

同学,这个问题比较细,老师也没办法去一行行给你看,一般情况下,如果有时间,还是建议一行行对比一下,如果按照咱们的代码写下来,应该是没有问题的,估计应该是有一个if条件没判断,正负号的问题~~

顺其自然_y2021-10-31
  • 打赏
  • 举报
回复
有源代码提供下载吗
赵新政2021-11-02
  • 举报
回复
@顺其自然_y

其他课程是有的,这个课程是要求同学们手敲的,对于入门有极大的好处~

LaLaLaDuanY2021-07-20
  • 打赏
  • 举报
回复
这些都是软渲染的吧?
赵新政2021-07-24
  • 举报
回复
@LaLaLaDuanY

对的 ,这个课程是可以深度理解渲染原理,其他的课程是GPU

m0_461951382021-06-28
  • 打赏
  • 举报
回复
有ppt课件吗
赵新政2021-06-28
  • 举报
回复
@m0_46195138

这个课程是要求跟写的~ 没有ppt课件 其他课程是有的

mx15053725302021-05-05
  • 打赏
  • 举报
回复
老师请问在直线绘制算法实现那一章中用到的DEG2RAD()角度转弧度函数在哪?
赵新政2021-05-09
  • 举报
回复
@mx1505372530

#define PI                                  3.14159265358979323

#define DEG2RAD(theta)                      (0.01745329251994329 * (theta))

#define MIN(a,b)                            ((a)<(b)?(a):(b))

#define MAX(a,b)                            ((a)>(b)?(a):(b))

 

同学可以用这个~

qq_401859572021-01-15
  • 打赏
  • 举报
回复
老师能上传课件吗? #define DEG2RAD(theta) (0.01745329251994329 * (theta))是这个吗 发现有的不是直接打的,是先写好的。
赵新政2021-01-15
  • 举报
回复
@qq_40185957哦哦 某些是比较特殊哈,但是估计1%都不到,同学可以继续学习,应该问题不大,全套工程都是带领手敲的~~这个你放心啦,最好跟着视频一行行打下来
若水风尘2021-01-07
  • 打赏
  • 举报
回复
用老师的课程入门还是很快的,我是跟着写下来才明白矩阵变换这些东西的
Mounʇɐin Top2021-01-07
  • 打赏
  • 举报
回复
已经学了很久的图形学,发现跟着老师一行行写一个图形库还是受益良多,openGL很多内部的东西看不见,可是现在能自己写出来了~ 继续加油
赵新政2021-01-07
  • 举报
回复
@Mounʇɐin Top是的,今后会推出更多的实战课程,先把原理学习完毕,才能够更好的理解
Mounʇɐin Top2021-01-07
  • 举报
回复
@Mounʇɐin Top谢谢老师!