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

QT中学习Opengl---(GLSL简单的使用)

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

前言:

本文的代码是LearnOpenGL中对应代码,这里提供学习,大家喜欢的可去官方网站去看看:

https://learnopengl-cn.readthedocs.io/zh/latest/ https://learnopengl-cn.readthedocs.io/zh/latest/ 本章简单讲解GLSL 中的简单使用,详细知识点请查阅对应书籍

GLSL:

着色器是使用一种叫GLSL的类C语言写成的。 GLSL是为图形计算量身定制的, 它包含针对向
量和矩阵操作的有用特性。

比如我们顶点着色器写成:

这里我们看到有layout  out ,其实我们常用的就是 in out  、layout、uniform这几个,下面我给你们讲下基本情况,大家也就了解了。

in 与 out

在shader.vs 文件下:

在shader.fs 文件下:

我们可以看到里面都有个变量vertexColor,在顶点着色器中输出,然后在片段着色器接受,然后在给颜色。

输出结果:

如何理解in 与 out 呢:

如图,in 就是给这个着色器的值,out 就是送出去的值。这下,你懂了吧。

全部代码:

cpp

layout

我们先看基本标识:

这里有location  = 0,1.这里就是对应变量的编号。比如我想把顶点写成

前边是位置,后面是颜色值,那我们要告诉gpu改如何操作,于是下面代码你就懂了:

第一参数就是对应的location,然后最后一个是偏移量。这下你懂了吧。

我们使用qt中找到对应的pos值也是可以的 。

输出结果:

cpp代码:

uniform

uniform是另一种从CPU应用向GPU着色器发送数据的方式, 但uniform和顶点属性有点不
同。 首先, uniform是全局的(Global)。 这里全局的意思是uniform变量必须在所有着色器程序
对象中都是独一无二的, 它可以在着色器程序的任何着色器任何阶段使用。 第二, 无论你把
uniform值设置成什么, uniform会一直保存它们的数据, 直到它们被重置或更新。

我们先看基本标识:

然后我们在代码中写到:

这个是qt提供的类使用的方法,原生方式:

这里的id 就是你glCreateProgram()返回的值,原生态你要创建的链接器id

然后修改对应的数据:

输出结果:

全部代码:

写在后面的话:

喜欢我博客的小伙伴们,也同时想在qt上学习opengl的伙伴,可以关注与点赞博客,让我们共同进步吧。

上一篇:WAMP环境下PHPExcel使用

下一篇:没有了

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维护系统

点击这里给我发消息