コード例 #1
0
ファイル: RenderStateSet.cpp プロジェクト: johndpope/Medusa
const Rect2F& RenderStateSet::GetScissorBoxOrEmpty() const
{
	ScissorRenderState* state = GetState<ScissorRenderState>();
	if (state != nullptr)
	{
		return state->ScissorBox();
	}
	return Rect2F::Zero;
}
コード例 #2
0
ScissorRenderState* ScissorRenderState::Current()
{
	IRender& render = Render::Instance();
	ScissorRenderState* state = new ScissorRenderState();

	state->Enable(render.GetBoolean(GraphicsBooleanName::ScissorTest));

	Rect2I scissorBox;
	render.GetIntegerArray(GraphicsIntegerArrayName::ScissorBox, scissorBox.GetBuffer());
	state->SetScissorBox(Rect2F(scissorBox.Origin.X, scissorBox.Origin.Y, scissorBox.Size.Width, scissorBox.Size.Height));

	return state;
}
コード例 #3
0
ファイル: RenderStateSet.cpp プロジェクト: johndpope/Medusa
void RenderStateSet::SetScissorBox(const Rect2F& val)
{
	ScissorRenderState* state = AllocState<ScissorRenderState>();
	state->SetScissorBox(val);
}
コード例 #4
0
ファイル: RenderStateSet.cpp プロジェクト: johndpope/Medusa
bool RenderStateSet::IsScissorEnabled() const
{
	ScissorRenderState* state = GetState<ScissorRenderState>();
	return state != nullptr&&state->IsEnabled();
}
コード例 #5
0
ファイル: RenderStateSet.cpp プロジェクト: johndpope/Medusa
const Rect2F* RenderStateSet::TryGetScissorBox() const
{
	ScissorRenderState* state = GetState<ScissorRenderState>();
	RETURN_NULL_IF_NULL(state);
	return &state->ScissorBox();
}
コード例 #6
0
ファイル: RenderStateSet.cpp プロジェクト: johndpope/Medusa
void RenderStateSet::EnableScissor(bool val)
{
	ScissorRenderState* state = AllocState<ScissorRenderState>();
	state->Enable(val);
}