GPU编程之GLSL(三)——Opengl与着色器通信
来源:互联网 发布:java web api接口开发 编辑:程序博客网 时间:2024/06/15 18:19
本节通过一个实例代码,来讲一下Opengl与着色器通信的问题:
本节只显示在前一节的基础上添加的代码
1、添加全局变量
GLint time_id;
2、在display()函数中的 a+=0.1;后边添加
glUniform1f(time_id,a);
目的:使time_id随着a一起变化
3、在 setShaders()函数最后添加
time_id=glGetUniformLocation(p,"v_time");
目的:为uniform变量获取了一个标识符,即将opengl中的time_id与片段着色器的v_time绑定
4、片段着色器代码改为:
uniform float v_time;void main(){ float fR=0.9*sin(0.0+v_time*0.05)+1.0; float fG=0.9*cos(0.33+v_time*0.05)+1.0; float fB=0.9*sin(0.67+v_time*0.05)+1.0; gl_FragColor = vec4(fR/2.0,fG/2.0,fB/2.0,1.0);}
参考文献:
仇德元.《GPGPU编程技术——从GLSL、CDPU到OpenGL》[M].河北省三河市:机械工业出版社,2012年:323.
0 0
- GPU编程之GLSL(三)——Opengl与着色器通信
- GPU编程之GLSL(六)——着色与逐顶点光照
- GPU编程之GLSL(四)——片段着色器
- opengl编程glsl-着色器
- GPU编程之GLSL(八)——配置GLSL
- GPU编程之GLSL(附加一)——常见问题
- OpenGL学习日记-2015.3.5——Hello glsl(着色器)
- 渲染世界的OPENGL<9>GLSL编程-单位着色器
- GPU编程之GLSL(二)
- GPU编程之GLSL(五)——二维离散卷积
- OpenGL 着色器语言GLSL的数据类型
- GLSL opengl着色器参数传递Shader
- OpenGL中使用GLSL着色器
- opengl glsl 几何着色器 1
- OpenGL着色语言GLSL
- OpenGL着色语言GLSL
- GLSL教程 OpenGL Setup for GLSL 创建着色器
- GLSL教程 OpenGL Setup for GLSL 创建着色器程序
- Struts2值栈学习
- oracle 序列 视图
- Git教程:时光机穿梭
- LeetCode Sort Colors
- Uva1589 - Xiangqi
- GPU编程之GLSL(三)——Opengl与着色器通信
- 孙鑫视频教程《深入学习window》里第三章的this指针小测试程序
- 蟠桃记(2013)
- 对象不支持“abigimage”属性或方法
- iis7.5 asp 报错 乱码
- Android的px、dp和sp等单位的区别详解
- android中的color使用总结 ——转载出处:coder-pig
- 《程序员面试宝典》精华 底层部分
- Image("findFlights").Click 无效 Image.Click 失效