`
sjkgxf7191
  • 浏览: 257833 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

指定着色器输入和参数值

阅读更多

原文:http://www.pixelbender.cn/?p=59

 

使用 Shader 对象的 data 属性可以设置着色器输入和参数,还可以确定特定着色器是否需要输入或参数。

 

识别着色器输入和参数

var shaderData:ShaderData = myShader.data;
// 着色器输入
var inputs:Vector.<ShaderInput> = new Vector.<ShaderInput>();
// 着色器参数
var parameters:Vector.<ShaderParameter> = new Vector.<ShaderParameter>();
// 着色器元标签,namespace、vendor等
var metadata:Vector.<String> = new Vector.<String>();
for (var prop:String in shaderData)
{
        if (shaderData[prop] is ShaderInput)
        {
                inputs[inputs.length] = shaderData[prop];
        }else if (shaderData[prop] is ShaderParameter)
        {
                parameters[parameters.length] = shaderData[prop];
        }else
        {
                metadata[metadata.length] = shaderData[prop];
        }
}
// do something with the inputs or properties

 

指定着色器输入值

myShader.data.src.input = image.bitmapData;
 

指定着色器参数值

myShader.data.brightness.value = [75]
分享到:
评论

相关推荐

    6.6像素着色器示例1

    2. **D3D11_INPUT_ELEMENT_DESC**:这是Direct3D 11中定义顶点布局的结构,用于指定每个顶点元素的关联语义,这些语义标识了顶点缓冲区中的数据如何映射到顶点着色器的输入参数。 3. **语义**:语义是Direct3D中...

    ActionScript 3.0 开发人员指南中文官网上下的

    - **指定着色器输入和参数值**:设置着色器所需的输入值和参数值。 - **使用着色器**:展示了如何使用着色器来处理位图数据。 #### 十六、使用影片剪辑 - **影片剪辑基础知识**:影片剪辑是Flash中的一个重要概念...

    ActionScript开发人员指南中文版

    指定着色器输入和参数值 使用着色器 第章:使用影片剪辑 影片剪辑基础知识 使用MovieClip对象 控制影片剪辑播放 使用ActionScript创建MovieClip对象 加载外部SWF文件 影片剪辑示例:RuntimeAssetsExplorer 第章:使用...

    actionScript学习文档

    - **指定着色器输入和参数值**:说明如何设置着色器的输入和参数值。 - **使用着色器**:指导如何在 ActionScript 中使用着色器。 #### 十七、使用影片剪辑 - **影片剪辑基础知识**:概述影片剪辑的基本概念。 - *...

    ActionScript3.0开发人员指南

    - **指定着色器输入和参数值**:指导如何为着色器指定输入数据和参数值,以及如何传递动态数据。 - **使用着色器**:详细解释如何在AS3中调用PixelBender着色器,以及如何将处理结果应用到显示对象上。 #### 第16章...

    OpenGL着色器详细解析

    顶点着色器是第一个被执行的着色器阶段,它的主要任务是对输入的顶点进行转换。这些转换通常包括模型变换、视图变换和投影变换。 示例代码: ```glsl attribute vec4 vertexPosition; uniform mat4 modelViewMatrix...

    简单GLSL纹理着色器

    - **顶点着色器(Vertex Shader)**:处理输入的顶点数据,如位置、颜色、纹理坐标等,并计算出屏幕空间的坐标。 - **片段着色器(Fragment Shader)**:在每个像素位置运行,通常用于计算该像素的颜色,包括从...

    11.1几何着色器编程1

    几何着色器的输入参数是一个顶点数组,可以表示单个顶点、由两个顶点构成的直线、由 3 个顶点构成的三角形、由 4 个顶点构成的带有邻接信息的直线、由 6 个顶点构成的带有邻接信息的三角形。输入参数必须加上一个...

    UnityD着色器Shader编程入门扫描.pdf

    `surf`函数是表面着色器的主要入口,`Input`结构体用于接收输入数据,如纹理坐标。`tex2D(_MainTex, IN.uv_MainTex)`是对纹理的采样操作,获取指定UV坐标处的颜色。最后,`o.Albedo`和`o.Alpha`分别设置了输出的颜色...

    AGAL着色器编程语法

    了解AGAL着色器编程语法是Flash显卡编程的基础,对于创建复杂的3D图形和游戏至关重要。 AGAL中的核心概念是“暂存器”,它们类似于高级语言中的变量,根据用途和权限进行区分。以下是AGAL中不同类型的暂存器及其...

    渐变色着色器脚本.txt

    ### 渐变色着色器脚本知识点解析 #### 一、标题理解:“渐变色着色器脚本” ...通过以上分析可以看出,这份脚本提供了一个简单的渐变色实现方法,非常适合初学者理解和掌握着色器的基本概念和技术。

    OpenGL ES着色器使用详解(二)

    着色器语言是一种高级图形编程语言,和C/C++语言很类似,但存在很大差别。着色器语言不支持double、byte、short类型,也不支持union、enum、unsigned、位运算等。但其加入了很多原生的数据类型,如向量、矩阵等。 ...

    在OGRE中使用HLSL.txt

    2. **入口点(entry_point)**:指定着色器的主要执行函数,通常是 `main`。 3. **目标(target)**:指示着色器的目标版本,例如 `ps_2_0` 表示Pixel Shader 2.0版本。 4. **默认参数(default_params)**:设置...

    HLSL初级教程.pdf

    使用HLSL着色器涉及到几个步骤:加载着色器代码、编译着色器、创建着色器对象以及设置着色器参数。例如,在C++应用程序中,可以使用`ID3D11Device::CreateVertexShader`和`ID3D11Device::CreatePixelShader`来创建...

    OpenGL_ES之GLSL索引绘制“金字塔”并实现纹理颜色混合.zip

    顶点着色器负责处理输入的顶点数据,包括位置、颜色、纹理坐标等,将其转换为屏幕空间坐标。片段着色器则对屏幕上每个像素执行计算,产生最终的颜色值。 在纹理混合中,我们通常会有一个或多个纹理图像,这些图像被...

    Cg编程入门编(OpenGL)

    - 可以通过指定着色器函数名称或着色器文件名来加载着色器。 - 初始化着色器参数。 ```c++ KdParam = cgGetNamedParameter(VertexProgram, "Kd"); ModelViewProjParam = cgGetNamedParameter(VertexProgram, ...

    Using SAS in FX and CgFX File Formats(在fx和cgfx文件中使用SAS)

    - **Semantics(语义)**:用于定义着色器输入输出变量的意义,例如顶点位置、纹理坐标等。通过标准化的语义命名,开发者可以更容易地共享和重用着色器代码。 - **Annotations(注释)**:提供了对着色器行为的额外...

    ShaderKit:可在任何SpriteKit项目中使用的片段着色器库

    GLSL语法遵循一定的规则,例如使用`#version`指定GLSL版本,使用`uniform`声明可变参数,使用`fragment`关键字定义片段着色器函数。 3. **集成着色器**:ShaderKit提供了一种简单的方式来将GLSL代码与SpriteKit的...

    draw_triangle.rar_VISIO draw triangle_glut triangle_triangle_颜色

    综上所述,这个项目涵盖了OpenGL编程的基础,包括使用GLUT创建窗口、设置顶点和着色器、进行颜色插值等概念。对于学习者来说,这是一个很好的练习,可以深入理解3D图形渲染的基本原理。通过实际操作和调试,可以更好...

Global site tag (gtag.js) - Google Analytics