qnetworkreply 获取状态_谈谈Unity Shader中的采样器状态和(Texture Filtering)纹理滤波方式

053a033f-4818-eb11-8da9-e4434bdf6706.png

参考文章:

使用采样器状态 - Unity 手册​docs.unity3d.comhttps://blog.csdn.net/chenjinxian_3D/article/details/51816918​blog.csdn.net

根据Unity的参考文档,Unity Shader使用采样器状态有三种方式,分别是:耦合的纹理和采样器;单独的纹理和采样器;内联纹理采样器状态。

耦合的纹理和采样器

第一种采样器状态来源于纹理设置,本质上纹理跟采样器会耦合在一起,使用DX9的语法风格,它的默认行为如下:

sampler2D _MainTex;
// ...
half4 color = tex2D(_MainTex, uv);

使用 HLSL 关键字 sampler2D、sampler3D 和 samplerCUBE 可声明纹理和采样器。在较旧的图形 API (OpenGL ES) 中,这是唯一受支持的方式。

单独的纹理和采样器

很多图形 API 和 GPU 都允许使用的采样器数量少于纹理,而耦合的纹理+采样器语法可能不允许编写更复杂的着色器。例如,Direct3D 11 允许在单个着色器中最多使用 128 个纹理,但最多仅允许使用 16 个采样器。

Unity 允许使用 DX11 风格的 HLSL 语法来声明纹理和采样器,但需要通过一个特殊的命名约定来让它们匹配:名称为“sampler”+TextureName 格式的采样器将从该纹理中获取采样状态。

以上部分中的着色器代码片段可以用 DX11 风格的 HLSL 语法重写,并且也会执行相同的操作:

Texture2D _MainTex;
SamplerState sampler_MainTex; //"sampler"+"_MainTex"
// ...
half4 color = _MainTex.Sample(sampler_MainTex, uv);

但是请注意,DX11 风格的 HLSL 语法在某些较旧的平台(例如,OpenGL ES 2.0)上无效,不过可以通过指定#pragma target 3.5以避免较旧的平台使用着色器。

内联采样器状态

除了能识别名为“sampler”+TextureName 的 HLSL SamplerState 对象,Unity 还能识别采样器名称中的某些其他模式。这对于直接在着色器中声明简单硬编码采样状态很有用。例如:

Texture2D _MainTex;
SamplerState my_point_clamp_sampler;
// ...
half4 color = _MainTex.Sample(my_point_clamp_sampler, uv);

名称 “my_point_clamp_sampler”将被识别为应该使用点(距离最近)纹理过滤和钳制纹理包裹模式的采样器。

采样器名称被识别为“内联”采样器状态(全都不区分大小写):

*“Point”、“Linear”或“Trilinear”(必需)设置纹理过滤模式。

*“Clamp”、“Repeat”、“Mirror”或“MirrorOnce”(必需)设置纹理包裹模式。

下面罗列参见的内联采样器状态:

sampler_tex1 // 使用unity的texture setting的sampler
sampler_linear_clampu // filter:linear, wrap: clamp u
sampler_linear_clampv // filter:linear, wrap: clamp v
sampler_point_clamp // filter:point, wrap: clamp u & v
sampler_linear_clamp // filter:linear, wrap: clamp u & v
sampler_trilinear_clamp // filter:trilinear, wrap: clamp u & v
sampler_trilinear_mirroru // filter:trilinear, wrap: mirror u
sampler_trilinear_mirrorv // filter:trilinear, wrap: mirror v
sampler_trilinear_mirror // filter:trilinear, wrap: mirror v & v
sampler_trilinear_mirroronceu // filter:trilinear, wrap: mirror once u, 这个亲测法线mirror v也生成,不知道是否解析的BUG
sampler_trilinear_mirroroncev // filter:trilinear, wrap: mirror once v, 这个亲测法线mirror u也生成,不知道是否解析的BUG
sampler_trilinear_mirroroncev_mirroru // filter:trilinear, wrap: mirror once v & mirror u, 亲测两个一起设置,就没有BUG
sampler_trilinear_mirroru_repeat // filter:trilinear, wrap: mirror u & repeat v

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android systemui机制,在AS中开发SystemUI(4):设置项目运行机制

