基本方法准备纹理坐标(纹理坐标也叫UV坐标)生成纹理绑定纹理修改Shader修改draw call运行结果让立方体不再裸奔结语Reference在上一篇文章中,我们介绍了如何绘制一个立方体,里面涉及的知识点有VBO(Vertex Buffer Object)、IBO(Index Buffer Object)和MVP(Modile-View-Projection)变换。本文将在教程4的基础之上,添加纹理贴图支持。最后,本文会把纹理贴图扩展至3D立方体上面。基本方法当我们把一张图片加载到内存里面之后,它是不能直接被GPU绘制出来的,纹理贴图过程如下:首先,我们为之前的顶点添加纹理坐标属性并传到vertex shader里面去,然后把内存里面的纹理传给GPU,最后,在fragment shader里面通过采样器,就可以根据vertex shader传递过来的纹理坐标把纹理上面的颜色值用插值的方式映射到每一个像素上去。接下来,让我们看看具体怎么做。more准备纹理坐标(纹理坐标也叫UV坐标)首先,我们需要修改我们的顶点属性结构体,添加一个纹理坐标属性(TexCoord):12345typedefstruct{floatPosition[2];floatColor[4];floatTexCoord[2];}Vertex;接下来,需要修改顶点数组的值,主要就是添加UV坐标:1234567Ver
...
继续阅读
(22)