首页 > 其他分享 >URP - 最简单的不受光(unlit)shader

URP - 最简单的不受光(unlit)shader

时间:2024-12-19 23:20:16浏览次数:3  
标签:MainTex uv shader unlit URP float4 顶点 着色器

 

Shader "My/URP_Unlit" {
    Properties {
        _MainTex ("Texture", 2D) = "white" {}
    }

    SubShader {
        Tags {
            "RenderPipeline" = "UniversalPipeline" //这是用于URP的shader
            "RenderType" = "Opaque"
        }

        HLSLINCLUDE
        
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"

        //所有属性都要缓存到CBuffer中, 这样才能兼容SRP Batcher
        CBUFFER_START(UnityPerMaterial)
            float4 _MainTex_ST;
        CBUFFER_END

        ENDHLSL

        Pass {
            Tags { "LightMode" = "UniversalForward" } //渲染pass

            HLSLPROGRAM

            #pragma vertex vert //指定顶点着色器函数
            #pragma fragment frag //指定片元着色器函数

            struct Attributes { //程序传入顶点着色器的数据
                float4 vertex : POSITION; //用模型空间顶点坐标填充该变量
                float2 uv : TEXCOORD0; //用模型的第一套纹理坐标(uv)填充该变量
            };

            struct Varings { //顶点着色器传入片元着色器的数据
                float2 uv : TEXCOORD0;
                float4 vertex : SV_POSITION; //该变量存放了裁剪空间的顶点坐标
            };

            //变量
            TEXTURE2D(_MainTex);
            SAMPLER(sampler_MainTex);

            Varings vert(Attributes v) { //顶点着色器
                Varings o;
                VertexPositionInputs positionInputs = GetVertexPositionInputs(v.vertex.xyz); //顶点坐标从模型空间转裁剪空间
                o.vertex = positionInputs.positionCS;

                o.uv = TRANSFORM_TEX(v.uv, _MainTex); //应用贴图的tiling和offset
                return o;
            }

            float4 frag(Varings i) : SV_Target { //片元着色器(逐像素)
                float4 c = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv); //根据纹理坐标获取像素颜色
                return c;
            }
            ENDHLSL
        }
    }
}

 

参考

【Unity Shader】在URP里写Shader(二):从一个Unlit Shader开始 - 知乎

URP初试 - 简书

 

标签:MainTex,uv,shader,unlit,URP,float4,顶点,着色器
From: https://www.cnblogs.com/sailJs/p/18604954

相关文章

  • shader 线性代数 矩阵
               ......
  • Burp炮台——登录界面验证码识别爆破
    前言        BurpSuite是一个用于攻击Web应用程序的集成平台,它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。具体的安装过程和基本的模块用法需要的师傅们可以去我之前的博客学习。        BurpSuite的暴力破解原理主要基于自......
  • AlmaLinux 10.0 Beta “Purple Lion” - RHEL 二进制兼容免费发行版
    AlmaLinux10.0Beta“PurpleLion”-RHEL二进制兼容免费发行版由社区提供的免费Linux操作系统,RHEL二进制兼容发行版请访问原文链接:https://sysin.org/blog/almalinux-10/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org由社区提供的免费Linux操作系统一......
  • burpsuite,Decoder comparer logger模块使用详解
    公众号:泷羽Sec-尘宇安全声明!学习视频来自B站up主泷羽sec有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击......
  • Burp Suite(2)2024.1.1Burp Suite专业版激活(保姆级教程)
    声明:    本文所使用的专业版BP在我的博客资源里面,需要的师傅可以自行下载。    学习视频来自B站up主泷羽sec有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽se......
  • Burp suite 3 (泷羽sec)
    声明学习视频来自B站UP主泷羽sec,如涉及侵泷羽sec权马上删除文章。笔记只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负这节课旨在扩大自己在网络安全方面的知识面,了解网络安全领域的见闻,了解学习哪些知识对于我们渗透......
  • BurpSuite(1),功能介绍
    公众号:泷羽Sec-尘宇安全声明!学习视频来自B站up主泷羽sec有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击......
  • burp(2)利用java安装burpsuite
    BurpSuite安装burpsuite2024.10专业版,已经内置java环境,可以直接使用,支持WindowslinuxmacOS!!!内置jre环境,无需安装java即可使用!!!bp2024.10下载地址:https://pan.baidu.com/s/1E2aVKnnfTWl2SL-ztR_JtQ?pwd=m5pv激活1.首先点击Start.bat2.进入,点击Copy3.点击CN_Burp......
  • 一键学懂BurpSuite(7)
    声明!学习视频来自B站up主泷羽sec有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷......
  • Burp Suite 1 功能介绍 (泷羽sec)
    声明学习视频来自B站UP主泷羽sec,如涉及侵泷羽sec权马上删除文章。笔记只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负这节课旨在扩大自己在网络安全方面的知识面,了解网络安全领域的见闻,了解学习哪些知识对于我们渗透......