1、期望项目如何运行?普通 App 在 run 之后,会编译出 APK,然后 AS 会自动调用 install 命令进行安装,完成安装后会启动 App 的 Launcher Activity。这些 AS 已经帮你自动完成了。如果你的 App 不像 SystemUI 或 Settings 这样贴近…

手机屏幕厂家信息软件_警惕假个税手机软件蹭热点,千万别被窃取私人信息

新个税法从1月初开始实施。2018年12月31日,国家税务总局推出“个人所得税”APP,方便纳税人线上填报资料进行专项抵扣。几天来,这款APP的下载量和注册量大幅增长。随之而来的是,很多商业公司制作的各类“个税”APP也成为热门。这其…

paramiko执行nohup_记一次使用django+paramiko远程操作时报错无法返回问题

前提:以前能力不足,只能用linux命令行形式写了个线上发布工具。采用的是paramiko来调用远程指令。最近自学了点前端的东西,打算用django写一个web版的发布工具,在做正常异步远程操作时候发现都没有什么问题。但是当调用我们游戏的…

图片动画效果html5,8个实用炫酷的HTML5图片动画应用

原标题:8个实用炫酷的HTML5图片动画应用近期我们发布了不少关于HTML5和jQuery的图片动画应用,很多都比较实用,也有一些效果非常炫酷,比如一些HTML5 3D图片动画特效。本文精选了8个实用而且炫酷的HTML5图片动画应用,希望…

ado execute open区别_二极管IN4148和IN4007的应用区别

二极管IN4148和IN4007的定义1N4148 是开关二极管,耐压100V,电流150mA,反向恢复速度快。1N4007 是普通整流二极管,耐压1000V,电流1A ,反向恢复时间在ms级别,只能用于低频电路中。二极管IN4148和I…

html列目录带图片,根据目录下的图片的个数,往html文件填充对应数量的img标签,请问有没有实现这种需求的工具?...

这直接JS就能实现了,实现方式分为【预加载】和【延迟加载】下面是个预加载的例子:首先来一个空的HTML页面和最基本的CSS初始化样式Document* {margin: 0;padding: 0;}.imgwrap li {list-style-type: none;}img {vertical-align: top;}然后我们要往标签里…

input maxlength 汉字_汉字原来这么好玩 第A15版:亲子悦读 20201104期 都市女报

山东师范大学附属小学三年级二班马荃 指导教师:范新瑞《汉字好好玩》是我非常喜欢的一套书,它的作者是台湾女作家张宏如,她毕业于台湾大学历史系,是台湾以哲学的角度研究汉字的第一人。这套书一共有5本。第一本有汉字脸谱、日月星…

将类似html数据打印机,机器人和3D打印机的架构有哪些相似之处

工业4.0参考架构模型(RAMI 4.0)以一个三维模型展示了制造业涉及的所有关键要素,在这个模型的等级层次维度(右侧水平轴)描述了一个7层的自动化层级,如图1所示,从下到上依次是:产品,现场设备,控制设备&#x…

access inner join 数据类型不匹配_用Access开发生产管理系统

刚接触Excel,自以为已经对数据的处理掌握到炉火纯青的地步了,殊不知,山外有山人外有人,自从学习了Access,才发现,原来,数据的处理还真不是我们日常工作中所遇到的那么简单。下面,我就…

html文件打开是搜索导航,GitHub - bituplink/OneHtmlNav: 单文件html的网络导航页面,简约并不简单...

OneHtmlNav这是基于小呆导航的超级精简版本,之所以投入了不少精力折腾这个导航,是之前自己网站的导航有点功能不足,看到了小呆导航有我需要的功能,但是确是基于CMS的,有点复杂我又不想再搭建一个平台,所以就…

