7、计算机图形学——图形管线渲染与纹理映射

一、图形渲染管线

管线渲染其实就是将三维物体如何呈现到计算机屏幕上的过程,图形渲染管线的整体大致流程如下

7、计算机图形学——图形管线渲染与纹理映射_第1张图片

顶点处理过程就是进行MVP变换,最终得到一系列的二维坐标点。而三角化就是将这一系列的二维坐标点进行组装成三角形或者线

7、计算机图形学——图形管线渲染与纹理映射_第2张图片

顶点处理和三角化结束后,得到了一些列的图形,那么,接下来自然是对这些图形进行光栅化

7、计算机图形学——图形管线渲染与纹理映射_第3张图片

光栅化结束之后,就要对对应的像素进行着色,因此进入了着色处理阶段,着色阶段可以通过光照模型或者纹理映射的方式对光栅化的像素进行着色

7、计算机图形学——图形管线渲染与纹理映射_第4张图片

7、计算机图形学——图形管线渲染与纹理映射_第5张图片

着色之后,还有根据深度信息通过Zbuffer算法对这些已经着色的面或者其他图形按照深度值进行按顺序渲染

7、计算机图形学——图形管线渲染与纹理映射_第6张图片

最后通过Framebuffer的处理,将所有的像素颜色信息整合在一起,输送给显示设备加以显示。就走完整个图形渲染管线流程。

二、纹理映射

纹理映射主要是解决光照模型下,物体颜色不够丰富的问题,如下图所示

7、计算机图形学——图形管线渲染与纹理映射_第7张图片

如果没没有纹理信息只有光照模型,那么球的表面和木板表面将不会有这么丰富的纹理,只有明暗和高光。但是有了纹理之后,将纹理贴图放在贴在物体表面。就会对物体表面的漫反射系数进行了修改。从而对光线中的RGB分量就有了不同的反射率,从而人眼就能看到不同的颜色,就像上图中的球中的蓝色和木板的表面颜色

纹理贴图就是一张图片,纹理图片上的二维点和模型上的三维点有完整的映射,这种映射关系由美术来搞,程序不需要关心

7、计算机图形学——图形管线渲染与纹理映射_第8张图片

纹理映射的过程如下

7、计算机图形学——图形管线渲染与纹理映射_第9张图片

对每个光栅化的屏幕坐标算出三个uv坐标,再利用三角形重心坐标进行插值算出uv三角形内的纹理坐标,然后通过uv坐标去查询texture上的颜色,最后把颜色信息当作模型上对应点的漫反射系数Kd。

纹理贴图的坐标系如下图所示

7、计算机图形学——图形管线渲染与纹理映射_第10张图片

uv的范围都是0-1,v可以理解为全绿,u是全红,所以会有一个过渡

着色后的效果如下

7、计算机图形学——图形管线渲染与纹理映射_第11张图片

因为纹理是一张图片,正常图片复制多分并左右连接时,并不会平滑过渡,但是如果纹理图片在复制多分并左右连接可以平滑过渡时,这种纹理就叫做tiled(可平铺的)

参考:

GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibili

欢迎大家评论交流,作者水平有限,如有错误,欢迎指出

你可能感兴趣的:(计算机图形学原理,图形学)