U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 土豆PE使用教程 >

2-3 GLSL in out

来源:http://www.tudoupe.com时间:2022-02-03

目录

  • 前言
  • 一、典型shader程序结构
  • 二、 对shader处理数据的自己思考
    • 1. VBO(buffer缓冲)
    • 2.VAO(Array)
    • 3.解释shader:
  • 三、 类型
  • 四、shader的链接
  • 五 使用资源来添加外部shader
  • 六 一个使用多个Attrib的代码样例

前言

概念 GLSL :OpenGL Shading Languange
写shader的语言。

配合:

  1. QOpenGLShader使用
  2. QOpenGLShaderProgram使用

一、典型shader程序结构

in: 表示从外部输入到本shader中
out:本shader的数据要向后传递

二、 对shader处理数据的自己思考

1. VBO(buffer缓冲)

就是一个连续内存,就是从左到右一直下去
VBO图示(就是连续内存,毫无意义)
在这里插入图片描述

2.VAO(Array)

2.1 VAO解释了连续内存如何切块、换行
2.2 则VAO把VBO转换成了数据库表
2.3 每一行都对应一个显卡核心(CORE)= 每个核心运行一个shader (运行main函数)
2.4 VAO保证有16个4分量的顶点的属性
(也就是一行最多64个值,对应一行)
glGetIntegerv(GL_MAX_VERTEX_ATTRIBS,&nAtrributes); // 或多多少个属性
在这里插入图片描述
此图中的core 就可以直接理解一个shader的运行实例

3.解释shader:

a. location=0 <-- VAO.Attrib(0)
b. in 表示传递到后面变量接着

三、 类型

1.基础数据类型
类似c++ :int float double uint bool
2.向量

类型 例子 说明
vecn vec4 float * 4 前面没有类型=float
bvecn bvec4 bool*4
ivecn ivec2 int*2
uvecn uvec2 uint*2
dvecn dvec2 double*2

3.vec的swizzling(重组),展开

四、shader的链接

在这里插入图片描述
vertextColor
1.在顶点着色器上声明为out – 要输出到后面
2. 在片段着色器上声明为in – 从前面输入过来的

五 使用资源来添加外部shader

解释
在这里插入图片描述 文件:新建文件和项目–q资源文件
在这里插入图片描述 输入资源名称res,
生成res.qrc文件
在这里插入图片描述 添加->添加前缀
– >前缀 /shader
在这里插入图片描述 添加-添加文件-选择文件
在这里插入图片描述 加入外部文件后
在这里插入图片描述 编辑框可以添加各种程序

六 一个使用多个Attrib的代码样例

主要理解
glVertexAttribPointer(0,3,GL_FLOAT,GL_FALSE,6sizeof(float),(void)0);
glVertexAttribPointer(1,3,GL_FLOAT,GL_FALSE,6sizeof(float),(void)(3*sizeof(float)));
一行中:前面坐标,后面颜色

上一篇:kali+linux系统u盘安装

下一篇:没有了

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息