2024-04-10 09:51:03 -03:00
|
|
|
#ifndef XNA_GRAPHICS_RASTERIZER_HPP
|
|
|
|
#define XNA_GRAPHICS_RASTERIZER_HPP
|
|
|
|
|
|
|
|
#include "../default.hpp"
|
2024-05-22 10:56:16 -03:00
|
|
|
#include "gresource.hpp"
|
2024-04-10 09:51:03 -03:00
|
|
|
|
|
|
|
namespace xna {
|
2024-05-22 10:56:16 -03:00
|
|
|
class RasterizerState : GraphicsResource {
|
2024-04-10 09:51:03 -03:00
|
|
|
public:
|
2024-05-22 10:56:16 -03:00
|
|
|
RasterizerState();
|
|
|
|
RasterizerState(sptr<GraphicsDevice> const& device);
|
2024-05-23 09:46:11 -03:00
|
|
|
~RasterizerState() override;
|
2024-06-22 11:02:01 -03:00
|
|
|
bool Initialize();
|
|
|
|
bool Apply();
|
2024-05-22 10:56:16 -03:00
|
|
|
xna::CullMode CullMode() const;
|
|
|
|
void CullMode(xna::CullMode value);
|
|
|
|
xna::FillMode FillMode() const;
|
|
|
|
void FillMode(xna::FillMode value);
|
|
|
|
|
|
|
|
static uptr<RasterizerState> CullNone();
|
|
|
|
static uptr<RasterizerState> CullClockwise();
|
|
|
|
static uptr<RasterizerState> CullCounterClockwise();
|
|
|
|
|
|
|
|
public:
|
|
|
|
struct PlatformImplementation;
|
|
|
|
uptr<PlatformImplementation> impl = nullptr;
|
2024-04-10 09:51:03 -03:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|