OpenGL给Shader变量传递参数
来源:互联网 发布:js端口探测 编辑:程序博客网 时间:2024/06/06 07:28
首先需要了解Shader中变量的四个修饰符
varying:在顶点着色器和片元着色器中传递参数,在顶点着色器中被修改,在片元着色器中只读
uniform:一致变量,在一个图元绘制过程中不会改变 ,在opengl中传递参数到shader,在顶点着色器和片元着色器中使用
attribute:随不同顶点变化的全局变量,由opengl中传递值到shader,只能在顶点着色器只读
const:同c语言const,编译期常量
OpenGL中传递参数给uniform变量
Shader内容
vec4 a = vec4(1.0,2.0,3.0,4.0);float posX=a.x;float posY=a[1];vec2 posXY=a.xy;float depth=a.w;const float x=1.0f;
OpenGL程序
GLuint positionZ=glGetUniformLocation(p,"PositionZ");glUniform1f(positionZ,10.0f);float specColorArr[4]={0.8,0.8,0.8,1.0};GLuint specColor=glGetUniformLocation(p,"specColor");glUniform4fv(specColor,1,specColorArr);float tArr[2]={1.0,2.0};GLuint t=glGetUniformLocation(p,"t");glUniform1fv(t,2,tArr);float colorsMatrix[12]={0.3,0.3,0.3,1.0,0.2,0.2,0.2,1.0, 0.8,0.8,0.8,1.0 };GLuint colors=glGetUniformLocation(p,"colors");glUniform4fv(colors,3,colorsMatrix);
0 0
- OpenGL给Shader变量传递参数
- quick传递参数给shader
- GLSL opengl着色器参数传递Shader
- openGL---shader的几个变量
- opengl shader 2 uniform变量
- 引用变量与把参数传递给方法
- 一些与传递给shell的参数相关的变量
- 【OpenGL】向Shader中传递数据
- 在OpenGL中向shader传递信息
- 传递参数给函数
- 给线程传递参数
- 给模块传递参数
- 给 bat 传递参数
- 给应用程序传递参数
- 传递参数给线程
- 传递参数给Sed
- opengl 教程(5) shader(2) uniform变量
- opengl shader内置变量和函数
- 几点iOS开发技巧
- Mysql 存储过程详解
- CentOS上编译安装Hadoop2
- 当grub配置文件被损坏时的修复方法
- Lucene学习总结之一:全文检索的基本原理
- OpenGL给Shader变量传递参数
- 处理大整数------计算n!(阶层)
- 学习OpenCV范例(十二)——更多形态学变换
- c++中计算程序段运行时间
- 对ASP.NET页面生命周期总结(完结篇)
- 二叉树的深度
- 编码问题
- vc编译通过,但提交到九度oj编译就不通过,求帮忙看看编译信息
- 人生哲理寓言小故事【转】