1
0
mirror of https://github.com/borgesdan/xn65 synced 2024-12-29 21:54:47 +01:00
xn65/framework/graphics/depthstencilstate.hpp
2024-04-15 09:48:16 -03:00

49 lines
2.0 KiB
C++

#ifndef XNA_GRAPHICS_DEPTHSTENCILSTATE_HPP
#define XNA_GRAPHICS_DEPTHSTENCILSTATE_HPP
#include "../default.hpp"
namespace xna {
class IDepthStencilState {
public:
virtual ~IDepthStencilState(){}
virtual bool Initialize(GraphicsDevice& device, xna_error_nullarg) = 0;
virtual bool Apply(GraphicsDevice& device, xna_error_ptr_arg) = 0;
virtual void DepthEnabled(bool value) = 0;
virtual void DepthWriteEnabled(bool value) = 0;
virtual void DepthCompareFunction(ComparisonFunction value) = 0;
virtual void StencilEnabled(bool value) = 0;
virtual void StencilReadMask(int value) = 0;
virtual void StencilWriteMask(int value) = 0;
virtual void StencilFrontFacePass(StencilOperation value) = 0;
virtual void StencilFrontFaceFail(StencilOperation value) = 0;
virtual void StencilFrontFaceDepthFail(StencilOperation value) = 0;
virtual void StencilFrontFaceCompare(ComparisonFunction value) = 0;
virtual void StencilBackFacePass(StencilOperation value) = 0;
virtual void StencilBackFaceFail(StencilOperation value) = 0;
virtual void StencilBackFaceDepthFail(StencilOperation value) = 0;
virtual void StencilBackFaceCompare(ComparisonFunction value) = 0;
virtual bool DepthEnabled() = 0;
virtual bool DepthWriteEnabled() = 0;
virtual ComparisonFunction DepthCompareFunction() = 0;
virtual bool StencilEnabled() = 0;
virtual int StencilReadMask() = 0;
virtual int StencilWriteMask() = 0;
virtual StencilOperation StencilFrontFacePass() = 0;
virtual StencilOperation StencilFrontFaceFail() = 0;
virtual StencilOperation StencilFrontFaceDepthFail() = 0;
virtual ComparisonFunction StencilFrontFaceCompare() = 0;
virtual StencilOperation StencilBackFacePass() = 0;
virtual StencilOperation StencilBackFaceFail() = 0;
virtual StencilOperation StencilBackFaceDepthFail() = 0;
virtual ComparisonFunction StencilBackFaceCompare() = 0;
static PDepthStencilState None();
static PDepthStencilState Default();
static PDepthStencilState DepthRead();
};
}
#endif