コード例 #1
0
        private void drawMeshPart(WorldMeshPart part)
        {
            var material    = resourcePool.GetDeferredMaterial(part.Material);
            var partData    = resourcePool.GetMeshPartRenderData(part.Part);
            var perObjectCB = getPerObjectCB(part);

            perObjectCB.UpdatePerObjectBuffer(ctx, part.WorldMatrix);

            material.SetCamera(currentCamera.View, currentCamera.Projection);
            material.SetPerObjectBuffer(ctx, perObjectCB);

            material.SetToContext(ctx);

            partData.Draw(ctx);
        }
コード例 #2
0
 private DeferredMaterial.PerObjectConstantBuffer getPerObjectCB(WorldMeshPart part)
 {
     return(sharedPerObjectCB ?? (sharedPerObjectCB = DeferredMaterial.CreatePerObjectCB(game)));
 }