OpenGLES: uniform变量传参
来源:互联网 发布:淘宝明星zero距离签名 编辑:程序博客网 时间:2024/06/05 20:19
uniform是shader里面的一种变量,它是由外部程序设置进来的,除非你显式地调用函数来修改这个uniform的值,否则它的值恒定不变。
quick是通过GLProgramState类提供的接口来传值的,下面列出相关方法:
--------------------------------
-- @overload self, int, vec2_table
-- @overload self, string, vec2_table
-- @function [parent=#GLProgramState] setUniformVec2
-- @param self
-- @param #string uniformName
-- @param #vec2_table value
-- @return GLProgramState#GLProgramState self (return value:cc.GLProgramState)
示例:glprogramState:setUniformVec2("blurSize",{x=0.3,y=0.3})
--------------------------------
-- @overload self, string, unsigned int
-- @overload self, string, cc.Texture2D
-- @overload self, int, cc.Texture2D
-- @overload self, int, unsigned int
-- @function [parent=#GLProgramState] setUniformTexture
-- @param self
-- @param #int uniformLocation
-- @param #unsigned int textureId
-- @return GLProgramState#GLProgramState self (return value:cc.GLProgramState)
示例:
local texture = cc.Director:getInstance():getTextureCache():addImage("mask.png")
glprogramState:setUniformTexture("u_mask_texture", texture:getName())
--------------------------------
-- @overload self, int, mat4_table
-- @overload self, string, mat4_table
-- @function [parent=#GLProgramState] setUniformMat4
-- @param self
-- @param #string uniformName
-- @param #mat4_table value
-- @return GLProgramState#GLProgramState self (return value:cc.GLProgramState)
--------------------------------
-- @overload self, int, float
-- @overload self, string, float
-- @function [parent=#GLProgramState] setUniformFloat
-- @param self
-- @param #string uniformName
-- @param #float value
-- @return GLProgramState#GLProgramState self (return value:cc.GLProgramState)
--------------------------------
-- @overload self, int, vec3_table
-- @overload self, string, vec3_table
-- @function [parent=#GLProgramState] setUniformVec3
-- @param self
-- @param #string uniformName
-- @param #vec3_table value
-- @return GLProgramState#GLProgramState self (return value:cc.GLProgramState)
示例:glprogramState:setUniformVec3("blurSize",{x=0.3,y=0.3,z=0.3})
--------------------------------
-- @overload self, int, int
-- @overload self, string, int
-- @function [parent=#GLProgramState] setUniformInt
-- @param self
-- @param #string uniformName
-- @param #int value
-- @return GLProgramState#GLProgramState self (return value:cc.GLProgramState)
--------------------------------
-- @overload self, int, vec4_table
-- @overload self, string, vec4_table
-- @function [parent=#GLProgramState] setUniformVec4
-- @param self
-- @param #string uniformName
-- @param #vec4_table value
-- @return GLProgramState#GLProgramState self (return value:cc.GLProgramState)
示例:glprogramState:setUniformVec4("blurSize",{x=0.3,y=0.3,z=0.3,w=0.3})
- OpenGLES: uniform变量传参
- OpenGLES---熟悉全局变量uniform,局部变量attribute,共享变量varying
- OSG中uniform变量
- Opengl_ES uniform attribute 变量赋值
- opengl shader 2 uniform变量
- opengl 教程(5) shader(2) uniform变量
- cocos2dx中使用自定义uniform变量
- 代码修改shader Properties uniform变量
- 【OpenGL ES】uniform变量缓冲区对象layout
- OpenGL_9:着色器之uniform变量
- uniform
- opengles
- opengles
- opengles
- Opengles
- OpenGLES
- GLSL 三种变量类型(uniform,attribute和varying)
- effect编译时通过uniform函数变量判断条件
- android for循环创建列表
- ios 开发笔记和技巧总结 (六)
- freescale opencl hello world
- angularjs之ui-bootstrap和ui-router结合使用
- Quartz和Spring,Mybatis结合,读数据库空指针(NullPointerException)
- OpenGLES: uniform变量传参
- 进程间数据传递载体——Parcel(一)
- 双向BFS搜索和A*算法
- IOS编译警告之:performSelector may cause a leak because its selector is unknown
- 民间版知乎用户分析报告
- android launcher创建删除判断是否存在快捷方式
- UI基本知识
- web项目启动完成执行某个方法
- spring mvc test by mock