text: // Copyright mogemimi. Distributed under the MIT license.
  
  #pragma once
  
  #include "pomdog/basic/conditional_compilation.hpp"
  #include "pomdog/basic/export.hpp"
  #include "pomdog/content/asset_manager.hpp"
  #include "pomdog/experimental/image_effects/image_effect_base.hpp"
  #include "pomdog/graphics/forward_declarations.hpp"
  
  POMDOG_SUPPRESS_WARNINGS_GENERATED_BY_STD_HEADERS_BEGIN
  #include <memory>
  POMDOG_SUPPRESS_WARNINGS_GENERATED_BY_STD_HEADERS_END
  
  namespace pomdog {
  
  class POMDOG_EXPORT FXAA final : public ImageEffectBase {
  public:
      FXAA(
          const std::shared_ptr<GraphicsDevice>& graphicsDevice,
          AssetManager& assets);
  
      void Apply(
          GraphicsCommandList& commandList,
          const std::shared_ptr<RenderTarget2D>& source,
          const std::shared_ptr<ConstantBuffer>& constantBuffer) override;
  
  private:
      std::shared_ptr<SamplerState> samplerLinear;
      std::shared_ptr<PipelineState> pipelineState;
  };
  
  } // namespace pomdog
  