本文整理汇总了C++中ogre::RenderWindow类的典型用法代码示例。如果您正苦于以下问题:C++ RenderWindow类的具体用法?C++ RenderWindow怎么用?C++ RenderWindow使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了RenderWindow类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: startup
int startup(){
_root = new Ogre::Root("plugins_d.cfg");
if(!_root->showConfigDialog()){
return -1;
}
Ogre::RenderWindow* window = _root->initialise(true, "Ventana Ogre");
_sceneManager = _root->createSceneManager(Ogre::ST_GENERIC);
Ogre::Camera* camera = _sceneManager->createCamera("Camera");
camera->setPosition(Ogre::Vector3(500,100,500));
camera->lookAt(Ogre::Vector3(0,0,0));
camera->setNearClipDistance(5);
Ogre::Viewport* viewport = window->addViewport(camera);
viewport->setBackgroundColour(Ogre::ColourValue(0.0,0.0,0.0));
camera->setAspectRatio(Ogre::Real(viewport->getActualWidth()/viewport->getActualHeight()));
_listener = new FrameListenerProyectos(window,camera);
_root->addFrameListener(_listener);
loadResources();
createScene();
_root->startRendering();
return 0;
}
开发者ID:luiscarlo6,项目名称:Computacion-Grafica-USB,代码行数:28,代码来源:OgreSemana10.cpp
示例2: destroy
void BaseManager::destroy()
{
destroyScene();
destroyPointerManager();
destroyInput();
destroyGui();
// очищаем сцену
if (mSceneManager)
{
mSceneManager->clearScene();
mSceneManager->destroyAllCameras();
mSceneManager = nullptr;
mCamera = nullptr;
}
if (mWindow)
{
mWindow->destroy();
mWindow = nullptr;
}
if (mRoot)
{
Ogre::RenderWindow* window = mRoot->getAutoCreatedWindow();
if (window)
window->removeAllViewports();
delete mRoot;
mRoot = nullptr;
}
}
开发者ID:2asoft,项目名称:MMO-Framework,代码行数:35,代码来源:BaseManager.cpp
示例3: setGraphicsLevel
ShaderManager::GraphicsLevel ShaderManager::setGraphicsLevel(ShaderManager::GraphicsLevel newLevel)
{
if (newLevel > mBestGraphicsLevel) {
S_LOG_FAILURE("Cannot set graphics level " << mGraphicSchemes[newLevel]);
return mGraphicsLevel;
}
S_LOG_INFO("Using graphics level " << mGraphicSchemes[newLevel]);
Ogre::MaterialManager::getSingleton().setActiveScheme(mGraphicSchemes[newLevel]);
Ogre::RenderWindow* window = EmberOgre::getSingleton().getRenderWindow();
for (int i = 0; i < window->getNumViewports(); ++i) {
window->getViewport(i)->setMaterialScheme(mGraphicSchemes[newLevel]);
}
switch (newLevel) {
case LEVEL_EXPERIMENTAL:
case LEVEL_HIGH:
setPSSMShadows();
break;
case LEVEL_MEDIUM:
case LEVEL_LOW:
case LEVEL_DEFAULT:
setNoShadows();
break;
}
mGraphicsLevel = newLevel;
EventLevelChanged.emit();
return mGraphicsLevel;
}
开发者ID:junrw,项目名称:ember-gsoc2012,代码行数:33,代码来源:ShaderManager.cpp
示例4: destroyBasisManager
void BasisManager::destroyBasisManager() // очищаем все параметры каркаса приложения
{
destroyGui();
// очищаем сцену
if (mSceneMgr) {
mSceneMgr->clearScene();
mSceneMgr->destroyAllCameras();
mSceneMgr = 0;
}
destroyInput(); // удаляем ввод
if (mWindow) {
mWindow->destroy();
mWindow = 0;
}
if (mRoot) {
Ogre::RenderWindow * mWindow = mRoot->getAutoCreatedWindow();
if (mWindow) mWindow->removeAllViewports();
delete mRoot;
mRoot = 0;
}
}
开发者ID:MyGUI,项目名称:mygui-historical,代码行数:27,代码来源:BasisManager.cpp
示例5: start
int Hundir::start() {
_root = new Ogre::Root();
if(!_root->restoreConfig()) {
_root->showConfigDialog();
_root->saveConfig();
}
Ogre::RenderWindow* window = _root->initialise(true,"Hundir Example");
_sceneManager = _root->createSceneManager(Ogre::ST_GENERIC);
Ogre::Camera* cam = _sceneManager->createCamera("MainCamera");
cam->setPosition(Ogre::Vector3(-10,30,35));
cam->lookAt(Ogre::Vector3(0,0,0));
cam->setNearClipDistance(5);
cam->setFarClipDistance(10000);
Ogre::Viewport* viewport = window->addViewport(cam);
viewport->setBackgroundColour(Ogre::ColourValue(0.0,0.0,0.0));
double width = viewport->getActualWidth();
double height = viewport->getActualHeight();
cam->setAspectRatio(width / height);
loadResources();
createScene();
_framelistener = new MyFrameListener(window, cam, _sceneManager);
_root->addFrameListener(_framelistener);
_root->startRendering();
return 0;
}
开发者ID:dario0109,项目名称:HundirLaFlota,代码行数:29,代码来源:Hundir.cpp
示例6: createWindow
void OgreRenderer::createWindow(const std::string &title, const WindowSettings& settings)
{
assert(mRoot);
mRoot->initialise(false);
// create a hidden 1x1 background window to keep resources when recreating the secondary (real) window
NameValuePairList params_;
params_.insert(std::make_pair("title", title));
params_.insert(std::make_pair("FSAA", "0"));
params_.insert(std::make_pair("vsync", "false"));
params_.insert(std::make_pair("hidden", "true"));
Ogre::RenderWindow* hiddenWindow = mRoot->createRenderWindow("InactiveHidden", 1, 1, false, ¶ms_);
hiddenWindow->setActive(false);
NameValuePairList params;
params.insert(std::make_pair("title", title));
params.insert(std::make_pair("FSAA", settings.fsaa));
params.insert(std::make_pair("vsync", settings.vsync ? "true" : "false"));
mWindow = mRoot->createRenderWindow(title, settings.window_x, settings.window_y, settings.fullscreen, ¶ms);
// create the semi-transparent black background texture used by the GUI.
// has to be created in code with TU_DYNAMIC_WRITE_ONLY param
// so that it can be modified at runtime.
Ogre::TextureManager::getSingleton().createManual(
"transparent.png",
Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
Ogre::TEX_TYPE_2D,
1, 1,
0,
Ogre::PF_A8R8G8B8,
Ogre::TU_WRITE_ONLY);
}
开发者ID:dougmencken,项目名称:openmw,代码行数:34,代码来源:renderer.cpp
示例7:
OgreAppFrameListener::~OgreAppFrameListener()
{
Ogre::RenderWindow *window = mApplication->getRenderWindow();
WindowEventUtilities::removeWindowEventListener(window, this);
if(!window->isClosed())
windowClosed(window);
}
开发者ID:zphilip,项目名称:KinectOgreAR,代码行数:8,代码来源:OgreAppFrameListener.cpp
示例8: main
int main(int argc, char* argv[]){
cout << "Test Ogre Program blaha" << endl;
//Relative to where its executed from, not binary location
Ogre::Root *mRoot = new Ogre::Root("configs/plugins.cfg","configs/config.cfg","logs/main.log");
if(!(mRoot->restoreConfig() || mRoot->showConfigDialog())){
delete mRoot;
return -1;
}
// setup resources
// Only add the minimally required resource locations to load up the Ogre head mesh
Ogre::ResourceGroupManager::getSingleton().addResourceLocation("/Users/jgrey/OgreSDK/Media/materials/programs", "FileSystem", "General");
Ogre::ResourceGroupManager::getSingleton().addResourceLocation("/Users/jgrey/OgreSDK/Media/materials/programs/GLSL", "FileSystem", "General");
Ogre::ResourceGroupManager::getSingleton().addResourceLocation("/Users/jgrey/OgreSDK/Media/materials/scripts", "FileSystem", "General");
Ogre::ResourceGroupManager::getSingleton().addResourceLocation("/Users/jgrey/OgreSDK/Media/materials/textures", "FileSystem", "General");
Ogre::ResourceGroupManager::getSingleton().addResourceLocation("/Users/jgrey/OgreSDK/Media/models", "FileSystem", "General");
//Create the window
Ogre::RenderWindow *mWindow = mRoot->initialise(true, "initial Render Window");
Ogre::SceneManager *sceneManager = mRoot->createSceneManager(Ogre::ST_GENERIC);
Ogre::Camera *camera = sceneManager->createCamera("PlayerCam");
camera->setPosition(Ogre::Vector3(0,0,80));
camera->lookAt(Ogre::Vector3(0,0,-300));
camera->setNearClipDistance(5);
Ogre::Viewport* vp = mWindow->addViewport(camera);
vp->setBackgroundColour(Ogre::ColourValue(0,0,0,0));
camera->setAspectRatio(Ogre::Real(vp->getActualWidth()) / Ogre::Real(vp->getActualHeight()));
Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
Ogre::Entity* ogreHead = sceneManager->createEntity("Head","ogreHead.mesh");
Ogre::SceneNode* headNode = sceneManager->getRootSceneNode()->createChildSceneNode();
headNode->attachObject(ogreHead);
sceneManager->setAmbientLight(Ogre::ColourValue(0.5,0.5,0.5));
//Run the system
bool continueRunning = true;
while(continueRunning){
mRoot->renderOneFrame();
headNode->rotate(Ogre::Vector3(0,1,0),Ogre::Radian(0.005));
if(mWindow->isClosed()){
continueRunning = false;
}
}
delete mRoot;
}
开发者ID:jgrey4296,项目名称:simpleOgreCompilation,代码行数:58,代码来源:main.cpp
示例9: executeLocalScripts
bool OMW::Engine::frameRenderingQueued (const Ogre::FrameEvent& evt)
{
try
{
mEnvironment.setFrameDuration (evt.timeSinceLastFrame);
// update input
MWBase::Environment::get().getInputManager()->update(evt.timeSinceLastFrame, false);
// sound
if (mUseSound)
MWBase::Environment::get().getSoundManager()->update (evt.timeSinceLastFrame);
// global scripts
MWBase::Environment::get().getScriptManager()->getGlobalScripts().run();
bool changed = MWBase::Environment::get().getWorld()->hasCellChanged();
// local scripts
executeLocalScripts(); // This does not handle the case where a global script causes a cell
// change, followed by a cell change in a local script during the same
// frame.
// passing of time
if (!MWBase::Environment::get().getWindowManager()->isGuiMode())
MWBase::Environment::get().getWorld()->advanceTime (
mEnvironment.getFrameDuration()*MWBase::Environment::get().getWorld()->getTimeScaleFactor()/3600);
if (changed) // keep change flag for another frame, if cell changed happend in local script
MWBase::Environment::get().getWorld()->markCellAsUnchanged();
// update actors
std::vector<std::pair<std::string, Ogre::Vector3> > movement;
MWBase::Environment::get().getMechanicsManager()->update (movement, mEnvironment.getFrameDuration(),
MWBase::Environment::get().getWindowManager()->isGuiMode());
if (!MWBase::Environment::get().getWindowManager()->isGuiMode())
MWBase::Environment::get().getWorld()->doPhysics (movement, mEnvironment.getFrameDuration());
// update world
MWBase::Environment::get().getWorld()->update (evt.timeSinceLastFrame, MWBase::Environment::get().getWindowManager()->isGuiMode());
// update GUI
Ogre::RenderWindow* window = mOgre->getWindow();
unsigned int tri, batch;
MWBase::Environment::get().getWorld()->getTriangleBatchCount(tri, batch);
MWBase::Environment::get().getWindowManager()->wmUpdateFps(window->getLastFPS(), tri, batch);
MWBase::Environment::get().getWindowManager()->onFrame(evt.timeSinceLastFrame);
}
catch (const std::exception& e)
{
std::cerr << "Error in framelistener: " << e.what() << std::endl;
}
return true;
}
开发者ID:charles-stafford,项目名称:openmw,代码行数:58,代码来源:engine.cpp
示例10: pollEvents
void ApplicationContextAndroid::pollEvents()
{
for(WindowList::iterator it = mWindows.begin(); it != mWindows.end(); ++it)
{
Ogre::RenderWindow* win = it->render;
win->windowMovedOrResized();
windowResized(win);
}
}
开发者ID:yiliu1203,项目名称:OGRE,代码行数:9,代码来源:OgreApplicationContextAndroid.cpp
示例11: postRenderTargetUpdate
void OculusDisplay::postRenderTargetUpdate(const Ogre::RenderTargetEvent& evt)
{
if ( !oculus_ )
{
return;
}
Ogre::RenderWindow *window = render_widget_->getRenderWindow();
window->swapBuffers();
}
开发者ID:rahulraw,项目名称:adVentuRe,代码行数:9,代码来源:oculus_display.cpp
示例12: RenderWindow
OgreWindow::OgreWindow(OgreModule& module, UiWindow& window, Ogre::RenderWindow& context)
: RenderWindow(context.getWidth(), context.getHeight(), context.getName(), 0)
, mModule(module)
, mWindow(window)
, mContext(context)
{
Ogre::WindowEventUtilities::addWindowEventListener(&mContext, this);
mContext.getCustomAttribute("WINDOW", &mHandle);
}
开发者ID:alexeyknyshev,项目名称:kiog,代码行数:10,代码来源:mkOgreModule.cpp
示例13: _fireInputEventAndroid
void ApplicationContextAndroid::_fireInputEventAndroid(AInputEvent* event, int wheel) {
Event evt = {0};
static TouchFingerEvent lastTouch = {0};
if(wheel) {
evt.type = MOUSEWHEEL;
evt.wheel.y = wheel;
_fireInputEvent(evt, 0);
lastTouch.fingerId = -1; // prevent move-jump after pinch is over
return;
}
if (AInputEvent_getType(event) == AINPUT_EVENT_TYPE_MOTION) {
int32_t action = AMOTION_EVENT_ACTION_MASK & AMotionEvent_getAction(event);
switch (action) {
case AMOTION_EVENT_ACTION_DOWN:
evt.type = FINGERDOWN;
break;
case AMOTION_EVENT_ACTION_UP:
evt.type = FINGERUP;
break;
case AMOTION_EVENT_ACTION_MOVE:
evt.type = FINGERMOTION;
break;
default:
return;
}
Ogre::RenderWindow* win = getRenderWindow();
evt.tfinger.fingerId = AMotionEvent_getPointerId(event, 0);
evt.tfinger.x = AMotionEvent_getRawX(event, 0) / win->getWidth();
evt.tfinger.y = AMotionEvent_getRawY(event, 0) / win->getHeight();
if(evt.type == FINGERMOTION) {
if(evt.tfinger.fingerId != lastTouch.fingerId)
return; // wrong finger
evt.tfinger.dx = evt.tfinger.x - lastTouch.x;
evt.tfinger.dy = evt.tfinger.y - lastTouch.y;
}
lastTouch = evt.tfinger;
} else {
if(AKeyEvent_getKeyCode(event) != AKEYCODE_BACK)
return;
evt.type = AKeyEvent_getAction(event) == AKEY_EVENT_ACTION_DOWN ? KEYDOWN : KEYUP;
evt.key.keysym.sym = SDLK_ESCAPE;
}
_fireInputEvent(evt, 0);
}
开发者ID:yiliu1203,项目名称:OGRE,代码行数:55,代码来源:OgreApplicationContextAndroid.cpp
示例14: _generateEventOutgoingObject
void SoundDetector::_generateEventOutgoingObject(Ogre::String objectName)
{
if(debug)
{
Ogre::RenderWindow* win = ClassPack::getSingleton()->getRenderWindow();
Ogre::String str = "Outgoing : ";
str.append( objectName );
win->setDebugText( str );
}
eventMng->createDetectionEvent("outgoingSound_" + mName, objectName);
}
开发者ID:Arkasha83,项目名称:cferrario-open-portfolio,代码行数:11,代码来源:SoundDetector.cpp
示例15: windowAttributes
VIEW_API void windowAttributes(size_t& handle, u32& width, u32& height)
{
Ogre::Root* root = Ogre::Root::getSingletonPtr();
if (! root)
throw std::logic_error
("View::windowAttributes: Ogre hasn't been initialized yet.");
Ogre::RenderWindow* win = root->getAutoCreatedWindow();
win->getCustomAttribute("WINDOW", &handle);
height = win->getHeight();
width = win->getWidth();
}
开发者ID:nurF,项目名称:Brute-Force-Game-Engine,代码行数:14,代码来源:WindowAttributes.cpp
示例16: renderThreadApp
//---------------------------------------------------------------------
unsigned long renderThreadApp(Ogre::ThreadHandle* threadHandle) {
LeDernierMorkid::LeDernierMorkidThreadData* threadData = reinterpret_cast<LeDernierMorkid::LeDernierMorkidThreadData*>(threadHandle->getUserParam());
GraphicsSystem* graphicsSystem = threadData->graphicsSystem;
Ogre::Barrier* barrier = threadData->barrier;
graphicsSystem->initialize("Le Dernier Morkid");
graphicsSystem->getInputHandler()->setGrabMousePointer(true);
graphicsSystem->getInputHandler()->setMouseVisible(false);
barrier->sync();
if (graphicsSystem->getQuit()) {
graphicsSystem->deinitialize();
return 0; // User cancelled config
}
graphicsSystem->createScene();
barrier->sync();
Ogre::RenderWindow* renderWindow = graphicsSystem->getRenderWindow();
Ogre::Timer timer;
unsigned long startTime = timer.getMicroseconds();
double timeSinceLast = 1.0 / 60.0;
while (!graphicsSystem->getQuit()) {
graphicsSystem->beginFrameParallel();
graphicsSystem->update(timeSinceLast);
graphicsSystem->finishFrameParallel();
if (!renderWindow->isVisible()) {
// Don't burn CPU cycles unnecessary when we're minimized.
Ogre::Threads::Sleep(500);
}
unsigned long endTime = timer.getMicroseconds();
timeSinceLast = (endTime - startTime) / 1000000.0;
timeSinceLast = std::min(1.0, timeSinceLast); // Prevent from going haywire.
startTime = endTime;
}
barrier->sync();
graphicsSystem->destroyScene();
barrier->sync();
graphicsSystem->deinitialize();
barrier->sync();
return 0;
}
开发者ID:Swarthon,项目名称:LeDernierMorkid,代码行数:51,代码来源:GraphicsThread.cpp
示例17:
OgreCameraWrapper::OgreCameraWrapper(const Glib::ustring& name) :
CameraWrapper(name)
{
// Create the camera from the scenemanager
// ---------------------------------------
camera = GraphicModule::getInstancePtr()->getSceneManager()->createCamera(name);
// Create one viewport, entire window
// ----------------------------------
Ogre::Root* ogreRoot = Ogre::Root::getSingletonPtr();
Ogre::RenderWindow* window = ogreRoot->getAutoCreatedWindow();
Ogre::Viewport* vp = window->addViewport(camera);
vp->setBackgroundColour(Ogre::ColourValue(0.5,1,0));
}
开发者ID:leirbag,项目名称:Gnoll,代码行数:14,代码来源:ogrecamerawrapper.cpp
示例18: createViewports
void CameraComponent::createViewports(void)
{
Ogre::RenderWindow* mWindow = Application::getInstance()->getWindow();
// Create one viewport, entire window
Ogre::Viewport* vp = mWindow->addViewport(mCamera);
vp->setBackgroundColour(Ogre::ColourValue(0,0,0));
// Alter the camera aspect ratio to match the viewport
mCamera->setAspectRatio(
Ogre::Real(vp->getActualWidth()) / Ogre::Real(vp->getActualHeight()));
StateManager::getInstance()->height = vp->getActualHeight();
StateManager::getInstance()->width = vp->getActualWidth();
}
开发者ID:jsj2008,项目名称:re-amp,代码行数:15,代码来源:CameraComponent.cpp
示例19: initialise
void ClipboardManager::initialise()
{
MYGUI_ASSERT(false == mIsInitialise, INSTANCE_TYPE_NAME << " initialised twice");
MYGUI_LOG(Info, "* Initialise: " << INSTANCE_TYPE_NAME);
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
Ogre::RenderWindow * window = Gui::getInstance().getRenderWindow();
if (window != nullptr) {
window->getCustomAttribute("WINDOW", &mHwnd);
}
#endif
MYGUI_LOG(Info, INSTANCE_TYPE_NAME << " successfully initialized");
mIsInitialise = true;
}
开发者ID:venkatarajasekhar,项目名称:viper,代码行数:15,代码来源:MyGUI_ClipboardManager.cpp
示例20: onInitialize
void OculusDisplay::onInitialize()
{
fullscreen_property_ = new rviz::BoolProperty( "Render to Oculus", false,
"If checked, will render fullscreen on your secondary screen. Otherwise, shows a window.",
this, SLOT(onFullScreenChanged()));
prediction_dt_property_ = new rviz::FloatProperty( "Motion prediction (ms)", 30.0,
"Time in ms to predict head motion. Decreases overall latency and motion sickness.",
this, SLOT(onPredictionDtChanged()) );
near_clip_property_ = new rviz::FloatProperty( "Near Clip Distance", 0.02,
"Minimum rendering distance for Oculus camera.",
this );
horizontal_property_ = new rviz::BoolProperty( "Fixed Horizon", true,
"If checked, will ignore the pitch component of the RViz camera.", this);
follow_cam_property_ = new rviz::BoolProperty( "Follow RViz Camera", true,
"If checked, will set the Oculus camera to the same position as the main view camera.",
this, SLOT( onFollowCamChanged() ) );
tf_frame_property_ = new rviz::TfFrameProperty( "Target Frame", "<Fixed Frame>",
"Tf frame that the Oculus camera should follow.", this, context_->getFrameManager(), true );
offset_property_ = new rviz::VectorProperty( "Offset", Ogre::Vector3(0,0,0),
"Additional offset of the Oculus camera from the followed RViz camera or target frame.", this );
pub_tf_property_ = new rviz::BoolProperty( "Publish tf", true,
"If checked, will publish the pose of the Oculus camera as a tf frame.",
this, SLOT( onPubTfChanged() ) );
pub_tf_frame_property_ = new rviz::StringProperty( "Tf Frame", "oculus",
"Name of the published tf frame.", this );
render_widget_ = new rviz::RenderWidget( rviz::RenderSystem::get() );
render_widget_->setVisible(false);
render_widget_->setWindowTitle( "Oculus View" );
render_widget_->setParent( context_->getWindowManager()->getParentWindow() );
render_widget_->setWindowFlags( Qt::Window | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowMaximizeButtonHint );
Ogre::RenderWindow *window = render_widget_->getRenderWindow();
window->setVisible(false);
window->setAutoUpdated(false);
window->addListener(this);
scene_node_ = scene_manager_->getRootSceneNode()->createChildSceneNode();
}
开发者ID:rahulraw,项目名称:adVentuRe,代码行数:48,代码来源:oculus_display.cpp
注:本文中的ogre::RenderWindow类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论