You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Run a compute job that packs most commonly used instance data (LocalToWorld matrix and some other bits - 80 bytes) into per-instance vertex buffer. Vertex shader does not have access to GPUScene and instead loads instance data from a per-instance vertex buffer. If it needs more primitive/instance data than available then it will load it from Primitive UB, binding unique uniform buffer and breaking auto-instancing. Pixel shader has a full access to a GPUScene There are 3 ways how FSceneDataIntermediates gets populated 1. PrimitiveId + GPUScene (Desktop) 2. Per-Instance data + Primitive UB (Mobile) 3. Primitive UB (auto-instancing disabled) Details for GPUScene specific vertex inputs and access to FSceneDataIntermediates are hidden behind a macro: VF_GPUSCENE_DECLARE_INPUT_BLOCK VF_GPUSCENE_GET_INTERMEDIATES FSceneDataIntermediates is now stored in FVertexFactoryIntermediates, FMaterialVertexParameters. Added a few GetPrimitiveData() overloads that allows you to access PrimitiveData depending on current context. Removed most of the cases where GetPrimitiveData() gets used with PrimitiveId. #rb Ola.Ollson #ROBOMERGE-SOURCE: CL 17093848 in //UE5/Main/... #ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230) [CL 17093856 by dmitriy dyomin in ue5-release-engine-test branch]