Unity 入门精要00---Unity提供的基础变量和宏以及一些基础知识

news2025/1/11 2:20:28

头文件引入:

XXPROGRAM

...

#include "UnityCG.cginc";

...

ENDXX

常用的结构体(在UnityCg.cginc文件中):在顶点着色器输入和输出时十分好用 。

关于如何使用这些结构体,可在Unity安装文件目录/Editor/Data/CGIncludes下打开查看

一些常用的函数

 此书是以Build-in管线为基础,有些函数的名称和参数已经改变。Build-in 到URP转变手册可参考内置管线Shader升级到URP详细手册 - 简书

 Unity 提供的CG/HLSL语义

何为语义?:语义就是赋给Shader脚本的输入和输出文档,让Shader知道从哪里读取数据,从哪里输出数据

 

 

在v2f结构体的TEXCOORDn中的具体语义可以由我们自己定义,换句话说,对于任何需要传输坐标的情形,我们都可以采用TEXCOORDn去描述。 更详细的知识可参考Directx文档

DirectX 编程 - UWP applications | Microsoft Learn

关于渲染平台的差异

在OpenGL和DirectX的纹理坐标的y轴是相反的,如果使用了纹理贴图和后处理效果而不注重屏幕坐标空间在不同渲染平台的差异的话,会出现纹理翻转。因此,为了解决这个问题 我们需要翻转y轴。一般情况下,Unity会为我们自动处理这个问题,但我们若开启了抗锯齿(Edit->Project Settings->Quality->Anti Aliasing)的同时使用了渲染纹理,Unity就不会为我们翻转纹理,默认情况下是符合DirectX的平台规定。当我们此时的屏幕特效只需要使用一张渲染图像,即只采样一次,就不需要在意纹理翻转的情况,因为在我们调用Graphics.Blit函数时,Unity已经为我们对屏幕图像的采样坐标进行了处理,只需要正常采样过程处理屏幕图像就行了,但如果要同时处理多张渲染图像(有抗锯齿)举个例子,对于Part-Bloom效果,我们需要同时提取需要高亮部分渲染出一张纹理,再将起模糊且高亮,这种情况就使用了多张纹理,手动进行纹理翻转。

采用如下代码进行纹理翻转。 

Shader中的数据类型

对于只使用方向的单位向量,用fixed就足够了 

Shader Target。

 

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

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

相关文章

解压缩工具:Bandizip 中文

bandizip是一款可靠和快速的压缩软件,它可以解压RAR、7Z、ZIP、ISO等数十种格式,也可以压缩7Z、ZIP、ISO等好几种常用格式,在压缩文件方面毫不逊色于winrar,适用于多核心压缩、快速拖放、高速压缩等功能,采用了先进快速…

csapp第二章 --- 信息的表示和处理

本章重点纲要 目录 2.1 数据存储 2.1.1 进制 2.1.2 数据在内存的存储方式---大小端 2.1.3 C语言的一些知识 2.2 整数表示 2.2.1 二进制表示整数 2.2.2 扩展、截断 2.3 整数运算 2.3.1 加减法与溢出 2.3.2 逆元和补码的非 2.3.3乘法 2.4浮点数 2.4.1 IEEE规则 2.…

2023年中职组网络安全竞赛——综合渗透测试解析

综合渗透测试 题目如下: PS:需求环境可私信博主,求个三连吧! 解析如下: 通过本地PC中的渗透测试平台KALI2020对服务器场景进行渗透攻击,获取到RSYNC服务所开放的端口,将RSYNC服务开放的端口数值进行MD5加密后作为FLAG提交(如MD5加密前:812);

spark性能调优(二):内存

Memory 一、spark内存简介二、堆内内存 or 堆外内存?三、如何用好RDD Cache?四、OOM怎么办?一、spark内存简介 spark 2.0后,基本上spark内存的管理就已经自动化了,内存出现问题基本上是一些数据问题。比如数据倾斜 spark.executor.memory是绝对值,指定了executor进程的JVM…

毕业设计 基于stm32舞台彩灯控制器设计app控制系统

基于stm32舞台彩灯控制器设计app控制1、项目简介1.1 系统构成1.2 系统功能2、部分电路设计2.1 STM32F103C8T6核心系统电路设计2.2 WS2812RGB彩灯电路设计3、部分代码展示3.1 控制WS2812显示颜色3.2 设置RGB灯的颜色,角度,亮度实物图1、项目简介 选题指导…

Pluma 插件管理框架

