|
|
@@ -1149,6 +1149,8 @@ private:
|
|
|
|
|
|
## 纹理
|
|
|
|
|
|
+### 读取图片
|
|
|
+
|
|
|
需要从电脑上读取 PNG 文件给着色器采样,然后绘制到屏幕上
|
|
|
|
|
|
这里使用[stb库](https://github.com/nothings/stb)来读取图片,主要使用里面的 `stb_image` 来读取文件
|
|
|
@@ -1191,7 +1193,7 @@ private:
|
|
|
|
|
|
> 具体情况具体分析,不是所有的图片原点都是左上角
|
|
|
|
|
|
------------------
|
|
|
+### 插槽
|
|
|
|
|
|
关于贴图, `OpenGL` 提供多种**插槽**来绑定纹理,**插槽**通常称为**纹理单元**,是一个可以用来绑定一个或者多个纹理的文职。每个纹理单元可以绑定一个纹理,以供着色器程序使用。这种设计允许着色器同时访问多个纹理
|
|
|
|
|
|
@@ -1222,6 +1224,8 @@ printf("Maximum combined texture units: %d\n", maxCombinedTextureUnits);
|
|
|
|
|
|

|
|
|
|
|
|
+### 封装 Texture
|
|
|
+
|
|
|
那么一般来说,贴图需要存储的信息就是图片的宽、高、BPP和路径
|
|
|
|
|
|
```cpp
|
|
|
@@ -1341,3 +1345,6 @@ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
|
|
| --- | --- |
|
|
|
|  |  |
|
|
|
|
|
|
+## END
|
|
|
+
|
|
|
+工作需要,后续改为 `Direct` 学习
|