/// <summary>
 /// Unloads the resource.
 /// </summary>
 protected override void UnloadResourceInternal(EngineDevice device, ResourceDictionary resources)
 {
     m_defaultResources = null;
     m_vertexShader     = null;
     m_pixelShader      = null;
     m_textureResource  = null;
 }
 /// <summary>
 /// Loads the resource.
 /// </summary>
 /// <param name="device">The device.</param>
 /// <param name="resources">Parent ResourceDictionary.</param>
 protected override void LoadResourceInternal(EngineDevice device, ResourceDictionary resources)
 {
     m_defaultResources = resources.DefaultResources;
     m_vertexShader     = resources.GetResourceAndEnsureLoaded(
         RES_KEY_VERTEX_SHADER,
         () => GraphicsHelper.GetVertexShaderResource(device, "Postprocessing", "PostprocessVertexShader"));
 }
        /// <summary>
        /// Loads the resource.
        /// </summary>
        /// <param name="device">The device.</param>
        /// <param name="resources">Parent ResourceDictionary.</param>
        protected override void LoadResourceInternal(EngineDevice device, ResourceDictionary resources)
        {
            base.LoadResourceInternal(device, resources);

            // Load graphics resources
            m_pixelShaderBlur = resources.GetResourceAndEnsureLoaded(
                RES_KEY_PIXEL_SHADER_BLUR,
                () => GraphicsHelper.GetPixelShaderResource(device, "Postprocessing", "PostprocessBlur"));
            m_singleForcedColor = resources.GetResourceAndEnsureLoaded <SingleForcedColorMaterialResource>(
                KEY_MATERIAL,
                () => new SingleForcedColorMaterialResource()
            {
                FadeIntensity = m_fadeIntensity
            });
            m_renderTarget = resources.GetResourceAndEnsureLoaded <RenderTargetTextureResource>(
                KEY_RENDER_TARGET,
                () => new RenderTargetTextureResource(RenderTargetCreationMode.Color));
            m_defaultResources = resources.DefaultResources;

            // Load constant buffers
            m_cbFirstPass = resources.GetResourceAndEnsureLoaded <TypeSafeConstantBufferResource <CBPerObject> >(
                KEY_CB_PASS_01,
                () => new TypeSafeConstantBufferResource <CBPerObject>(new CBPerObject()
            {
                BlurIntensity = 0.0f,
                BlurOpacity   = 0.1f
            }));
            m_cbSecondPass = resources.GetResourceAndEnsureLoaded <TypeSafeConstantBufferResource <CBPerObject> >(
                KEY_CB_PASS_02,
                () => new TypeSafeConstantBufferResource <CBPerObject>(new CBPerObject()
            {
                BlurIntensity = 0.8f,
                BlurOpacity   = 0.5f
            }));
        }
Example #4
0
        /// <summary>
        /// Loads all resources of this texture painter object.
        /// </summary>
        /// <param name="resources">The target resource dictionary.</param>
        internal void LoadResources(ResourceDictionary resources)
        {
            // Load material
            m_materialResource = resources.GetResourceAndEnsureLoaded <SpriteMaterialResource>(
                KEY_MATERIAL,
                () => new SpriteMaterialResource(m_texture));

            // Load geometry resource
            m_geometryResource = resources.GetResourceAndEnsureLoaded <GeometryResource>(
                KEY_GEOMETRY,
                () =>
            {
                VertexStructure structure = new VertexStructure();
                structure.FirstSurface.BuildRect4V(
                    new Vector3(-1f, -1f, 0f),
                    new Vector3(1f, -1f, 0f),
                    new Vector3(1f, 1f, 0f),
                    new Vector3(-1f, 1f, 0f),
                    Color4.Transparent);
                structure.FirstSurface.Material = KEY_MATERIAL;
                return(new GeometryResource(structure));
            });

            // Load the texture resource
            m_textureResource = resources.GetResourceAndEnsureLoaded <TextureResource>(m_texture);

            // Get default resources
            m_defaultResources = resources.GetResourceAndEnsureLoaded <DefaultResources>(
                DefaultResources.RESOURCE_KEY,
                () => new DefaultResources());

            m_renderParameters = resources.GetResourceAndEnsureLoaded <ObjectRenderParameters>(
                KEY_RENDER_PARAMETERS,
                () => new ObjectRenderParameters());
        }
