예제 #1
0
파일: LeftBar.cpp 프로젝트: 2asoft/xray-16
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	();
}
예제 #2
0
bool CRenderPipeline::Render(CRenderOperation* op,RenderParam* rp)
{
	Ast( NULL != rp);
	SetRenderStyle(rp->m_RS);
	SetWorld( rp->m_Mat );
	return RenderEx( op );
}
예제 #3
0
파일: LeftBar.cpp 프로젝트: 2asoft/xray-16
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);
}
예제 #4
0
	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 );
	}