Unity中Shader纹理的多级渐远Mipmap

文章目录

  • 前言
  • 一、什么是Mipmap
  • 二、Mipmap能带来什么好处
    • 1、增加缓存命中率,减少像素抖动感
    • 2、可配合质量设置来分级加载,减少不同配置下的内存
  • 二、我们在Shader中实现一下该效果
    • 1、我们先布置一个简单的棋盘格,用于测试纹理的多级效果
    • 2、我们在Shader的属性面板定义一个范围值
    • 3、使用前先声明一下_Mipmap
    • 4、使用多级采样的函数来进行纹理采样
    • 5、最终效果


前言

Unity中Shader纹理的多级渐远Mipmap


一、什么是Mipmap

Mipmap可以理解为纹理的LOD,即纹理的质量分级

模型的LOD是:高模、中模、低模
Shader的LOD:可以自己定义高配、中配、低配
纹理的LOD:纹理分级Mipmap,即 512x512(可以更高)、256x256(上一级 / 2)、…… 、1x1

  • Unity中Shader的ShaderLOD

在这里插入图片描述

开启Mipmap的缺点:会多占用30%的显存


二、Mipmap能带来什么好处

1、增加缓存命中率,减少像素抖动感

  • 我们先在纹理的设置里,关闭多级渐远功能,看一下抖动
    在这里插入图片描述

请添加图片描述

开启后,抖动就少了
请添加图片描述

2、可配合质量设置来分级加载,减少不同配置下的内存


二、我们在Shader中实现一下该效果

测试目标:使用一个滑动条来控制纹理的渐变等级

1、我们先布置一个简单的棋盘格,用于测试纹理的多级效果

在这里插入图片描述

2、我们在Shader的属性面板定义一个范围值

[IntRange]_Mipmap (“Mipmap”,Range(0,10)) = 0

[IntRange]用来变更的值是整数
Range的范围是自己指定的:一般 最大范围在(0,12) , 因为最大贴图是 4096 x 4096

3、使用前先声明一下_Mipmap

half _Mipmap;

4、使用多级采样的函数来进行纹理采样

tex2Dlod(samper2D tex,float4 s)
二维纹理采样,s.w表示采样的是mipmap的几级,仅在ES3.0以上支持.

因为需要传入一个四维变量,但是我们的 uv 是2维的,所以 s.z 我们置零处理

fixed4 frag (v2f i) : SV_Target
 {
 	float4 uvMipmap = fixed4(i.uv,0,_Mipmap);
	fixed4 col = tex2Dlod(_MainTex, uvMipmap);
	return col;
 }

5、最终效果

记着开启棋盘格的多级渐远选项
请添加图片描述

最终代码:

