在unity中高性能的绘制相同网格和材质的物体-SRP Bather

本文介绍了如何在Unity中利用SRP Batcher实现高性能地绘制具有相同网格和材质的物体。通过理解并应用Common.hlsl和SpaceTransforms.hlsl内置shader片段,以及自定义UnityInput.hlsl,确保宏替换正确,可以有效提升渲染效率。关键在于掌握宏替换的时机和内置方法的使用,以确保渲染结果的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考链接-/https://catlikecoding.com/unity/tutorials/
1、SRP Batcher
shader代码:

#ifndef CUSTOM_UNLIT_PASS_INCLUDED
#define CUSTOM_UNLIT_PASS_INCLUDED
	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
	#include "UnityInput.hlsl"
	#define UNITY_MATRIX_M unity_ObjectToWorld
	#define UNITY_MATRIX_I_M unity_WorldToObject
	#define UNITY_MATRIX_V unity_MatrixV
	#define UNITY_MATRIX_VP unity_MatrixVP
	#define UNITY_MATRIX_P glstate_matrix_projection
	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/SpaceTransforms.hlsl"
	
	CBUFFER_START(UnityPerMaterial)
	float4 _BaseColor;
	CBUFFER_END

	float4 UnlitPassVertex (float3 positionOS : POSITION):SV_POSITION  
	{
		return TransformObjectToHClip(positionOS);
	}
	float4 UnlitPassFragment(): SV_TARGET 
	{
		return _BaseColor;
	}
#endif

主要关注下:


                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值