📄 slavepart.cpp
字号:
// ___ ___ ___ ___ ___ // /\__\ ___ /\__\ /\ \ /\__\ /\ \. // /::| | /\ \ /::| | /::\ \ /:/ / /::\ \. // /:|:| | \:\ \ /:|:| | /:/\:\ \ /:/ / /:/\:\ \. // /:/|:|__|__ /::\__\ /:/|:| |__ /:/ \:\ \ /:/ / /::\~\:\ \.// /:/ |::::\__\ __/:/\/__/ /:/ |:| /\__\ /:/__/_\:\__\ /:/__/ /:/\:\ \:\__\.// \/__/~~/:/ / /\/:/ / \/__|:|/:/ / \:\ /\ \/__/ \:\ \ \:\~\:\ \/__/// /:/ / \::/__/ |:/:/ / \:\ \:\__\ \:\ \ \:\ \:\__\. // /:/ / \:\__\ |::/ / \:\/:/ / \:\ \ \:\ \/__/ // /:/ / \/__/ /:/ / \::/ / \:\__\ \:\__\. // \/__/ \/__/ \/__/ \/__/ \/__/ // // =============================================================================// Minimalist OpenGL Environment// Parallel Rendering Extension// =============================================================================//// Copyright 2007 Balazs Domonkos// // This program is free software; you can redistribute it and/or// modify it under the terms of the GNU General Public License// as published by the Free Software Foundation; either version 2// of the License, or (at your option) any later version.// // This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.// // You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA./// @file SlavePart.cpp/// ParaComp slave part window proxy#include <paracomp/include/SlavePart.h>#include <paracomp/include/Support.h>#if MINGLE_PARACOMP_SUPPORT == 1namespace MinGLE {#define PCCHECKERROR(method, err) if(err!=PC_NO_ERROR) Except(method, pcGetErrorString(err))ParaCompSlavePart::ParaCompSlavePart(Window *window, const std::string& thisHost, ParaCompSupport *support, ParallelRenderingSupport::CompositingOperator compositingOperator) : ParaCompPart(window, support, compositingOperator), mThisHost(thisHost){ // Create event injector mEventInjector = new EventInjector(this, thisHost); // Create context createContext(); // Refresh context info _refreshContextInfo(); // Create proper frame processor _createFrameProcessor(); // Connect event injector to the event collector of the master mEventInjector->connectToCollector(mMasterHost);}ParaCompSlavePart::~ParaCompSlavePart() { delete mEventInjector;}void ParaCompSlavePart::createContext() { // Create slave context //printf("slave %s creating context\n", mThisHost.c_str()); { PCerr err = pcContextCreate(mSupport->getNetId(), (char *) mThisHost.c_str(), &mContext); PCCHECKERROR("ParaCompPart::destroyContext", err); } //printf("slave %s ok\n", mThisHost.c_str());}void ParaCompSlavePart::_refreshContextInfo() { // Base implementation ParaCompPart::_refreshContextInfo(); // Get name of the master host PCstring master; pcContextGetString(mContext, PC_HOSTNAME, PC_MASTER_INDEX, &master); mMasterHost = master; // Get compositing operator PCint compositingOperator; pcContextGetInteger(mContext, PC_COMPOSITE_TYPE, PC_INDEX_DEFAULT, &compositingOperator); mCompositingOperator = (compositingOperator == PC_COMP_ALPHA_SORT) ? ParallelRenderingSupport::ALPHA_BLEND_OPERATOR : ParallelRenderingSupport::DEPTH_OPERATOR;}#undef PCCHECKERROR} // namespace MinGLE#endif // MINGLE_PARACOMP_SUPPORT == 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -