参考链接-/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
主要关注下:
#include "Packages/com.unity.render-pipe

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

被折叠的 条评论
为什么被折叠?



