Beispiel #1
0
        public ModelMeshPartInstance(
            ModelMeshPart modelMeshPart,
            ModelMeshInstance modelMeshInstance,
            AssetLoadContext loadContext)
        {
            ModelMeshPart = modelMeshPart;
            MeshInstance  = modelMeshInstance;

            _renderItemConstantsResourceSet = AddDisposable(
                loadContext.ShaderResources.Mesh.CreateRenderItemConstantsResourceSet(
                    modelMeshPart.ModelMesh.MeshConstantsBuffer,
                    modelMeshInstance.RenderItemConstantsBufferVS,
                    modelMeshInstance.ModelInstance.SkinningBuffer,
                    modelMeshInstance.ModelInstance.RenderItemConstantsBufferPS));

            BeforeRenderCallback = (CommandList cl, in RenderItem renderItem) =>
            {
                OnBeforeRender(cl, renderItem);
            };

            BeforeRenderCallbackDepth = (CommandList cl, in RenderItem renderItem) =>
            {
                OnBeforeRender(cl, renderItem);
            };
        }
Beispiel #2
0
 internal abstract void BuildRenderList(
     RenderList renderList,
     Camera camera,
     ModelInstance modelInstance,
     ModelMeshInstance modelMeshInstance,
     ModelBone parentBone,
     in Matrix4x4 modelTransform,