1
0
mirror of https://github.com/borgesdan/xn65 synced 2024-12-29 21:54:47 +01:00
xn65/inc/xna/graphics/depthstencilstate.hpp

58 lines
1.9 KiB
C++
Raw Normal View History

2024-04-15 09:48:16 -03:00
#ifndef XNA_GRAPHICS_DEPTHSTENCILSTATE_HPP
#define XNA_GRAPHICS_DEPTHSTENCILSTATE_HPP
#include "../default.hpp"
2024-05-20 10:29:20 -03:00
#include "gresource.hpp"
2024-04-15 09:48:16 -03:00
namespace xna {
2024-05-20 10:29:20 -03:00
class DepthStencilState : public GraphicsResource {
2024-04-15 09:48:16 -03:00
public:
2024-05-20 10:29:20 -03:00
DepthStencilState();
DepthStencilState(sptr<GraphicsDevice> const& device);
2024-05-23 09:46:11 -03:00
~DepthStencilState() override;
2024-05-20 10:29:20 -03:00
bool Initialize(xna_error_nullarg);
bool Apply(xna_error_ptr_arg);
2024-04-15 09:48:16 -03:00
2024-05-20 10:29:20 -03:00
void DepthEnabled(bool value);
void DepthWriteEnabled(bool value);
void DepthCompareFunction(ComparisonFunction value);
void StencilEnabled(bool value);
void StencilReadMask(Int value);
void StencilWriteMask(Int value);
void StencilFrontFacePass(StencilOperation value);
void StencilFrontFaceFail(StencilOperation value);
void StencilFrontFaceDepthFail(StencilOperation value);
void StencilFrontFaceCompare(ComparisonFunction value);
void StencilBackFacePass(StencilOperation value);
void StencilBackFaceFail(StencilOperation value);
void StencilBackFaceDepthFail(StencilOperation value);
void StencilBackFaceCompare(ComparisonFunction value);
bool DepthEnabled() const;
bool DepthWriteEnabled() const;
ComparisonFunction DepthCompareFunction() const;
bool StencilEnabled() const;
Int StencilReadMask() const;
Int StencilWriteMask() const;
StencilOperation StencilFrontFacePass() const;
StencilOperation StencilFrontFaceFail() const;
StencilOperation StencilFrontFaceDepthFail() const;
ComparisonFunction StencilFrontFaceCompare() const;
StencilOperation StencilBackFacePass() const;
StencilOperation StencilBackFaceFail() const;
StencilOperation StencilBackFaceDepthFail() const;
ComparisonFunction StencilBackFaceCompare() const;
static uptr<DepthStencilState> None();
static uptr<DepthStencilState> Default();
static uptr<DepthStencilState> DepthRead();
public:
struct PlatformImplementation;
uptr<PlatformImplementation> impl = nullptr;
2024-04-15 09:48:16 -03:00
};
}
#endif