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

使用着色器作为绘图填充

 
阅读更多

原文:http://www.pixelbender.cn/?p=68 (原文代码有许多错误,请测试时一一校正)

 

在使用着色器创建绘制填充 时,您将使用绘图 API 方法来创建矢量形状。正如使用绘图 API 可将任何位图图像用作位图填充一样,着色器的输出将用于填充该形状。

 

var canvas:Sprite = new Sprite();
canvas.graphics.beginShaderFill(myShader);
canvas.graphics.drawRect(10, 10, 150, 150);
canvas.graphics.endFill();
// add canvas to the display list to see the result

 

beginShaderFill() 方法注意点

  • 参数 Shader: 无需 指定图像输入
  • 调用 clear () 方法会清除填充
  • 只要绘制 3 个或更多个点 ,或者调用 endFill() 方法时,应用程序就会呈现填充

 

private function onLoadComplete(event:Event):void
{
	shader = new Shader(loader.data);
        // 给着色器参数赋值
	shader.data.point1.value = [topMiddle.x, topMiddle.y];
	shader.data.point2.value = [bottomLeft.x, bottomLeft.y];
	shader.data.point3.value = [bottomRight.x, bottomRight.y];
	this.addEventListener(Event.ENTER_FRAME, updateShaderFill);
}

private function updateShaderFill(event:Event):void
{
	colorAngle += 0.6;
	var c1:Number = 1 / 3 + 2 / 3 * Math.cos(colorAngle);
	var c2:Number = 1 / 3 + 2 / 3 * Math.cos(colorAngle + d120);
	var c3:Number = 1 / 3 + 2 / 3 * Math.cos(colorAngle - d120);
        // 给着色器参数赋值
	shader.data.color1.value = [c1, c2, c3, 1.0];
	shader.data.color2.value = [c3, c1, c2, 1.0];
	shader.data.color3.value = [c2, c3, c1, 1.0];

	canvas.graphics.clear();
        // 开始绘图,三个点即可
	canvas.graphics.beginShaderFill(shader);
	canvas.graphics.moveTo(topMiddle.x, topMiddle.y);
	canvas.graphics.lineTo(bottomLeft.x, bottomLeft.y);
	canvas.graphics.lineTo(bottomRight.x, bottomLeft.y);
	canvas.graphics.endFill();
}
分享到:
评论

相关推荐

    actionscript专注图片处理的新书

    使用新的Pixel Bender技术来创建用于位图滤镜的ActionScript着色器、混合模式和填充模式; 在图像、文本和视频上应用动态的、可复用的效果,同时包括网络摄像头和麦克风的可视化; 结合开源的效果和动画类库,使得...

    Android Shader着色器/渲染器的用法解析

    Shader是绘图过程中的着色器,它有五个子类: BitmapShader: 位图渲染 LinearGradient: 线性渲染 SweepGradient: 梯度渲染 RadialGradient: 光束渲染 ComposeShader: 组合渲染 渲染模式:Shader.TileMode ...

    ActionScript开发人员指南中文版

    第章:使用PixelBender着色器 PixelBender着色器基础知识 加载或嵌入着色器 访问着色器元数据 指定着色器输入和参数值 使用着色器 第章:使用影片剪辑 影片剪辑基础知识 使用MovieClip对象 控制影片剪辑播放 使用...

    vkvg:Vulkan 2D 图形库

    火神字体配置自由式哈夫巴兹GLSLC:spirv 编译器,包含在LunarG SDK 中(仅限构建) xxd : 使用预编译着色器生成头文件(仅限构建) GLFW :可选,如果构建了现有测试。 如果glslc或xxd不存在,则着色器的预编译...

    R.A.M 2019 - River Auto Material 2019

    借助我们的脚本和着色器,对象在撞到样条或湖面时,即便在运行期间也可以自动湿润 - 浸湿的船只或汽车行驶在湖面、海面、河面上。样条图工具可以创作平滑的公路、泥土公路 - 查看我们也可以用作公路的的图片样品和...

    Learn-OpenGL:学习OpenGL,由Packt发布

    本书涵盖以下激动人心的功能: 使用绝对,相对链接在Windows和macOS上设置GLFW和GLEW 使用绝对链接和相对链接在系统上设置SDL和SFML 使用简单的着色器绘画创建一个相机,学习用物体填充游戏世界了解有关颜色和照明...

    windows 程序设计中文版

    8.1 计时器的基本知识 8.1.1 系统和计时器 8.1.2 计时器消息不是异步的 8.2 使用计时器的三种方法 8.2.1 方法一 8.2.2 方法二 8.2.3 方法三 8.3 使用计时器作为时钟 8.3.1 数字时钟 8.3.2 获取当前时间 8.3.3 显示...

    PowerPoint.2007宝典 3/10

    10.1 使用绘图工具 189 10.1.1 关于矢量图形 189 10.1.2 绘制线条和形状 190 10.1.3 选择不同的形状 193 10.1.4 编辑形状的顶点 194 10.1.5 向形状添加文本 194 10.2 选择对象 195 10.3 删除对象 ...

    PowerPoint.2007宝典 10/10

    10.1 使用绘图工具 189 10.1.1 关于矢量图形 189 10.1.2 绘制线条和形状 190 10.1.3 选择不同的形状 193 10.1.4 编辑形状的顶点 194 10.1.5 向形状添加文本 194 10.2 选择对象 195 10.3 删除对象 ...

    浩辰CAD 2018 GstarCAD Pro 2018 SP2 中文免费版.zip

    支持在任何机器上使用绘图驱动程序。 布局空间显示打印样式 通过简单的几步就能快速创建复杂图形的轮廓线。创建的轮廓线是多段线,这样有便于您复制使用它。 创新功能,节省设计绘图时间 面积表格 对封闭的区域和...

Global site tag (gtag.js) - Google Analytics