UE5——源码阅读——141——批渲染PSO

本文详细介绍了PSO(PipelineStateObject)在渲染管线中的关键组件,包括各种着色器状态(如顶点、像素、几何和放大着色器)、混合和光栅化状态,以及深度模板等图形设置参数。
摘要由CSDN通过智能技术生成

定义PSO渲染管线
在这里插入图片描述
在这里插入图片描述
绑定着色器的状态
FBoundShaderStateInput BoundShaderState;
顶点声明对象的指针
FRHIVertexDeclaration* VertexDeclarationRHI = nullptr;
顶点着色器的指针
FRHIVertexShader* VertexShaderRHI = nullptr;
像素着色器的指针
FRHIPixelShader* PixelShaderRHI = nullptr;
网格着色器的指针(几何处理,可以复制几何操作 曲面细分,法线变换)
FRHIMeshShader* MeshShaderRHI = nullptr;
放大着色器的指针 (可以将输入的几何数据进行扩展在生成多个几何数据,比如粒子 草地)
FRHIAmplificationShader* AmplificationShaderRHI = nullptr;
几何着色器的指针 (几何处理和几何生成)
FRHIGeometryShader* GeometryShaderRHI = nullptr;

混合状态
FRHIBlendState* BlendState;
光栅化状态
FRHIRasterizerState* RasterizerState;
深度模版
FRHIDepthStencilState* DepthStencilState;
不可变的采样状态
FImmutableSamplerState ImmutableSamplerState;
图元类型
EPrimitiveType PrimitiveType;
渲染目标的数量
uint32 RenderTargetsEnabled;
渲染目标的格式
TRenderTargetFormats RenderTargetFormats;
渲染目标的标志
TRenderTargetFlags RenderTargetFlags;
深度模板目标像素格式
EPixelFormat DepthStencilTargetFormat;
深度模板目标标志
ETextureCreateFlags DepthStencilTargetFlag;
深度目标加载操作
ERenderTargetLoadAction DepthTargetLoadAction;
深度目标储存
ERenderTargetStoreAction DepthTargetStoreAction;
模版目标的加载
ERenderTargetLoadAction StencilTargetLoadAction;
模版目标储存
ERenderTargetStoreAction StencilTargetStoreAction;
深度模版的访问权限
FExclusiveDepthStencil DepthStencilAccess;
多少的采样数
uint16 NumSamples;
子通道提示
ESubpassHint SubpassHint;
子通道索引
uint8 SubpassIndex;
光栅化
EConservativeRasterization ConservativeRasterization;
是否启用深度边界
bool bDepthBounds;
多视图数量
uint8 MultiViewCount;
是否存在片段密度的附件
bool bHasFragmentDensityAttachment;
着色率
EVRSShadingRate ShadingRate;

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值