matlab中结束脚本运行_MATLAB脱单指南

之前发过一篇文章,是关于2019年的小目标,“打浦桥锦鲤”。有留言说,发paper的……有留言说,学习python的……居然还有好多人留言说,要!脱!单!公众号的关注者,女生比例只有…

安卓手机可以改鸿蒙吗,华为鸿蒙2.0可以替代安卓吗,华为鸿蒙2.0优势在哪

在华为开发者大会上,华为消费业务CEO 余承东,正式发布鸿蒙OS2.0,并宣布华为鸿蒙OS将全面启用全场景生态,并将于2020年12月发布手机版。余承东还表示,明年,华为的智能手机将全面升级,以支持鸿蒙操…

怎样把电脑恢复出厂设置_数据蛙:苹果恢复出厂设置,彻底释放手机内存

点击蓝字关注我们苹果手机有时候用久了出现卡顿的现象,这个时候我们可以通过苹果恢复出厂设置,以让手机彻底释放内存。恢复出厂设置在哪里?恢复出厂设置后会怎样?如果您还不知道的话,在本文中数据蛙就告诉您答案&#…

html图片怎么设置行高,html行高怎么设置

html设置行高的方法:首先创建一个HTML示例文件;然后在body中通过p标签创建几行文本内容;最后通过给文本添加“line-height:20px;”样式来设置行高即可。本文操作环境:windows7系统、HTML5&&CSS3版,DELL G3电脑…

怎么从某个div跳转到另一个_另一个伊甸伊丝卡怎么样 伊丝卡使用攻略_

另一个伊甸中,伊丝卡是游戏中的四星角色之一,那么伊丝卡怎么样,下面一起来看看伊丝卡使用攻略吧。 【人物攻略】伊丝卡 LV1 - 【团队合作很重要呢】 给予敌方全体力量下降10%智慧下降10%(1回合) LV2 - 【让我来稳定战局】 给予敌方全体力量下…

html如何添加文档,如何在HTML中添加行

如何在HTML中添加行在HTML中,我们可以使用以下不同方式轻松地在文档中添加横线:使用HTML标签使用内部CSS使用HTML如果要使用Html标签在Html文档中添加水平线,则必须遵循以下步骤。使用这些步骤,我们可以轻松地添加以下行&#xff…

ffmpeg-win32-v3.2.4 下载_iTOP-4412开发板android4.4代码下载和编译

基于迅为iTOP4412开发板Android 源码可以从光盘,网盘获取稳定版本,也可以从 GitHub 下载我们的开发版本。GitHub 仅提供源码下载,不提供二进制下载,二进制文件存放在光盘和网盘中。6.3.2.1 repo 下载android 代码管理不同于 uboot…

九宫怎么排列和使用_什么是九宫飞星,九宫飞星在生活中的应用

什么是九宫飞星?如何看九宫飞星?如果您能配合老黄历的每日忌宜、时辰忌宜、时辰吉凶、五行旺衰、今日卦象、三煞七煞等资料综合应用,那么您就可以随时随地趋吉避凶、心想事成了。九星即为一白、二黑、三碧、四绿、五黄、六白、七赤、八白及九…

qt html导pdf 页眉,如何使用wkhtmltopdf unpatched qt在每个页面上添加页眉和页脚?

我能弄清楚,我工作的解决方案。它非常混乱,但它的工作原理控制器public function printPDF(Request $request){$parts Parts::all();$date $this->getTime();// divide by 36 because I can fit 36 items on each page$totalPages ceil(count($par…

sendencpac文件能删吗_“手机刷短视频”躺赚?安装自动阅读文件,开机就能挣钱?靠谱吗?...

原标题:“手机刷短视频”躺赚?安装自动阅读文件,开机就能挣钱?靠谱吗?我开始一个月赚三五十万的时候,悟出了一个道理,能做大生意千万别做小生意,能做小生意别打工,小财考…