internal static MyRenderableProxyFlags GetRenderableProxyFlags(RenderFlags flags) { MyRenderableProxyFlags proxyFlags = MyRenderableProxyFlags.None; if (flags.HasFlags(RenderFlags.SkipIfTooSmall)) { proxyFlags |= MyRenderableProxyFlags.SkipIfTooSmall; } if (flags.HasFlags(RenderFlags.DrawOutsideViewDistance)) { proxyFlags |= MyRenderableProxyFlags.DrawOutsideViewDistance; } if (flags.HasFlags(RenderFlags.CastShadows)) { proxyFlags |= MyRenderableProxyFlags.CastShadows; } if (flags.HasFlags(RenderFlags.NoBackFaceCulling)) { proxyFlags |= MyRenderableProxyFlags.DisableFaceCulling; } if (flags.HasFlags(RenderFlags.SkipInMainView) || !flags.HasFlags(RenderFlags.Visible)) { proxyFlags |= MyRenderableProxyFlags.SkipInMainView; } return(proxyFlags); }
internal void Clear() { WorldMatrix = MatrixD.Zero; CommonObjectData = default(MyObjectDataCommon); NonVoxelObjectData = MyObjectDataNonVoxel.Invalid; VoxelCommonObjectData = MyObjectDataVoxelCommon.Invalid; Mesh = LodMeshId.NULL; MergedMesh = MyMergedLodMeshId.NULL; Instancing = InstancingId.NULL; DepthShaders = MyMaterialShadersBundleId.NULL; Shaders = MyMaterialShadersBundleId.NULL; ForwardShaders = MyMaterialShadersBundleId.NULL; DrawSubmesh = default(MyDrawSubmesh); PerMaterialIndex = 0; SectionSubmeshes = null; InstanceCount = 0; StartInstance = 0; SkinningMatrices = null; Type = MyMaterialType.OPAQUE; Flags = 0; Lod = 0; ObjectBuffer = null; Parent = null; Material = MyStringId.NullOrEmpty; }
internal static MyRenderableProxyFlags GetRenderableProxyFlags(RenderFlags flags) { MyRenderableProxyFlags proxyFlags = MyRenderableProxyFlags.None; if ((flags & RenderFlags.SkipIfTooSmall) == RenderFlags.SkipIfTooSmall) { proxyFlags |= MyRenderableProxyFlags.SkipIfTooSmall; } if ((flags & RenderFlags.DrawOutsideViewDistance) == RenderFlags.DrawOutsideViewDistance) { proxyFlags |= MyRenderableProxyFlags.DrawOutsideViewDistance; } if ((flags & RenderFlags.CastShadows) == RenderFlags.CastShadows) { proxyFlags |= MyRenderableProxyFlags.CastShadows; } if ((flags & RenderFlags.NoBackFaceCulling) == RenderFlags.NoBackFaceCulling) { proxyFlags |= MyRenderableProxyFlags.DisableFaceCulling; } return(proxyFlags); }
internal override void Construct() { base.Construct(); Type = MyActorComponentEnum.Renderable; //m_mesh = null; m_lods = null; m_cullProxy = MyProxiesFactory.CreateCullProxy(); m_btreeProxy = -1; Mesh = MeshId.NULL; Instancing = InstancingId.NULL; m_instanceCount = 0; m_startInstance = 0; m_isRenderedStandalone = true; m_keyColor = Vector3.One; m_objectDithering = 0; m_renderableProxiesForLodTransition = null; m_lodTransitionState = 0; m_lod = 0; m_voxelLod = -1; m_additionalFlags = 0; ModelProperties = new Dictionary<MyEntityMaterialKey, MyModelProperties>(); }
internal static bool HasFlags(this MyRenderableProxyFlags proxyFlags, MyRenderableProxyFlags flag) { return((proxyFlags & flag) == flag); }
internal void Clear() { WorldMatrix = MatrixD.Zero; CommonObjectData = default(MyObjectDataCommon); NonVoxelObjectData = MyObjectDataNonVoxel.Invalid; VoxelCommonObjectData = MyObjectDataVoxelCommon.Invalid; Mesh = LodMeshId.NULL; MergedMesh = MyMergedLodMeshId.NULL; Instancing = InstancingId.NULL; DepthShaders = MyMaterialShadersBundleId.NULL; Shaders = MyMaterialShadersBundleId.NULL; ForwardShaders = MyMaterialShadersBundleId.NULL; DrawSubmesh = default(MyDrawSubmesh); PerMaterialIndex = 0; SectionSubmeshes = null; InstanceCount = 0; StartInstance = 0; SkinningMatrices = null; Type = MyMaterialType.OPAQUE; Flags = 0; Lod = 0; ObjectBuffer = null; Parent = null; Material = MyMeshMaterialId.NULL; UnusedMaterials = UnusedMaterials ?? new HashSet<string>(); UnusedMaterials.Clear(); }
internal static bool HasFlags(this MyRenderableProxyFlags proxyFlags, MyRenderableProxyFlags flag) { return (proxyFlags & flag) == flag; }