// Get access to material textures with lazy loading mechanizm public MyVoxelMaterialTextures GetTextures() { if (m_textures == null) { m_textures = new MyVoxelMaterialTextures(); // Diffuse XZ m_textures.TextureDiffuseForAxisXZ = MyTextureManager.GetTexture <MyTexture2D>("Textures\\Voxels\\" + m_assetName + "_ForAxisXZ_de" + (m_hasBuilderVersion ? "_mw" : ""), null, LoadingMode.Lazy); if (Render.MyRenderConstants.RenderQualityProfile.UseNormals) { // Normal map XZ m_textures.TextureNormalMapForAxisXZ = MyTextureManager.GetTexture <MyTexture2D>("Textures\\Voxels\\" + m_assetName + "_ForAxisXZ_ns" + (m_hasBuilderVersion ? "_mw" : ""), null, LoadingMode.Lazy); } // Diffuse Y if (UseTwoTextures) { m_textures.TextureDiffuseForAxisY = MyTextureManager.GetTexture <MyTexture2D>("Textures\\Voxels\\" + m_assetName + "_ForAxisY_de" + (m_hasBuilderVersion ? "_mw" : ""), null, LoadingMode.Lazy); } else { m_textures.TextureDiffuseForAxisY = m_textures.TextureDiffuseForAxisXZ; } if (Render.MyRenderConstants.RenderQualityProfile.UseNormals) { // Normal map Y m_textures.TextureNormalMapForAxisY = UseTwoTextures ? MyTextureManager.GetTexture <MyTexture2D>("Textures\\Voxels\\" + m_assetName + "_ForAxisY_ns" + (m_hasBuilderVersion ? "_mw" : ""), null, LoadingMode.LazyBackground) : m_textures.TextureNormalMapForAxisXZ; } /* * CheckTexture(m_textures.TextureDiffuseForAxisXZ); * CheckTexture(m_textures.TextureDiffuseForAxisY); * * if (Render.MyRenderConstants.RenderQualityProfile.UseNormals) * { * CheckTexture(m_textures.TextureNormalMapForAxisXZ); * CheckTexture(m_textures.TextureNormalMapForAxisY); * } */ } UseFlag = true; return(m_textures); }
// Get access to material textures with lazy loading mechanizm public MyVoxelMaterialTextures GetTextures() { if (m_textures == null) { m_textures = new MyVoxelMaterialTextures(); // Diffuse XZ m_textures.TextureDiffuseForAxisXZ = MyTextureManager.GetTexture<MyTexture2D>("Textures\\Voxels\\" + m_assetName + "_ForAxisXZ_de" + (m_hasBuilderVersion ? "_mw" : ""), null, LoadingMode.Lazy); if (Render.MyRenderConstants.RenderQualityProfile.UseNormals) { // Normal map XZ m_textures.TextureNormalMapForAxisXZ = MyTextureManager.GetTexture<MyTexture2D>("Textures\\Voxels\\" + m_assetName + "_ForAxisXZ_ns" + (m_hasBuilderVersion ? "_mw" : ""), null, LoadingMode.Lazy); } // Diffuse Y if (UseTwoTextures) { m_textures.TextureDiffuseForAxisY = MyTextureManager.GetTexture<MyTexture2D>("Textures\\Voxels\\" + m_assetName + "_ForAxisY_de" + (m_hasBuilderVersion ? "_mw" : ""), null, LoadingMode.Lazy); } else { m_textures.TextureDiffuseForAxisY = m_textures.TextureDiffuseForAxisXZ; } if (Render.MyRenderConstants.RenderQualityProfile.UseNormals) { // Normal map Y m_textures.TextureNormalMapForAxisY = UseTwoTextures ? MyTextureManager.GetTexture<MyTexture2D>("Textures\\Voxels\\" + m_assetName + "_ForAxisY_ns" + (m_hasBuilderVersion ? "_mw" : ""), null, LoadingMode.LazyBackground) : m_textures.TextureNormalMapForAxisXZ; } /* CheckTexture(m_textures.TextureDiffuseForAxisXZ); CheckTexture(m_textures.TextureDiffuseForAxisY); if (Render.MyRenderConstants.RenderQualityProfile.UseNormals) { CheckTexture(m_textures.TextureNormalMapForAxisXZ); CheckTexture(m_textures.TextureNormalMapForAxisY); } */ } UseFlag = true; return m_textures; }
public void UnloadContent() { m_textures = null; }