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

温江做网站哪家好百度企业号

温江做网站哪家好,百度企业号,网站制作模版,聚名网备案文章目录 前言一、什么是遮罩纹理?1. 遮罩纹理工作原理2. 遮罩纹理优缺点优点:缺点: 3. 遮罩纹理图 二、使用步骤1. Shader 属性定义2. SubShader 设置3. 渲染 Pass4. 定义结构体和顶点着色器函数5. 片元着色器函数 三、效果四、总结 前言 在…

文章目录

  • 前言
  • 一、什么是遮罩纹理?
    • 1. 遮罩纹理工作原理
    • 2. 遮罩纹理优缺点
        • 优点:
        • 缺点:
    • 3. 遮罩纹理图
  • 二、使用步骤
    • 1. Shader 属性定义
    • 2. SubShader 设置
    • 3. 渲染 Pass
    • 4. 定义结构体和顶点着色器函数
    • 5. 片元着色器函数
  • 三、效果
  • 四、总结


前言

在计算机图形学中,遮罩纹理是一种常用的技术,用于控制物体表面的某些属性或效果。通过使用遮罩纹理,可以实现诸如高光强度、反射率等在物体表面不同区域之间的差异化。在本篇博客中,我们将介绍如何使用Shader实现遮罩纹理效果。


一、什么是遮罩纹理?

1. 遮罩纹理工作原理

遮罩纹理的工作原理基于纹理映射的概念。在渲染过程中,每个像素的颜色都是由纹理采样和一系列计算操作得到的。而遮罩纹理作为额外的输入,会在片段着色器中被采样并应用到计算过程中。通常情况下,遮罩纹理的像素值会被映射到一个范围内,用来表示某种属性的强度或影响程度。通过调整这些范围,可以实现对物体表面不同区域的差异化控制。

2. 遮罩纹理优缺点

优点:

灵活性: 遮罩纹理可以根据需求来灵活控制物体表面的各种属性,从而实现更加细致和个性化的效果。
节省资源: 相比直接在Shader中硬编码属性的值,使用遮罩纹理可以节省内存和处理开销,尤其适用于需要频繁调整属性的情况。

缺点:

额外负担: 遮罩纹理的使用会增加额外的纹理采样和计算操作,可能会增加渲染成本,尤其是在移动设备等资源有限的环境中。
限制性: 遮罩纹理的效果受到纹理图像本身的限制,可能无法满足特定的需求,需要通过多张纹理叠加或其他技术来实现。

3. 遮罩纹理图

主图
在这里插入图片描述
法线图
在这里插入图片描述
遮罩图
在这里插入图片描述

二、使用步骤

1. Shader 属性定义

// 定义属性
Properties {//主纹理贴图_MainTex("Main Texture", 2 D) = "white" {}// 高光遮罩贴图_SpecularMask("Specular Mask", 2 D) = "white" {}// 高光遮罩贴图缩放系数_SpecularMaskScale("Specular Mask Scale", float) = 1// 漫反射颜色属性,默认白色_Diffuse("Diffuse Color", Color) = (1, 1, 1, 1)// 高光颜色属性,默认白色_Specular("Specular Color", Color) = (1, 1, 1, 1)// 高光反射系数_Gloss("Glossiness", Range(1, 256)) = 5
}

2. SubShader 设置

SubShader
{Tags{"RenderType" = "Opaque" // 渲染类型为不透明}LOD 100 // 细节级别
}

SubShader 定义了一组渲染设置,包括标签和细节级别。在这里,我们将渲染类型标签设置为 “Opaque”,表示物体是不透明的。

3. 渲染 Pass

Pass
{CGPROGRAM#pragma vertex vert#pragma fragment frag// 包含Unity CG库#include "UnityCG.cginc"// 包含光照CG库#include "Lighting.cginc"// 漫反射颜色属性fixed4 _Diffuse;// 高光颜色属性fixed4 _Specular;// 高光系数属性float _Gloss;// 主纹理贴图sampler2D _MainTex;float4 _MainTex_ST;// 高光遮罩贴图sampler2D _SpecularMask;float4 _SpecularMask_ST;float _SpecularMaskScale;
}

这里开始了渲染 Pass 部分。在这里,我们使用了 CGPROGRAM 指令来声明顶点着色器和片元着色器函数。#pragma vertex vert#pragma fragment frag 分别指定了顶点着色器函数和片元着色器函数的名称。

然后,我们包含了 UnityCG.cgincLighting.cginc,它们提供了许多有用的函数和宏,用于简化编写 Shader。

4. 定义结构体和顶点着色器函数

// 定义结构体:从顶点到片段的数据传递
struct v2f
{float4 vertex : SV_POSITION; // 顶点位置float4 uv : TEXCOORD0; // 纹理坐标float2 maskUv : TEXCOORD1; // 高光遮罩纹理坐标
};// 顶点着色器函数
v2f vert(appdata_tan v)
{v2f o;o.vertex = UnityObjectToClipPos(v.vertex); // 顶点位置变换到裁剪空间// 让外面的属性可以影响到uvo.uv = TRANSFORM_TEX(v.texcoord, _MainTex);o.maskUv = TRANSFORM_TEX(v.texcoord, _SpecularMask);return o;
}

顶点着色器函数负责将顶点的位置和纹理坐标传递给片元着色器函数。在这里,我们还将高光遮罩纹理的坐标传递给片元着色器函数。

5. 片元着色器函数

// 片元着色器函数
fixed4 frag(v2f i) : SV_Target
{// 纹理采样fixed3 albedo = tex2D(_MainTex, i.uv.xy).rgb;// 漫反射fixed3 diffuse = _LightColor0.rgb * albedo * _Diffuse.rgb;// 高光遮罩采样float specularMask = tex2D(_SpecularMask, i.maskUv).r * _SpecularMaskScale;// 高光反射fixed3 specular = _LightColor0.rgb * _Specular.rgb * pow(max(0, specularMask), _Gloss);// 最终颜色fixed3 color = diffuse + specular;return fixed4(color, 1); // 输出颜色
}

片段着色器函数负责计算最终的颜色输出。在这里,我们首先进行了主纹理的采样和漫反射计算,然后根据高光遮罩纹理计算高光反射,最终得到最终的颜色输出。

三、效果

在这里插入图片描述

四、总结

遮罩纹理是一种在计算机图形学中常用的技术,用于控制渲染效果的可见性或者强度。它通过在纹理图像中存储额外的信息,如透明度、反射率、金属度等,来影响渲染过程中像素的显示情况。遮罩纹理通常作为额外的贴图,与其他纹理一同用于表面渲染,以达到更加精细的效果。

遮罩纹理的工作原理是在渲染过程中,通过采样遮罩纹理来获取每个像素点的对应信息,然后根据这些信息来调整像素的显示效果。例如,在表面渲染过程中,可以使用遮罩纹理来控制哪些区域应该是透明的,哪些区域应该有不同的反射率或金属度,从而实现更加逼真的渲染效果。

遮罩纹理广泛应用于游戏开发、影视特效制作、虚拟现实等领域。在游戏中,遮罩纹理常用于控制角色的透明度、地形的纹理混合、特效的显示等;在影视特效制作中,遮罩纹理常用于控制特效的显示强度、实现场景的特定效果等;在虚拟现实领域,遮罩纹理可以用于增强虚拟场景的真实感和交互性。

http://www.zhongyajixie.com/news/24297.html

相关文章:

  • 南通动态网站建设常用的网络营销方法及效果
  • 品牌商城网站制作如何做市场推广方案
  • 做软件项目需不需要有网站首页关键词排名代发
  • 颍上建设局网站新闻博客软文自助推广
  • 做网站的天津学seo如何入门
  • 人力外包和劳务派遣哪个更好一些seo品牌
  • 网络架构分析seo超级外链发布
  • 政府网站集约化建设问题网络营销策划书1000字
  • 长春市做网站的公司视频网站建设
  • 烟台 做网站软文推广发稿
  • 做网站为什么要用固定ip广告优化师发展前景
  • 陕西宝鸡网站建设贴吧推广
  • 做跟单员的话应该关注哪些网站chrome官网下载
  • 云南网站建设公司哪家好网页模板设计
  • 网站设计方案策划搜索引擎优化seo信息
  • 哈尔滨网站开发企业网盘搜索引擎入口
  • 茂名做网站广东seo网络培训
  • 在自己的电脑做网站空间关键洞察力
  • linux做网站站长工具查询域名信息
  • 什么网站可以兼职做鸭子河南疫情最新情况
  • 建网站需要什么服务器seo查询优化
  • 新网站排名优化昆明seocn整站优化
  • 工信部清理未备案网站清远市发布
  • 乐从网站建设公司引擎优化seo怎么做
  • 新手建站广告联盟赚钱免费做网站怎么做网站
  • 西安做网站选哪家好百度seo
  • 男人互做网站什么是关键词
  • cpa没有网站怎么做唐山seo
  • 软件开发工程师任职要求seo自然搜索优化排名
  • 淘宝客的api怎么做网站百度网盘首页