Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CPP
OpenGL Learning
提交
03a590f8
O
OpenGL Learning
项目概览
CPP
/
OpenGL Learning
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
OpenGL Learning
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
03a590f8
编写于
7月 07, 2017
作者:
O
Orient
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Some Modify in README.md
上级
12ba6db3
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
6 deletion
+10
-6
Textures/README.md
Textures/README.md
+10
-6
未找到文件。
Textures/README.md
浏览文件 @
03a590f8
# 纹理
# 纹理
** 在这份代码中我使用了下面这张纹理图片: **
在这份代码中我使用了下面这张纹理图片:
![
texture
](
https://github.com/Orient-ZY/OpenGL-Learning/blob/master/Textures/src/wall.jpg
)
![
texture
](
https://github.com/Orient-ZY/OpenGL-Learning/blob/master/Textures/src/wall.jpg
)
## 纹理坐标:
## 纹理坐标:
![
tex_coords
](
https://github.com/Orient-ZY/OpenGL-Learning/blob/master/imgtex_coords.png
)
![
texture_coords
](
https://learnopengl-cn.github.io/img/01/06/tex_coords.png
)
从上图中可以看出,纹理的坐标远点是从图片的左下方开始。绘制矩形/三角形时对应的纹理坐标如下:
从上图中可以看出,纹理的坐标远点是从图片的左下方开始。绘制矩形/三角形时对应的纹理坐标如下:
...
@@ -26,7 +29,8 @@ float vertices[] = { // 渲染三角形形所需代码
...
@@ -26,7 +29,8 @@ float vertices[] = { // 渲染三角形形所需代码
0.0f, 0.5f, 0.0f, 1.0f, 0.0f, 0.0f, 0.5f, 1.0f // 渲染三角形所需代码
0.0f, 0.5f, 0.0f, 1.0f, 0.0f, 0.0f, 0.5f, 1.0f // 渲染三角形所需代码
}; // 渲染三角形所需代码
}; // 渲染三角形所需代码
```
```
** 矩形的绘制是通过绘制两个三角形得到,我们只需给出4个顶点属性和一个索引数组即可绘制出矩形 **
矩形的绘制是通过绘制两个三角形得到,我们只需给出4个顶点属性和一个索引数组即可绘制出矩形
## 接下来绑定VAO,VBO,EBO:
## 接下来绑定VAO,VBO,EBO:
```
```
...
@@ -62,7 +66,7 @@ glEnableVertexAttribArray(2);
...
@@ -62,7 +66,7 @@ glEnableVertexAttribArray(2);
## 纹理设置
## 纹理设置
** 首先创建一个纹理ID并绑定 **
首先创建一个纹理ID并绑定
```
```
unsigned int texture;
unsigned int texture;
...
@@ -70,7 +74,7 @@ glGenTextures(1, &texture);
...
@@ -70,7 +74,7 @@ glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glBindTexture(GL_TEXTURE_2D, texture);
```
```
** 设置环绕、过滤方式 **
设置环绕、过滤方式
```
```
// set the texture wrapping parameters
// set the texture wrapping parameters
...
@@ -81,7 +85,7 @@ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
...
@@ -81,7 +85,7 @@ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
```
```
** 生成并加载纹理 **
生成并加载纹理
```
```
int width, height, nrChannels;
int width, height, nrChannels;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录