1. 概述 Pluma 是一个用 C 开发的可用于管理插件的开源架构,其官网地址为:http://pluma-framework.sourceforge.net/。该架构是个轻量级架构,非常易于理解。 Pluma 架构有以下基本概念: 1)插件的外在行为体现为一个…

JavaSE:集合框架

为什么用集合框架如果不知道需要多少对象,或者用较为复杂的方式存储对象,可以用集合框架集合框架包含的内容ArrayList实践.size().add(Object o) .add(int index, Object o).get(int index).contains(Object o).remove(Object o) .remove(int…

高精度电流源如何设计出来

随着科技的不断进度,高精度电流源在自动测试/测量以及各种应用中承担着重要的作用。然而想要更高精度的指标参数,就需要电流源仪器研发得更完善。众所周知,高精度电流源是电子实验中重要的测试仪器,能够广泛应用在电化学、电光源、…

深入理解Windows操作系统机制(一)

我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来重新审视一下Windows这个我们熟悉的不能再熟悉的系统。我们每天都在用Windows操作系统,但是其实我们每天直接在打交道的并不是Windows操作系统的内核,而是Windows操作系统的…

pytorch入门7--自动求导和神经网络

深度学习网上自学学了10多天了,看了很多大神的课总是很快被劝退。终于,遇到了一位对小白友好的刘二大人,先附上链接,需要者自取:https://b23.tv/RHlDxbc。 下面是课程笔记。 一、自动求导 举例说明自动求导。 torch中的…

Python 数据库连接 + 创建库表+ 插入【内含代码实例】

人生苦短 我用python Python其他实用资料:点击此处跳转文末名片获取 数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TESTDB.在TESTDB数据库中您已经创建了表 EMPLOYEEEMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。连…

前端css整理

如何水平垂直居中一个盒子? 1.已知高度:子盒子设置 display: inline-block; 父盒子设置 line-height 等于高度实现垂直居中;使用 text-align:center实现水平居中 2.父盒子 display:flex; align-items:center;justify-content:center; 3.定位&…

自动驾驶决策规划-控制方向学习资料总结(附相关资料的链接)

项目仓库 欢迎访问我的Github主页 项目名称说明chhCpp学习C仓库chhRobotics学习自动驾驶、控制理论相关仓库(python实现)chhRobotics_CPP学习自动驾驶、控制理论相关仓库(c实现)chhML 、chh-MachineLearning学习机器学习仓库chhRL学习强化学习仓库chhTricks存放一些有意思的t…

SpringSecurity的初次邂逅

【第一篇】SpringSecurity的初次邂逅 1.Spring Security概念 Spring Security是Spring采用 AOP思想,基于 servlet过滤器实现的安全框架。它提供了完善的认证机制和方法级的授权功能。是一款非常优秀的权限管理框架。 Spring Security是一个功能强大且高度可定制的身…

vue权限控制和动态路由

思路 登录:当用户填写完账号和密码后向服务端验证是否正确,验证通过之后,服务端会返回一个token,拿到token之后(我会将这个token存贮到localStore中,保证刷新页面后能记住用户登录状态)&#xf…

颠覆你的认知,业务同事都能开发软件,我简直无地自容……

经常看到网络鼓吹业务人员也能搭建应用,本是嗤之以鼻、半信半疑,但当这件事真实发生在自己身上时,竟觉得此言不虚? 一、背景 最近公司为了集成系统、提升扩展能力,引进了低代码平台JNPF,说个题外话&#…

终于,OpenAI开放ChatGPT API,成本直降90%,百万token才2美元

现在,第三方可以通过 API 将对话模型 ChatGPT 和语音转文本模型 Whisper 集成到自己的应用程序和服务中了。 来源丨机器之心 2022 年 11 月,OpenAI 上线 ChatGPT,自此以后,这个对话模型一路开挂。毫不夸张的说,与 Ch…

4道数学题,求解极狐GitLab CI 流水线|第4题:合并列车

本文来自: 武让 极狐GitLab 高级解决方案架构师 💡 极狐GitLab CI 依靠其一体化、轻量化、声明式、开箱即用的特性,在开发者群体中的使用率越来越高,在国内企业中仅次于 Jenkins ,排在第二位。 极狐GitLab 流水线有 4…

NFT Insider #87:The Sandbox 收购游戏开发工作室 Sviper,GHST 大迁徙即将拉开帷幕

引言:NFT Insider由NFT收藏组织WHALE Members(https://twitter.com/WHALEMembers)、BeepCrypto(https://twitter.com/beep_crypto)联合出品,浓缩每周NFT新闻,为大家带来关于NFT最全面、最新鲜、最有价值的讯息。每期周…