图形学日记(7.12)

这几天没有写日记,废物。
今天被打醒了,本来只是问一下c++的学习,结果被大佬谈到自己的方向,同校的都是acm金,结果我还没东西,另一个做游戏引擎的学长给了很多指导意见,结果大家都非常清楚之后怎么走,而且已经走的很好了,只有我还是废物。于是马上起来继续工作…今天就相当于学一下软件渲染管线和硬件渲染管线的相关概念和相关东西了。
因此…

渲染管线

渲染管线在游戏引擎中指的是渲染流水线(Graphics pipeline/rendering pipeline),意思是指代将数据从3D场景转换到2D场景的全过程,分为应用、几何和光栅化三个阶段。 ![流程](https://img-blog.csdnimg.cn/20210713011809269.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzUxMTc5MDk5,size_16,color_FFFFFF,t_70)

应用阶段根据渲染管线入门的说法,主要通过cpu与内存进行,进行碰撞检测、坐标纹理计算等工作并将数据传输至下一层。
而几何阶段进行的是视角变换与光照渲染工作,也就是齐次矩阵的部分。
光栅阶段就是光栅化利用前两个阶段得到的数据进行光栅化就可以了。

剪刀测试

用于进行一部分更新,另一部分不更新的机制,可以减少计算量。

小结

大多数内容都学到了,渲染管线主要还是从图形模型到视觉效果呈递的流程。而GPU在这里面的作用就是负责将3D图形通过模型录入,网格化,材质填充,光照渲染,投影,光栅化最后得到显示器上的像素图像的这么一个过程的专门的硬件,也就是说这个过程涉及到了大量矩阵运算,推测这也是为什么GPU在机器学习中大放异彩的原因之一。

管线细分

顶点数据(vertices data)

顶点数据用来为后面的顶点着色器提供处理好的数据,是渲染管线的主要数据来源。详细数据有:顶点坐标、纹理坐标、顶点法线和顶点颜色等顶点属性。

顶点着色器

主要负责坐标变换,将局部坐标转换为世界坐标、观察坐标和裁剪坐标。同时也会顺便进行光照计算(高洛德着色),然后光栅化插值得到每个片段的颜色,但这种方法得到的颜色不自然。

曲面细分

就是利用镶嵌化处理进行细分增加三角面个数来提供更多的细节。是一个可选的阶段,由外壳着色器和域着色器构成。

几何着色器

几何着色器类似于给定两个点生成一条线的操作,也就是通过录入现有的图元来生成一个或多个或者没有图元的操作。

图元组装

透视除法和视口变换似乎是一种硬件设计,不太了解,之后会慢慢学习。而图元组装更多是进行一次优化,减少不必要的图元,提高光栅化效率。

光栅化

换成离散的像素点。

片段着色器

进行光照和阴影处理,得到最终的颜色,奇怪的是为什么要在光栅化后进行,之后学习要注意一下。

测试混合阶段

管线的最后一个阶段。就是上面写的裁剪测试就是这个阶段。测试一般有:裁剪测试,alpha测试,模板测试和深度测试。没有通过测试的片段会被丢弃。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值