예제 #1
0
        private static MyMergeInstancingShaderBundle GetMergeInstancing(MyStringId pass, MyShaderUnifiedFlags flags = MyShaderUnifiedFlags.NONE)
        {
            MyMergeInstancingShaderBundle ret = new MyMergeInstancingShaderBundle();

            flags |= MyShaderUnifiedFlags.USE_MERGE_INSTANCING;

            ret.MultiInstance  = MyMaterialShaders.Get(STANDARD_MATERIAL, pass, MyVertexLayouts.Empty, flags, MyFileTextureEnum.UNSPECIFIED);
            ret.SingleInstance = MyMaterialShaders.Get(STANDARD_MATERIAL, pass, MyVertexLayouts.Empty, flags | MyShaderUnifiedFlags.USE_SINGLE_INSTANCE, MyFileTextureEnum.UNSPECIFIED);
            return(ret);
        }
예제 #2
0
        private static MyMergeInstancingShaderBundle GetMergeInstancing(string pass, MyShaderUnifiedFlags flags = MyShaderUnifiedFlags.NONE)
        {
            MyMergeInstancingShaderBundle ret = new MyMergeInstancingShaderBundle();

            flags |= MyShaderUnifiedFlags.USE_MERGE_INSTANCING;

            var passId = MyStringId.GetOrCompute(pass);

            ret.MultiInstance  = MyMaterialShaders.Get(STANDARD_MATERIAL, passId, MyVertexLayouts.Empty, flags);
            ret.SingleInstance = MyMaterialShaders.Get(STANDARD_MATERIAL, passId, MyVertexLayouts.Empty, flags | MyShaderUnifiedFlags.USE_SINGLE_INSTANCE);
            return(ret);
        }
예제 #3
0
        private static MyMergeInstancingShaderBundle GetMergeInstancing(string pass, MyShaderUnifiedFlags flags = MyShaderUnifiedFlags.NONE)
        {
            MyMergeInstancingShaderBundle ret = new MyMergeInstancingShaderBundle();

            flags |= MyShaderUnifiedFlags.USE_MERGE_INSTANCING;

            var passId = MyStringId.GetOrCompute(pass);
            ret.MultiInstance = MyMaterialShaders.Get(STANDARD_MATERIAL, passId, MyVertexLayouts.Empty, flags);
            ret.SingleInstance = MyMaterialShaders.Get(STANDARD_MATERIAL, passId, MyVertexLayouts.Empty, flags | MyShaderUnifiedFlags.USE_SINGLE_INSTANCE);
            return ret;
        }
예제 #4
0
        private static MyMergeInstancingShaderBundle GetMergeInstancing(MyStringId pass, MyShaderUnifiedFlags flags = MyShaderUnifiedFlags.NONE)
        {
            MyMergeInstancingShaderBundle ret = new MyMergeInstancingShaderBundle();

            flags |= MyShaderUnifiedFlags.USE_MERGE_INSTANCING;

            ret.MultiInstance = MyMaterialShaders.Get(STANDARD_MATERIAL, pass, MyVertexLayouts.Empty, flags, MyFileTextureEnum.UNSPECIFIED);
            ret.SingleInstance = MyMaterialShaders.Get(STANDARD_MATERIAL, pass, MyVertexLayouts.Empty, flags | MyShaderUnifiedFlags.USE_SINGLE_INSTANCE, MyFileTextureEnum.UNSPECIFIED);
            return ret;
        }