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

淘宝可以到哪些网站做推广成交型网站倡导公司

淘宝可以到哪些网站做推广,成交型网站倡导公司,wordpress前台特别慢,重庆铜梁网站建设公司文章目录 前言一、ShaderToy网站二、ShaderToy基本框架1、我们可以在ShaderToy网站中,这样看用到的GLSL文档2、void mainImage 是我们的程序入口,类似于片断着色器3、fragColor作为输出变量,为屏幕每一像素的颜色,alpha一般赋值为…

文章目录

  • 前言
  • 一、ShaderToy网站
  • 二、ShaderToy基本框架
    • 1、我们可以在ShaderToy网站中,这样看用到的GLSL文档
    • 2、void mainImage 是我们的程序入口,类似于片断着色器
    • 3、fragColor作为输出变量,为屏幕每一像素的颜色,alpha一般赋值为 1
    • 4、fragCoord作为输入变量
  • 三、怎么把ShaderToy的Shader转化为Unity中的Shader
    • 1、使用到的代码基础模板
    • 2、逐条把ShaderToy代码转化到Unity中Shader
  • 三、最终效果


前言

我们在之前的文章中,学习了很多的Shadar知识。但是,我们没有自己实现一些奇特的效果。而ShaderToy是一个国外的网站,上面刚好有很多Shader大神实现的效果,提供给我们借鉴。我们在这篇文章中了解一下ShaderToy。


一、ShaderToy网站

  • ShaderToy

我们可以借鉴这个网站中的 视觉灵感 和 算法 来提升自我

在这里插入图片描述

  • 我们来看看iq大神的作品:

请添加图片描述

请添加图片描述

在这里插入图片描述

ShaderToy本质使用的是GLSL,我们可以查看OpenGL的官方文档来学习


二、ShaderToy基本框架

1、我们可以在ShaderToy网站中,这样看用到的GLSL文档

在这里插入图片描述

2、void mainImage 是我们的程序入口,类似于片断着色器

在这里插入图片描述

3、fragColor作为输出变量,为屏幕每一像素的颜色,alpha一般赋值为 1

在这里插入图片描述

在这里插入图片描述

4、fragCoord作为输入变量


三、怎么把ShaderToy的Shader转化为Unity中的Shader

因为ShaderToy的操作是类似于,直接对屏幕上的图像做处理并且覆盖。
处理起来和Unity中的后处理很像,所以我们可以直接使用后处理脚本框架来实现

  • Unity中后处理简介

  • Unity中后处理 脚本 和 Shader

1、使用到的代码基础模板

因为ShaderToy是直接对屏幕像素进行覆盖修改。
所以,我们的功能主要在Shader的片元着色器中完成,并且不需要外部传入属性

  • C#:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;//后处理脚本
[ExecuteInEditMode]
public class P2_8 : MonoBehaviour
{public Shader PostProcessingShader;private Material mat;public Material Mat{get{if (PostProcessingShader == null){Debug.LogError("没有赋予Shader");return null;}if (!PostProcessingShader.isSupported){Debug.LogError("当前Shader不支持");return null;}//如果材质没有创建,则根据Shader创建材质,并给成员变量赋值存储if (mat == null){Material _newMaterial = new Material(PostProcessingShader);_newMaterial.hideFlags = HideFlags.HideAndDontSave;mat = _newMaterial;return _newMaterial;}return mat;}}private void OnRenderImage(RenderTexture source, RenderTexture destination){Graphics.Blit(source,destination,Mat);}
}
  • Shader:
Shader "MyShader/P2_8"
{SubShader{// No culling or depthCull Off ZWrite Off ZTest AlwaysPass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;};v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = v.uv;return o;}fixed4 frag (v2f i) : SV_Target{return 1;}ENDCG}}
}

2、逐条把ShaderToy代码转化到Unity中Shader

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{// Normalized pixel coordinates (from 0 to 1)vec2 uv = fragCoord/iResolution.xy;// Time varying pixel colorvec3 col = 0.5 + 0.5*cos(iTime+uv.xyx+vec3(0,2,4));// Output to screenfragColor = vec4(col,1.0);
}
  • i 开头的变量都是着色器的内部输入变量

  • fragCoord:输入图像的像素 所在屏幕中的位置 x(宽)、y(高)

  • iResolution.xy : x代表屏幕宽度,y代表屏幕高度

  • fragCoord/iResolution.xy :得到一个归一化后(0,1)的值
    等效: i.uv

  • iTime:是一个一维变量,单位为秒
    等效:_Time.y

  • fragColor:输出变量
    等效:return col

转化后的片元着色器:

fixed4 frag (v2f i) : SV_Target
{//vec2 uv = fragCoord/iResolution.xy;//i.uv//vec3 col = 0.5 + 0.5*cos(iTime+uv.xyx+vec3(0,2,4));float3 col = 0.5 + 0.5*cos(_Time.y + i.uv.xyx + fixed3(0,2,4));//fragColor = vec4(col,1.0);return fixed4(col,1);
}

三、最终效果

请添加图片描述

http://www.yayakq.cn/news/543264/

相关文章:

  • 山东定制版网站建设公司开一个素材设计网站怎么做
  • 甘肃网站建设方案优化专业制作ppt
  • 网站模板 酒类wordpress外链页面
  • 国内外网站建设2017天津平台网站建设公司
  • 中山网站制作策划用pdf怎么做电子书下载网站
  • 网站登录注册怎么做新手学做网站 pdf下载
  • 红酒购物网站源码产品代理网
  • 深圳网站建设网站制作网站设计三网合一的模板网站
  • 网站管理有哪些Wordpress现有数据库表
  • 怎么让别人看到自己做的网站网页制作素材 期末考试
  • 做一个营销型网站需要多少钱网站的意思
  • 网站建设方案产业网页设计基础心得体会
  • 网站后台培训学校杭州网站开发工程师
  • 网站怎么做seo、惠济郑州网站建设
  • 作图网站哈尔滨信息工程学院地址
  • 哪个网站做h5最好html设计个人网页
  • 网站建设需要什么工具加强人社局网站建设
  • 网站向哪里备案深圳龙岗现在算什么风险地区
  • 营销型网站策划公司广州市公司网站建设报价
  • 贺州网络推广网站优化的常见问题
  • 自己的网站可以做淘客吗备案ip 查询网站查询网站
  • 网站支付怎么做虚拟币支付淘宝客 网站建设
  • 郑州网站制作公司名单哪个网站可以学做咸菜
  • 个人网站 备案 类型淮安市建设局网站首页
  • 营销网站制作方案天辰建设网站公司
  • win7 iis配置网站 视频教程wordpress菜单锚点定位
  • 做seo网站诊断书怎么做广州 骏域网站建设 陶瓷
  • 小组用jsp做的网站论文网站建设制作设计公司
  • wordpress免费网页建站移动端网站怎么做外链
  • 网站监控怎么做地方房地产网站seo实战案例分享