Beispiel #1
0
        public void Dispose()
        {
            DefaultShader.Dispose();
            DepthShader.Dispose();
            DepthCubeShader.Dispose();
            DefaultTexture.Dispose();
            FallbackTexture.Dispose();
            WhiteTexture.Dispose();
            BlackTexture.Dispose();
            DefaultMaterial.Dispose();
            DefaultTextureMaterial.Dispose();
            MissingTextureMaterial.Dispose();
            m_shaderRegistry.Dispose();

            foreach (CResource waitingResource in m_waitingResources)
            {
                waitingResource.Dispose();
            }

            m_waitingResources.Clear();

            foreach (var registeredResource in m_registeredResources)
            {
                registeredResource.Value.Dispose();
            }

            m_registeredResources.Clear();
        }
Beispiel #2
0
        public void InitDefaultResources(DeviceContext deviceContext)
        {
            DefaultShader   = RequestShaderResource(new SHashedName("SimpleLitShader"));
            DepthShader     = RequestShaderResource(new SHashedName("depthShader"));
            DepthCubeShader = RequestShaderResource(new SHashedName("depthCubeShader"));

            DefaultTexture  = new CTextureSampler(m_graphicsDevice, deviceContext, "Resources/Textures/DefaultTexture.tga");
            FallbackTexture = new CTextureSampler(m_graphicsDevice, deviceContext, "Resources/Textures/MissingTexture.tga");
            WhiteTexture    = new CTextureSampler(m_graphicsDevice, deviceContext, "Resources/Textures/DefaultWhite.tga");
            BlackTexture    = new CTextureSampler(m_graphicsDevice, deviceContext, "Resources/Textures/DefaultBlack.tga");

            DefaultMaterial = CMaterial.CreateDefaultMaterial();
            DefaultMaterial.ShaderResource = DefaultShader;
            DefaultMaterial.SetTextureParameter(new SHashedName("DiffuseTexture"), WhiteTexture);
            DefaultMaterial.FinishLoading();

            DefaultTextureMaterial = CMaterial.CreateDefaultMaterial();
            DefaultTextureMaterial.ShaderResource = DefaultShader;
            DefaultTextureMaterial.SetTextureParameter(new SHashedName("DiffuseTexture"), DefaultTexture);
            DefaultTextureMaterial.FinishLoading();

            MissingTextureMaterial = CMaterial.CreateDefaultMaterial();
            MissingTextureMaterial.ShaderResource = DefaultShader;
            MissingTextureMaterial.SetTextureParameter(new SHashedName("DiffuseTexture"), FallbackTexture);
            MissingTextureMaterial.FinishLoading();
        }