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

news/2024/12/19 23:20:51/文章来源:https://www.cnblogs.com/sailJs/p/18604954

 

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_ENDENDHLSLPass {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和offsetreturn 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初试 - 简书

 

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

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

相关文章

opencascade配置笔记

下载occ 网址参考网址 c++引用lib库 参考网址 vs使用qt插件 参考网址 参考网址

大规模可观测性揭秘:Netflix 如何通过标题玩转全球内容发布?

1 导言 在 Netflix,我们每月管理着上千个全球内容发布项目,每年的投资额高达数十亿美元。确保每部影片在我们平台上的成功和可发现性是我们的首要任务,因为我们的目标是将每个故事与合适的受众联系起来,让我们的会员满意。为了实现这一目标,我们致力于建立强大的系统,提…

Netty的高性能之道

一、概述 1.1 惊人的性能数据 最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。 事实上,我对这个数据…

javaweb实战02

javaweb实战02 本次开始配置目录和包以及构建数据库然后就可以按照业务逻辑书写页面,页面包含登录和注册两个功能 首先开发登录页面 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page isELIgnored="false"…

1大模型应用开发基础

一、目标 懂得AI,懂得编程、懂得业务的超级个体,将会是AGI时代最重要的人。 AI使得一个人能够干多个人的活 想要做到“AI全栈”需要涉及的知识面是非常广泛的,单单学习一门课程是不能全部涉及的 我们首先需要做的是入门,后面走的深入,走的远只能靠自己,依靠社群,和AI的进…

grpc安装(windows or Linux)

grpc安装(windows or Linux) 下载源码 这里使用 gRPC 最新版本源代码进行编译和安装,版本号为 v1.50.0, 以下为安装步骤: 一、使用Git克隆gRPC到本地 在终端中打开某一文件夹,建议新建一个单独存放 gRPC 源代码的文件夹,输入: git clone -b v1.50.0 https://github.com/…

Golang内存模型与源码解析

0、引言 本篇笔记用于记录作者在学习Golang的GC模型之前,对Golang内存模型的学习。目前使用的Go版本为1.22.4 1、Golang内存管理宏观结构 假设我们每次向内存池申请空间时,都需要频繁地向操作系统发出请求,这不仅会增加内存分配的时间,还可能引入竞争和锁的开销,从而导致性…

图床试验

本文来自博客园,作者:Glowingfire,转载请注明原文链接:https://www.cnblogs.com/Glowingfire/p/18617999

一文搞定理解RPC

前言RPC概念RPC协议RPC组成RPC协议RPC框架RPC的优点RPC与HTTP的区别 前言 RPC的概念相信很多软件从业人员或多或少都接触过,从开发到测试都可能需要跟它打交道。 但是对于为什么要用RPC?RPC的优点是什么?RPC是什么原理?它跟HTTP有什么不同?相信并不是每个人都比较熟悉。 那…

全场景一站式2024最新vmware环境下安装win7并且破解QTP

目录VMwareVMware和Ubuntu下载链接下载Win 7 系统各个操作系统网站激活码是什么查看是否激活激活操作vmware下安装ubuntu创建虚拟机下载VMtool灰色灰色按键点击不了下载提示有问题原因文件传递共享文件借助外界U盘有了VMTool就可以直接拖拽!!!!有了VMTool就可以全屏化——倒…

20222321 2024-2025-1 《网络与系统攻防技术》实验八实验报告

一.实验内容 (1)Web前端HTML 能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。 (2)Web前端javascipt 理解JavaScript的基本功能,理解DOM。 在(1)的基础上,编写JavaScript验证用户名、密码的规则。在用户点击登陆按钮后回显“欢迎…