light/modules/renderer/private/dx/blender.hpp

31 lines
527 B
C++
Raw Permalink Normal View History

2022-03-08 21:19:19 +03:30
#pragma once
#include <d3d11.h>
#include <renderer/blender.hpp>
2022-03-08 21:19:19 +03:30
#include <wrl.h>
2025-07-11 00:05:48 +03:30
namespace lt {
2022-03-08 21:19:19 +03:30
class dxSharedContext;
class dxBlender: public Blender
{
2025-07-05 16:07:51 +03:30
public:
dxBlender(Ref<dxSharedContext> sharedContext);
void enable(BlendFactor srcFactor, BlendFactor dstFactor) override;
void disable() override;
2022-03-08 21:19:19 +03:30
private:
Ref<dxSharedContext> m_context;
2022-03-08 21:19:19 +03:30
const std::unordered_map<BlendFactor, D3D11_BLEND> m_factor_map;
2022-03-08 21:19:19 +03:30
Microsoft::WRL::ComPtr<ID3D11BlendState> m_blend_state;
2022-03-08 21:19:19 +03:30
D3D11_BLEND_DESC m_desc;
2022-03-08 21:19:19 +03:30
};
2025-07-11 00:05:48 +03:30
} // namespace lt