快速入门计算机图形学
写出一套类openGL迷你接口
无障碍学习DX以及openGL
学会图形学相关数学算法
超值套餐
你将收获
快速入门计算机图形学
写出一套类openGL迷你接口
无障碍学习DX以及openGL
学会图形学相关数学算法
适用人群
课程介绍
作为游戏行业或者图形学从业者,你是否面临以下问题:
到底openGL底层如何实现的?
到底矩阵操作变换是怎么做到的?
到底光栅化的算法以及原理是什么?
到底如何才能从3D世界投射到2D屏幕呢?
图形学有这么多的矩阵操作,到底如何推导如何应用呢?
学完这门课程,你应该就可以从底层了解一个初级的openGL图形接口如何实现,图形学最底层的封装到底面临哪些挑战;跟随我们一行一行写完代码,你就会得到一个迷你版本的openGL图形库,你可以深度体会图形从模型变换,观察矩阵变换,投影矩阵变换一直到光栅化纹理操作的全套模拟流程。
本课程将带领学员不使用任何图形库,实现从0到1的图形学接口封装以及算法讲解,并且带领大家手敲代码,一行一行进行实现。
涵盖了(环境搭建,绘制点,Bresenham算法绘制完美直线,三角形拆分绘制算法,颜色插值算法,图片操作,图片二次插值放缩算法,纹理系统接口搭建及封装,矩阵操作理论以及实践,openGL类似接口封装,3D世界的图形学理论及接口封装等)
最终将带领大家通过C++实现一个3D世界的图形接口,方便所有人入门图形学,进行接下来的openGL接口以及GPU编程的学习
本课程为系列课程的第一步入门,且带领所有人进行实现,更加实用,可以让大家打牢图形学的基础知识及编程技能
课程目录
加我微信
carmazzz
对~~ 因为窗体系统都不一样了
图像是width * height的图像,存储在内存就是线性的,行优先。
说白了,0行像素先存,然后存储了width个像素之后,就开始存储第1行,也是存储width个像素,如此类推。那么,第y行的第x个像素呢?
你想,第(0, y)个像素的话,是第y行的第0个像素,代表前面有y行,那不就是积攒了y*width个像素么?
对于第(x, y)个像素的话,是第y行第x个像素,再上面基础上,然后再横向推进x个像素,不就是y*width+x个像素么。
同学,这个问题比较细,老师也没办法去一行行给你看,一般情况下,如果有时间,还是建议一行行对比一下,如果按照咱们的代码写下来,应该是没有问题的,估计应该是有一个if条件没判断,正负号的问题~~
其他课程是有的,这个课程是要求同学们手敲的,对于入门有极大的好处~
对的 ,这个课程是可以深度理解渲染原理,其他的课程是GPU
这个课程是要求跟写的~ 没有ppt课件 其他课程是有的
#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))
同学可以用这个~