Example #5
0
 /// <summary>
 /// Unloads all resources.
 /// </summary>
 internal void UnloadResources()
 {
     m_geometryResource = null;
     m_textureResource  = null;
     m_defaultResources = null;
     m_renderParameters = null;
     m_materialResource = null;
 }
        /// <summary>
        /// Unloads the resource.
        /// </summary>
        /// <param name="device">The device.</param>
        /// <param name="resources">Parent ResourceDictionary.</param>
        /// <exception cref="System.NotImplementedException"></exception>
        protected override void UnloadResourceInternal(EngineDevice device, ResourceDictionary resources)
        {
            base.UnloadResourceInternal(device, resources);

            m_pixelShaderBlur  = null;
            m_renderTarget     = null;
            m_defaultResources = null;
            m_constantBuffer   = null;
        }
        /// <summary>
        /// Unloads the resource.
        /// </summary>
        /// <param name="device">The device.</param>
        /// <param name="resources">Parent ResourceDictionary.</param>
        /// <exception cref="System.NotImplementedException"></exception>
        protected override void UnloadResourceInternal(EngineDevice device, ResourceDictionary resources)
        {
            base.UnloadResourceInternal(device, resources);

            m_pixelShaderBlur   = null;
            m_singleForcedColor = null;
            m_renderTarget      = null;
            m_defaultResources  = null;
            m_cbFirstPass       = null;
            m_cbSecondPass      = null;
        }
        /// <summary>
        /// Loads the resource.
        /// </summary>
        /// <param name="device">The device.</param>
        /// <param name="resources">Parent ResourceDictionary.</param>
        protected override void LoadResourceInternal(EngineDevice device, ResourceDictionary resources)
        {
            base.LoadResourceInternal(device, resources);

            // Load graphics resources
            m_pixelShaderBlur = resources.GetResourceAndEnsureLoaded(
                RES_KEY_PIXEL_SHADER_BLUR,
                () => GraphicsHelper.GetPixelShaderResource(device, "Postprocessing", "PostprocessEdgeDetect"));
            m_renderTarget = resources.GetResourceAndEnsureLoaded <RenderTargetTextureResource>(
                KEY_RENDER_TARGET,
                () => new RenderTargetTextureResource(RenderTargetCreationMode.Color));
            m_defaultResources = resources.DefaultResources;

            // Load constant buffer
            m_constantBufferData = new CBPerObject();
            m_constantBuffer     = resources.GetResourceAndEnsureLoaded <TypeSafeConstantBufferResource <CBPerObject> >(
                KEY_CONSTANT_BUFFER,
                () => new TypeSafeConstantBufferResource <CBPerObject>(m_constantBufferData));
        }
        /// <summary>
        /// Loads the resource.
        /// </summary>
        protected override void LoadResourceInternal(EngineDevice device, ResourceDictionary resources)
        {
            //Load all required shaders and constant buffers
            m_vertexShader = resources.GetResourceAndEnsureLoaded(
                RES_KEY_VERTEX_SHADER,
                () => GraphicsHelper.GetVertexShaderResource(device, "Sprite", "SpriteVertexShader"));
            m_pixelShader = resources.GetResourceAndEnsureLoaded(
                RES_KEY_PIXEL_SHADER,
                () => GraphicsHelper.GetPixelShaderResource(device, "Sprite", "SpritePixelShader"));

            // Get a reference to default resource object
            m_defaultResources = resources.GetResourceAndEnsureLoaded <DefaultResources>(DefaultResources.RESOURCE_KEY);

            //Load the texture if any configured.
            if (!m_textureKey.IsEmpty)
            {
                //Get texture resource
                m_textureResource = resources.GetResourceAndEnsureLoaded <TextureResource>(m_textureKey);
            }
        }
        /// <summary>
        /// Loads the resource.
        /// </summary>
        protected override void LoadResourceInternal(EngineDevice device, ResourceDictionary resources)
        {
            // Load all required shaders and constant buffers
            m_vertexShader = resources.GetResourceAndEnsureLoaded(
                RES_KEY_VERTEX_SHADER,
                () => GraphicsHelper.GetVertexShaderResource(device, "Common", "CommonVertexShader"));
            m_pixelShader = resources.GetResourceAndEnsureLoaded(
                RES_KEY_PIXEL_SHADER,
                () => GraphicsHelper.GetPixelShaderResource(device, "Common", "CommonPixelShader"));
            m_cbPerMaterial = resources.GetResourceAndEnsureLoaded(
                KEY_CONSTANT_BUFFER,
                () => new TypeSafeConstantBufferResource <CBPerMaterial>());
            m_cbPerMaterialDataChanged = true;

            // Get a reference to default resource object
            m_defaultResources = resources.GetResourceAndEnsureLoaded <DefaultResources>(DefaultResources.RESOURCE_KEY);

            //Load the texture if any configured.
            if (!m_textureKey.IsEmpty)
            {
                //Get texture resource
                m_textureResource = resources.GetResourceAndEnsureLoaded <TextureResource>(m_textureKey);
            }
        }