// This is separate from the main state loop because other functions // outside call only setScissorState to update scissor state void StateManager9::setScissorState(const gl::Rectangle &scissor, bool enabled) { if (mDirtyBits.test(DIRTY_BIT_SCISSOR_ENABLED)) setScissorEnabled(enabled); if (mDirtyBits.test(DIRTY_BIT_SCISSOR_RECT)) setScissorRect(scissor, enabled); }
void GraphicsContext::setRenderTarget(int index, RenderTargetTexture* value) { if (LN_REQUIRE_RANGE(index, 0, MaxMultiRenderTargets)) return; if (m_staging.renderTargets[index] != value) { m_staging.renderTargets[index] = value; if (index == 0 && value) { auto rect = Rect(0, 0, value->width(), value->height()); setViewportRect(rect); setScissorRect(rect); } m_dirtyFlags |= DirtyFlags_Framebuffer; } }
// 结束渲染 void D3D9Renderer::endRender() { setScissorRect(False, Rect()); }
void HelpLayer::initMenu() { CCSize size = ToolsFun::sharedTools()->getSceneSize(); setScissorRect(CCRectMake(0, 0, size.width, size.height)); initUI(); }