OpenGL学习(六)纹理与obj格式模型的读取
目录 前言 纹理映射 纹理坐标 映射到简单正方形 读取图像 生成正方形数据 生成纹理 着色器贴纹理 读取obj文件 obj文件格式 编写readObj函数进行读取 渲染一张桌子 完整代码 c++ 顶点着色器 片元着色器 前言 上一篇博客回顾: OpenGL学习(五)相机变换,透视投影与FPS相机 在上一篇博客中,我们利用相机变换矩阵,对场景进行透视投影,同时我们实现了可以自由飞翔的 FPS 相机。 迄今为止我们的渲染都是非常单调并且过时的,今天我们来引入一些现代化的东西,来丰富我们的场景。 首先我们会利用一张图片生成纹理,随后我们将这张图片贴在我们的物体上。这就像现代计算机游戏中,我们可以让艺术家们人为的制定一些图片,而不是由程序员大费周章的生成它。 在最后我们通过读取 obj 格式的模型并且创建对应的纹理,来绘制一些精美的模型。 ⚠ 该部分的绘制代码基于上一篇博客: OpenGL学习(五)相机变换,透视投影与FPS相机 博客内容因为篇幅关系,不会完整的列出所有的代码 完整代码会放在文章末尾 纹理映射 在正式开始之前,我们需要了解纹理映射的知识。在计算机游戏中,我们往往见到很多精美的模型,比如下图的水果摊,就有很多个🍎。 通过模型实际上还原这些🍎的几何细节是非常困难的。而且我们还要确定他们的颜色,这更加是难上加难。 于是我们想出了一个曲线救国的方式:我们将一张图片贴上去