Пример #1
0
bool AppImplMswRendererGl::initialize( HWND wnd, HDC dc, RendererRef sharedRenderer )
{
	if( ( ! sMultisampleSupported ) && mRenderer->getAntiAliasing() ) {
		// first create a dummy window and use it to determine if we can do antialiasing
		int width = 640;
		int height = 480;
		HWND dummyWnd = createDummyWindow( &width, &height, false );
		HDC dummyDC = ::GetDC( dummyWnd );
		
		bool result = initializeInternal( dummyWnd, dummyDC, NULL );
		
		::ReleaseDC( dummyWnd, dummyDC );
		::DestroyWindow( dummyWnd );
		::UnregisterClass( TEXT("FLINTDUMMY"), ::GetModuleHandle( NULL ) );
		
		if( ! result )
			return false;
		// now do it again but with newly created multisample settings
	}
	
	RendererGl *sharedRendererGl = dynamic_cast<RendererGl*>( sharedRenderer.get() );
	HGLRC sharedRC = ( sharedRenderer ) ? sharedRendererGl->mImpl->mRC : NULL;

	return initializeInternal( wnd, dc, sharedRC );
}
Пример #2
0
    bool Model::initialize(const SignalBank &input)
    {
        outputModules_.clear();
        modules_.clear();

        if(!initializeInternal(input))
        {
            LOUDNESS_ERROR(name_ << ": Not initialised!");
            return 0;
        }
        else
        {
            if (outputModules_.empty())
            {
                LOUDNESS_ERROR(name_ << ": Invalid, this Model has no outputs.");
                return 0;
            }
            LOUDNESS_DEBUG(name_ << ": initialised.");

            nModules_ = (int)modules_.size();

            //initialise all from root module
            modules_[0] -> initialize(input);

            configureSignalBankAggregation();

            LOUDNESS_DEBUG(name_ 
                    << ": Module targets set and initialised.");

            initialized_ = 1;
            return 1;
        }
    }
Пример #3
0
    bool Model::initialize(const TrackBank &input)
    {
        if(!initializeInternal(input))
        {
            LOUDNESS_ERROR(name_ <<
                    ": Not initialised!");
            return 0;
        }
        else
        {
            LOUDNESS_DEBUG(name_ << ": initialised.");

            //set up the chain
            nModules_ = (int)modules_.size();
            for(int i=0; i<nModules_-1; i++)
                modules_[i]->setTargetModule(modules_[i+1].get());
            //initialise all
            modules_[0]->initialize(input);

            LOUDNESS_DEBUG(name_ 
                    << ": Targets set and all modules initialised.");

            initialized_ = 1;
            return 1;
        }
    }
bool AppImplMswRendererGl::initialize( HWND wnd, HDC dc )
{
	if( ( ! sMultisampleSupported ) && mRenderer->getAntiAliasing() ) {
		// first create a dummy window and use it to determine if we can do antialiasing
		int width = mApp->getWindowWidth();
		int height = mApp->getWindowHeight();
		HWND dummyWnd = createDummyWindow( &width, &height, mApp->isFullScreen() );
		HDC dummyDC = ::GetDC( dummyWnd );
		
		bool result = initializeInternal( dummyWnd, dummyDC );
		
		::ReleaseDC( dummyWnd, dummyDC );
		::DestroyWindow( dummyWnd );
		::UnregisterClass( TEXT("FLINTDUMMY"), ::GetModuleHandle( NULL ) );
		
		if( ! result )
			return false;
		// now do it again but with newly created multisample settings
	}
	
	return initializeInternal( wnd, dc );
}