//纹理的多级渐远 Mipmap
Shader "MyShader/P2_1_2"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
        [IntRange]_Mipmap ("Mipmap",Range(0,10)) = 0
    }
    SubShader
    {
        Tags { "RenderType"="Opaque" }
        LOD 100

        Pass
        {
            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;
            };

            sampler2D _MainTex;
            float4 _MainTex_ST;
            half _Mipmap;
            v2f vert (appdata v)
            {
                v2f o;
                o.vertex = UnityObjectToClipPos(v.vertex);
                o.uv = TRANSFORM_TEX(v.uv, _MainTex);
                return o;
            }

            fixed4 frag (v2f i) : SV_Target
            {
                float4 uvMipmap = fixed4(i.uv,0,_Mipmap);
                fixed4 col = tex2Dlod(_MainTex, uvMipmap);
                return col;
            }
            ENDCG
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/157312.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3 + ts项目(无vite)报错记录

记录项目创建后遇到的报错 1.类型“Window & typeof globalThis”上不存在属性“_CONFIG”。ts(2339) 问题描述: 使用全局 window 上自定义的属性,TypeScript 会报属性不存在 解决:需要将自定义变量扩展到全局 window 上&#xff0c…

MetaCyc、KEGG傻傻分不清?

今天小编从以下三点给大家唠一唠:MetaCyc数据库介绍、与KEGG比较、使用方法。 一、MetaCyc数据库介绍 MetaCyc全称Metabolic Pathways From all Domains of Life,属于BioCyc子数据库,BioCyc是一个专注于代谢通路的高质量数据库。MetaCyc是一个…

完整版指南:企业网络中的VXLAN-BGP-EVPN

随着互联网的发展,数据中心的数量和规模呈爆炸性增长趋势。数据中心业务不断增加,用户需求不断提高。随之而来的问题是数据中心的功能变得越来越复杂,运维管理变得越来越困难。VXLAN-BGP-EVPN的出现为企业网络带来了无限的可能性。 什么是VX…

跟李沐学AI-深度学习课程00-03【预告、课程安排、深度学习介绍、安装】

目录 00 预告 01 课程安排 02 深度学习介绍 03 安装 本地安装 04 数据操作数据预处理 数据操作 数据类型 创建数组 访问元素 数据操作实现 入门 运算符 广播机制 索引和切片 节省内存 转换为其他Python对象 数据预处理实现 读取数据集 处理缺失值 转换为张…

vue下载xlsx表格

vue下载xlsx表格 // 导入依赖库 import XLSX from xlsx; import FileSaver from file-saver; methods:{btn(){let date new Date()let Y date.getFullYear() -let M (date.getMonth() 1 < 10 ? 0 (date.getMonth() 1) : date.getMonth() 1) -let D (date.getDat…

基于springboot实现私人健身与教练预约管理系统项目【项目源码+论文说明】

基于springboot实现私人健身与教练预约管理系统演示 摘要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应…

几款开源视频编辑软件的比较

软件特点OpenShot跨平台、免费开源、易于上手、功能丰富Shotcut跨平台、免费开源、支持多种格式、性能强大kdenlive跨平台、开源、功能强大、支持多种滤镜Avidemux跨平台、免费开源、小巧简洁、功能实用 OpenShot 是一款免费开源的视频编辑软件&#xff0c;支持 Windows、macO…

Axure RP 9下载教程,轻松入手!

Axurerp9是产品经理必备的专业快速原型设计工具。Axurerp9可以快速高效地创建产品原型图&#xff0c;绘制APP和网页的原型图、框架图、结构图等。但Axurerp9下载在用户体验上的缺陷也很明显&#xff0c;其设置交互方式相对繁琐&#xff0c;可视化不足、条件判断、变量、中继器等…

操作系统 day11(进程调度时机、切换、调度方式)

进程调度的时机 这里的主动放弃指的是—内中断&#xff08;异常、例外&#xff09;&#xff0c;中断信号来自CPU内部。而被动放弃指的是—外中断&#xff08;中断&#xff09;&#xff0c;中断信号来自CPU外部 如果该进程还没退出临界区&#xff08;还没解锁&#xff09;就进行…

【2023高交会成绩单出炉】Gooxi斩获“AIC年度标杆应用奖”大奖

第25届中国国际高新技术成果交易会&#xff08;简称“高交会”&#xff09;在深圳盛大开幕&#xff0c;作为高交会人工智能板块的重点活动之一&#xff0c;11.16日的第八届人工智能领袖大会的AIC年度奖项评选环节备受关注&#xff0c;Gooxi从多家入围企业中脱颖而出&#xff0c…

Linux输入设备应用编程(键盘,按键)

目录 一 输入设备编程介绍 1.1 什么是输入设备呢&#xff1f; 1.2 什么是输入设备的应用编程&#xff1f; 1.3 input子系统 1.4 数据读取流程 1.5 应用程序如何解析数据 1.5.1 按键类事件&#xff1a; 1.5.2 相对位移事件 1.5.3 绝对位移事件 二 读取 struct input_e…

MyBatis整合Spring Boot扫描Mapper相关配置

MyBatis是一款 Java 平台的优秀数据库映射框架&#xff0c;支持 XML 定义或注解&#xff0c;免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 针对 Spring 提供 Mapper 扫描注解&#xff1a; 集成 Spring Boot 时&#xff0c;可以通过 MapperScan 注解&#xff0…

【论文阅读】2736. 最大和查询-2023.11.17

题目&#xff1a; 2736. 最大和查询 给你两个长度为 n 、下标从 0 开始的整数数组 nums1 和 nums2 &#xff0c;另给你一个下标从 1 开始的二维数组 queries &#xff0c;其中 queries[i] [xi, yi] 。 对于第 i 个查询&#xff0c;在所有满足 nums1[j] > xi 且 nums2[j]…

大数据-之LibrA数据库系统告警处理(ALM-12050 网络写吞吐率超过阈值)

告警解释 系统每30秒周期性检测网络写吞吐率&#xff0c;并把实际吞吐率和阈值&#xff08;系统默认阈值80%&#xff09;进行比较&#xff0c;当检测到网络写吞吐率连续多次&#xff08;默认值为5&#xff09;超过阈值时产生该告警。 用户可通过“系统设置 > 阈值配置 >…

2023年09月 Scratch(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 下列哪项内容是不可以修改的?( ) A:角色名称 B:造型名称 C:舞台名称 D:背景名称 答案:C 第2题 要给“古诗朗诵”作品录制配音,可以使用下列哪个按钮?( ) A: B: C:…

图像分类系列(二) VGGNet学习详细记录

经典神经网络论文超详细解读&#xff08;二&#xff09;——VGGNet学习笔记&#xff08;翻译&#xff0b;精读&#xff09; 前言 上一篇我们介绍了经典神经网络的开山力作——AlexNet&#xff1a;经典神经网络论文超详细解读&#xff08;一&#xff09;——AlexNet学习笔记&a…

storage和正则表达式

一、Storage 1.认识Storage WebStorage主要提供了一种机制&#xff0c;可以让浏览器提供一种比cookie更直观的key、value存储方式&#xff1a; localStorage&#xff1a;本地存储&#xff0c;提供的是一种永久性的存储方法&#xff0c;在关闭掉网页重新打开时&#xff0c;存…

Figma快速指南:3点核心技巧助你迅速掌握!

Figma确立了在线设计工具的形式&#xff0c;在国际上具有不可低估的影响力。Figma颠覆了传统的设计模式&#xff0c;不仅是为了设计师&#xff0c;也是为了设计本身。从产品经理到研究人员&#xff0c;从开发人员到营销人员&#xff0c;设计过程需要很多团队角色的参与&#xf…

鸿蒙/Android上最大的毒瘤:快应用服务

鸿蒙/Android上最大的毒瘤&#xff1a;快应用服务 2023.3.22版权声明&#xff1a;本文为博主chszs的原创文章&#xff0c;未经博主允许不得转载。 1、什么是快应用&#xff1f; “快应用” 是安卓厂&#xff08;华&#xff0c;米&#xff0c;O、V、魅族、努、联、加&#xf…