void __fastcall TfraLeftBar::ebRenderStyleClick(TObject *Sender) { if (Sender==ebRenderEngineStyle){ if (!ATools->IsVisualPresent()) ExecCommand( COMMAND_MAKE_PREVIEW ); if (!ATools->IsVisualPresent()) SetRenderStyle(false); else SetRenderStyle(true); } ExecCommand (COMMAND_UPDATE_PROPERTIES); UI->RedrawScene (); }
bool CRenderPipeline::Render(CRenderOperation* op,RenderParam* rp) { Ast( NULL != rp); SetRenderStyle(rp->m_RS); SetWorld( rp->m_Mat ); return RenderEx( op ); }
void TfraLeftBar::UpdateBar(){ int i; for (i=0; i<fraLeftBar->ComponentCount; i++){ TComponent* temp = fraLeftBar->Components[i]; if (dynamic_cast<TExtBtn *>(temp) != NULL) ((TExtBtn*)temp)->UpdateMouseInControl(); } if (ebRenderEngineStyle->Down&&!ATools->IsVisualPresent()) SetRenderStyle(false); }
bool CEditRenderPipeline::Render( CRenderOperation* op,RenderParam* rp ) { Ast( NULL != rp); SetRenderStyle(rp->m_RS); SetWorld( rp->m_Mat ); if(IsPixelFillCount) { StencilParam tmpStencilParam; tmpStencilParam.m_bEnable=TRUE; tmpStencilParam.m_nCompFun=CMP_ALWAYS; tmpStencilParam.m_nRefrence=0; tmpStencilParam.m_nFailedFlag=STENCILOP_KEEP; tmpStencilParam.m_nZFailedFlag=STENCILOP_KEEP; tmpStencilParam.m_nPassFlag=STENCILOP_INCRSAT; tmpStencilParam.m_nReadMask=0xFFFFFFFF; tmpStencilParam.m_nWriteMask=0xFFFFFFFF; //开启模板测试 _SetRenderStyle( RS_STENCILENABLE, DWORD(tmpStencilParam.m_bEnable) ); _SetRenderStyle( RS_STENCILREF, DWORD(tmpStencilParam.m_nRefrence) ); _SetRenderStyle( RS_STENCILFUNC, tmpStencilParam.m_nCompFun ); _SetRenderStyle( RS_STENCILFAIL, tmpStencilParam.m_nFailedFlag ); _SetRenderStyle( RS_STENCILZFAIL, tmpStencilParam.m_nZFailedFlag ); _SetRenderStyle( RS_STENCILPASS, tmpStencilParam.m_nPassFlag ); _SetRenderStyle( RS_STENCILMASK, tmpStencilParam.m_nReadMask ); _SetRenderStyle( RS_STENCILWRITEMASK, tmpStencilParam.m_nWriteMask ); //绑定像素填充率计算的shader } else { //将模版缓存恢复到原来状态!即RS中 但是引擎没有封装,而且也不适合每一桢都调用 //所有将模版恢复到原来状态的设置代码写在外面 } return RenderEx( op ); }
void LynxUserInterfaceModel::OnFillWindow() { // The View calls this because an option has (somehow!) been selected in the UI (menu/button/icon/whatever). SetRenderStyle( RenderStyle::FillWindow ); }