12 #include "ShaderTextureDX.h" 13 #include "cores/RetroPlayer/shaders/IShaderPreset.h" 14 #include "cores/RetroPlayer/shaders/ShaderTypes.h" 15 #include "games/GameServices.h" 16 #include "utils/Geometry.h" 27 class CShaderPresetAddon;
47 unsigned videoWidth = 0,
48 unsigned videoHeight = 0);
52 bool ReadPresetFile(
const std::string& presetPath)
override;
54 void SetSpeed(
double speed)
override { m_speed = speed; }
55 void SetVideoSize(
const unsigned videoWidth,
const unsigned videoHeight)
override;
56 bool SetShaderPreset(
const std::string& shaderPresetPath)
override;
57 const std::string& GetShaderPreset()
const override;
58 ShaderPassVec&
GetPasses()
override {
return m_passes; }
64 bool CreateShaderTextures();
66 bool CreateSamplers();
69 void UpdateViewPort();
70 void UpdateViewPort(
CRect viewPort);
72 void DisposeShaders();
75 bool HasPathFailed(
const std::string& path)
const;
82 std::string m_presetPath;
85 std::vector<std::unique_ptr<CShaderDX>> m_pShaders;
88 std::vector<std::unique_ptr<CShaderTextureCD3D>> m_pShaderTextures;
91 std::unique_ptr<CShaderTextureCD3D> firstTexture;
94 bool m_bPresetNeedsUpdate =
true;
107 float m_frameCount = 0.0f;
110 ID3D11SamplerState* m_pSampNearest =
nullptr;
113 ID3D11SamplerState* m_pSampLinear =
nullptr;
117 std::set<std::string> m_failedPaths;
123 double m_speed = 0.0;
125 ShaderParameterMap GetShaderParameters(
const std::vector<ShaderParameter>& parameters,
126 const std::string& sourceStr)
const;
128 ShaderPassVec m_passes;
ShaderPassVec & GetPasses() override
Gets the passes of the loaded preset.
Definition: ShaderPresetDX.h:58
void SetSpeed(double speed) override
Informs about the speed of playback.
Definition: ShaderPresetDX.h:54
Definition: AudioDecoder.h:18
Definition: IShaderPreset.h:23
Definition: RenderContext.h:43
Definition: IShaderTexture.h:15
Definition: ShaderTypes.h:108
Definition: ShaderPresetDX.h:42