当前位置: 首页 > news >正文

网络上做假网站做物流学校seo推广培训班

网络上做假网站做物流,学校seo推广培训班,wordpress301跳转插件,热门网页游戏排行一、效果概述 在游戏UI和特效制作中,高斯模糊是一种常见的效果,用于创建景深、聚焦或朦胧的美术效果。本文将解析一个基于Cocos Creator的高斯模糊着色器实现。 二、核心代码结构 这个效果主要由三部分组成: CCEffect - 效果定义和参数配置顶…

一、效果概述

在游戏UI和特效制作中,高斯模糊是一种常见的效果,用于创建景深、聚焦或朦胧的美术效果。本文将解析一个基于Cocos Creator的高斯模糊着色器实现。

二、核心代码结构

这个效果主要由三部分组成:

  1. CCEffect - 效果定义和参数配置
  2. 顶点着色器(sprite-vs) - 标准2D精灵顶点处理
  3. 片段着色器(sprite-fs) - 高斯模糊核心算法

三、CCEffect配置解析

techniques:- passes:- vert: sprite-vs:vert       // 指定顶点着色器frag: sprite-fs:frag       // 指定片段着色器depthStencilState:depthTest: false         // 禁用深度测试depthWrite: false        // 禁用深度写入blendState:targets:- blend: true            // 启用混合blendSrc: src_alpha    // 源因子: src_alphablendDst: one_minus_src_alpha // 目标因子: 1-src_alpharasterizerState:cullMode: none           // 禁用面剔除properties:mainTexture: { value: grey }       // 输入纹理textureSize: { value: [1920,1080] }// 纹理尺寸blurRadius: { value: 10.0, range: [0.0, 10.0] } // 模糊半径(可调)

四、顶点着色器分析

顶点着色器主要完成标准2D精灵的顶点变换:

vec4 vert() {vec4 pos = vec4(a_position, 1);// 世界变换(可选)#if USE_LOCALpos = cc_matWorld * pos;#endif// 视图投影变换#if USE_PIXEL_ALIGNMENTpos = cc_matView * pos;pos.xyz = floor(pos.xyz); // 像素对齐pos = cc_matProj * pos;#elsepos = cc_matViewProj * pos;#endif// 传递变量到片段着色器uv0 = a_texCoord;color = a_color;return pos;
}

五、高斯模糊算法实现

片段着色器中实现了完整的二维高斯模糊:

1. 高斯权重计算

float getWeight(float x, float y, float rho) {return exp(-(x*x + y*y)/(2.0*rho*rho));
}

2. 模糊主函数

vec4 gaussBlur(vec2 uv) {vec4 finalColor = vec4(0.0);float rho = blurRadius / 3.0; // 标准差vec2 texelSize = 1.0 / textureSize; // 单个像素大小// 第一遍:计算总权重float totalWeight = 0.0;for(int x = -MAX_RADIUS; x <= MAX_RADIUS; x++) {for(int y = -MAX_RADIUS; y <= MAX_RADIUS; y++) {if (abs(float(x)) <= blurRadius && abs(float(y)) <= blurRadius) {totalWeight += getWeight(float(x), float(y), rho);}}}// 第二遍:应用模糊for(int x = -MAX_RADIUS; x <= MAX_RADIUS; x++) {for(int y = -MAX_RADIUS; y <= MAX_RADIUS; y++) {if (abs(float(x)) <= blurRadius && abs(float(y)) <= blurRadius) {float weight = getWeight(float(x), float(y), rho) / totalWeight;vec2 offset = vec2(float(x), float(y)) * texelSize;finalColor += texture(mainTexture, uv + offset) * weight;}}}return finalColor;
}

3. 片段着色器入口

vec4 frag() {vec4 col = gaussBlur(uv0);return col * color;
}

六、性能优化建议

  1. 分离模糊:将二维模糊拆分为水平和垂直两次一维模糊,可大幅减少采样次数
  2. 降采样:先缩小纹理尺寸进行模糊,再放大回原尺寸
  3. 限制半径:如代码中做的,设置最大模糊半径(10像素)
  4. 使用预计算权重:提前计算好权重表,减少实时计算

七、应用场景

  1. UI背景模糊效果
  2. 游戏暂停时的背景处理
  3. 角色技能特效
  4. 景深模拟

八、总结

这个实现提供了可配置的高斯模糊效果,通过调整blurRadius参数可以控制模糊程度。虽然当前实现使用了标准的二维高斯模糊,但在实际项目中可以根据性能需求进行优化。

完整代码已在文章开头给出,读者可以直接在Cocos Creator项目中尝试使用或进一步修改优化。

http://www.dtcms.com/a/493704.html

相关文章:

  • 本机快速做网站国外网页设计分享网站
  • 南京高端网站开发襄阳做网站比较有实力的公司
  • 制作网站设计的总结wordpress 开通json
  • 建立企业网站的目的和意义通过网站做跳板
  • 青田县住房和城乡规划建设局网站关键词快速优化排名软件
  • 微信网站模版wordpress去category
  • 网站流量指向北京环球影城客流量统计从哪里看
  • 网站开发用例图物联网网站设计
  • 2018做分享网站深圳龙岗住房和建设局网站官网
  • 360网站拦截做活字格能开发企业网站吗
  • 天津商业网站建设网页设计师工作职责
  • wordpress全站采集有哪些网站平台
  • 宁夏企业网站建设杭州安卓软件开发
  • 网上有专业的做网站吗wordpress 内容不显示图片
  • 做网站的前端技术如何写网站开发需求文档
  • 钱宝网站怎么做任务平面设计初中毕业能学吗
  • 网站整站下载器 下载后台设计类专业要艺考吗
  • 培训机构网站设计WordPress 错误记录
  • 深圳网站建设认准乐云践新微信小程序官网是正品吗
  • 旅游网站规划设计方案安丘网站建设制作
  • 在线设计logo免费网站怒江州建设局网站企业备案网站
  • 网站开发签呈如何写房屋租赁网站开发背景
  • 怎么在百度建网站网页版word编辑器
  • 象客企业网站做优化排名wordpress comments
  • 贵州建设工程招投标协会网站网站开发使用的工具
  • 微信做购物网站怎么抽佣湖北省发布最新通告
  • 做产品包装的3d网站wordpress 启动慢
  • 课程网站建设毕业设计汉源网站建设
  • 精美网站欣赏外贸电商网站开发
  • 怎么做门户网站设计方案闵行12路