会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
就当笔记吧
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
···
47
下一页
2025年1月16日
Catlike Coding Custom SRP笔记 - SRP项目搭建
摘要: 什么是SRP? 可编程渲染管线 (Scriptable Render Pipeline) 是 Unity 内置渲染管线的替代方案。 使用 SRP 可以通过 C# 脚本控制和定制渲染流程 URP和SRP的区别? URP是基于SRP实现的一套渲染管线(由Unity官方实现,并以模板项目的方式提供给开发者
阅读全文
posted @ 2025-01-16 21:59 yanghui01
阅读(165)
评论(0)
推荐(0)
2025年1月7日
URP - 阴影投射和接收
摘要: # URP_Shadow.shader Shader "My/URP_Shadow" { Properties { _BaseMap("Texture", 2D) = "white" {} //主贴图 _BaseColor("Tint Color", Color) = (1, 1, 1, 1) //
阅读全文
posted @ 2025-01-07 23:13 yanghui01
阅读(268)
评论(0)
推荐(0)
URP - 简单光照
摘要: 要点 这边只涉及光源的漫反射和高光。 漫反射(Diffuse)使用了Lambert方法来计算,高光(Specular)使用了Blin-Phone方法来计算,参考:Shader入门精要笔记 - CH6_最简单的逐像素Blinn-Phong光照 公式中的相关变量的获取: 1) 顶点法线方向 Vertex
阅读全文
posted @ 2025-01-07 23:06 yanghui01
阅读(80)
评论(0)
推荐(0)
2024年12月24日
RenderBufferLoadAction, RenderBufferStoreAction
摘要: 什么地方用到? CommandBuffer的SetRenderTarget(renderTargetId, loadAction, storeAction)函数 RenderBufferLoadAction 用个例子说明:有两个RenderTexture A和B,在A上绘制一个红色三角形 -> 在B
阅读全文
posted @ 2024-12-24 22:41 yanghui01
阅读(104)
评论(0)
推荐(0)
纹素texel
摘要: 什么是纹素? 就是纹理图上的像素叫纹素,主要是为了和普通的像素做区分,因为纹素的rgba通道存放的不一定是颜色值,可以用作其他用途。 _MainTex_TexelSize 表示(1/width, 1/height, width, height) 参考 Unity Shader 入门到改行4——最简纹
阅读全文
posted @ 2024-12-24 22:35 yanghui01
阅读(83)
评论(0)
推荐(0)
2024年12月19日
URP - 最简单的不受光(unlit)shader
摘要: Shader "My/URP_Unlit" { Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Tags { "RenderPipeline" = "UniversalPipeline" //这是用于URP的shade
阅读全文
posted @ 2024-12-19 23:17 yanghui01
阅读(135)
评论(0)
推荐(0)
几种合批
摘要: SRP Batcher a) 优化原理 通过ConstantBuffer将对象的基本信息存储在GPU上,减少CPU和GPU频繁的数据交互带来的性能损失。 b) 限制 需要使用可编程渲染管线,不支持内置渲染管线。 需要shader兼容。 c) 写法参考 Shader "Xxxx" { Properti
阅读全文
posted @ 2024-12-19 23:11 yanghui01
阅读(112)
评论(0)
推荐(0)
2024年12月15日
语义
摘要: 语义是用来做什么的? 用来告诉Unity这个变量是干嘛用的,Unity给Shader传数据时,比如遇到half4 c这样一个变量,那该给这个变量传哪个数据呢?顶点坐标,颜色还是法线方向? 在不说明的情况下是无法确定的,如果写成类似:half4 c: 顶点坐标; 这种形式,就很明确了。 程序输入会涉及
阅读全文
posted @ 2024-12-15 21:46 yanghui01
阅读(61)
评论(0)
推荐(0)
2024年12月10日
long赋值给float会有问题吗?
摘要: 比如: long l1 = 4294967297; //二进制为1 00000000 00000000 00000000 00000001 float f1 = l1; var str1 = ToBinString(BitConverter.GetBytes(f1)); long l2 = (lon
阅读全文
posted @ 2024-12-10 23:19 yanghui01
阅读(33)
评论(0)
推荐(0)
float有效位数
摘要: 6位是绝对有效数字。第7位有时候准确,有时候不准确。 例1 float f1 = 1234560.991f; Console.WriteLine($"{f1}"); 执行上面的代码,会输出1234561,这个例子中就是第7位数字不准。 按float转二进制步骤分析下: 1) 整数部分的二进制为: 1
阅读全文
posted @ 2024-12-10 23:17 yanghui01
阅读(402)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
···
47
下一页
公告