GraphRanged::GraphRanged(int senderID, int UnitType, int Race, Ogre::Vector2 vPos, Ogre::Vector2 vRot, Ogre::Vector2 vHealth) { m_pSceneMgr = OgreFramework::getSingletonPtr()->m_pRoot->getSceneManager("GameSceneMgr"); switch(Race) { case HUMAN: { m_pInstancedEntity = OgreFramework::getSingletonPtr()->m_pInstanceMgrHumanRanged->createInstancedEntity("Examples/Instancing/VTF/Human_Ranged"); } break; case BEAST: { m_pInstancedEntity = OgreFramework::getSingletonPtr()->m_pInstanceMgrBeastRanged->createInstancedEntity("Examples/Instancing/VTF/Beast_Ranged"); } break; /* case UNDEAD: { m_pInstancedEntity = OgreFramework::getSingletonPtr()->m_pInstanceMgrUndeadRanged->createInstancedEntity("Examples/Instancing/VTF/Undead_Ranged"); } break; */ }; pseudoRootNode = OGRE_NEW SceneNode(0); pseudoRootNode->_notifyRootNode(); m_pNode = OGRE_NEW SceneNode(0); pseudoRootNode->addChild(m_pNode); m_dHealth = vHealth.x; m_dTotalHealth = vHealth.y; m_pNode->attachObject(m_pInstancedEntity); //setNodeOrientation(vRot.x, 0, vRot.y); m_pAnimation = m_pInstancedEntity->getAnimationState("breathing01"); m_pAnimation->setLoop(true); m_pAnimation->setEnabled(true); createLifeBar(m_pNode->getScale()); m_UnitName = "Ranged"; SetID(senderID); m_pKOKDefine = 0; m_vPos = vPos; m_vOri = vRot; }
//==================================================== // TeapotRenderComponent definitions //==================================================== shared_ptr<SceneNode> TeapotRenderComponent::CreateSceneNode() { // get the transform shared_ptr<TransformComponent> pTransformComponent = MakeStrongPtr(m_pOwner->GetComponent<TransformComponent>(TransformComponent::g_Name)); if (pTransformComponent) { WeakBaseRenderComponentPtr weakThis(this); switch (WindowsApp::GetRendererImpl()) { case WindowsApp::Renderer_D3D9: return shared_ptr<SceneNode>(CB_NEW D3DTeapotMeshNode9(m_pOwner->GetId(), weakThis, "Effects\\Main.fx", RenderPass_Object, &pTransformComponent->GetTransform())); case WindowsApp::Renderer_D3D11: { Mat4x4 rot90; rot90.BuildRotationY(-CB_PI / 2.0f); shared_ptr<SceneNode> parent(CB_NEW SceneNode(m_pOwner->GetId(), weakThis, RenderPass_Object, &pTransformComponent->GetTransform())); shared_ptr<SceneNode> teapot(CB_NEW D3DTeapotMeshNode11(INVALID_GAMEOBJECT_ID, weakThis, RenderPass_Object, &rot90)); parent->AddChild(teapot); return parent; } default: CB_ERROR("Unknown Renderer Implementation in TeapotRenderComponent"); } } return shared_ptr<SceneNode>(); }
RootNode::RootNode() : SceneNode( INVALID_ACTOR_ID, NULL, RenderPass_0 ) { m_Children.reserve(RenderPass_Last); shared_ptr<SceneNode> staticGroup( ENG_NEW SceneNode( INVALID_ACTOR_ID, NULL, RenderPass_Static ) ); m_Children.push_back(staticGroup); // RenderPass_Static = 0 shared_ptr<SceneNode> actorGroup( ENG_NEW SceneNode( INVALID_ACTOR_ID, NULL, RenderPass_Actor ) ); m_Children.push_back(actorGroup); // RenderPass_Actor = 1 shared_ptr<SceneNode> skyGroup( ENG_NEW SceneNode( INVALID_ACTOR_ID, NULL, RenderPass_Sky ) ); m_Children.push_back(skyGroup); // RenderPass_Sky = 2 shared_ptr<SceneNode> invisibleGroup( ENG_NEW SceneNode( INVALID_ACTOR_ID, NULL, RenderPass_NotRendered ) ); m_Children.push_back(invisibleGroup); // RenderPass_NotRendered = 3 }
MapGridNode::MapGridNode(const vn::vector2i &index) { vn::color_t color(0xFF, 0xFF, 0xFF, 0x20); Quad *p = vnnew Quad(); *p << vn::aabox2f(0, 0, 38, 2) << color << vn::Render2DInterface::kAlphaAdditive; addRenderable(p, false); p = vnnew Quad(); *p << vn::aabox2f(0, 2, 2, 40) << color << vn::Render2DInterface::kAlphaAdditive; addRenderable(p, false); p = vnnew Quad(); *p << vn::aabox2f(38, 0, 40, 38) << color << vn::Render2DInterface::kAlphaAdditive; addRenderable(p, false); p = vnnew Quad(); *p << vn::aabox2f(2, 38, 40, 40) << color << vn::Render2DInterface::kAlphaAdditive; addRenderable(p, false); Text *t = vnnew Text(); vn::c8 buf[32]; sprintf(buf, "%u,%u", index.x + 1, index.y + 1); *t << vn::color_t(0xFF, 0xFF, 0xFF, 0x80) << vn::Render2DInterface::kAlphaAdditive << vn::RenderText::kCenter; *t << vn::FontManager::instance().defaultFont() << buf; SceneNode *node = vnnew SceneNode(); node->setPosition(vn::vector2f(20, 20)); node->setScale(vn::vector2f(0.6f, 0.6f)); node->addRenderable(t, false); addChild(node, false); setPosition(index * 40); setLocalBoundingBox(vn::aabox2f(0, 0, 40, 40)); }
RootNode::RootNode() : SceneNode(INVALID_GAMEOBJECT_ID, WeakBaseRenderComponentPtr(), RenderPass::RenderPass_0, &Mat4x4::Identity) { m_Children.reserve(RenderPass::RenderPass_Last); // split children into different groups shared_ptr<SceneNode> staticGroup(CB_NEW SceneNode(INVALID_GAMEOBJECT_ID, WeakBaseRenderComponentPtr(), RenderPass::RenderPass_Static, &Mat4x4::Identity)); m_Children.push_back(staticGroup); shared_ptr<SceneNode> objectGroup(CB_NEW SceneNode(INVALID_GAMEOBJECT_ID, WeakBaseRenderComponentPtr(), RenderPass::RenderPass_Object, &Mat4x4::Identity)); m_Children.push_back(objectGroup); shared_ptr<SceneNode> skyGroup(CB_NEW SceneNode(INVALID_GAMEOBJECT_ID, WeakBaseRenderComponentPtr(), RenderPass::RenderPass_Sky, &Mat4x4::Identity)); m_Children.push_back(skyGroup); shared_ptr<SceneNode> invisibleGroup(CB_NEW SceneNode(INVALID_GAMEOBJECT_ID, WeakBaseRenderComponentPtr(), RenderPass::RenderPass_NotRendered, &Mat4x4::Identity)); m_Children.push_back(staticGroup); }
//--------------------------------------------------------------------- Overlay::Overlay(const String& name) : mName(name), mRotate(0.0f), mScrollX(0.0f), mScrollY(0.0f), mScaleX(1.0f), mScaleY(1.0f), mTransformOutOfDate(true), mTransformUpdated(true), mZOrder(100), mVisible(false), mInitialised(false) { mRootNode = OGRE_NEW SceneNode(NULL); }
SceneNode* DX11SceneManager::createSceneNode(std::string strName, SceneNode* pParent) { SceneNode node = SceneNode(this, pParent, strName); if (pParent != NULL) { pParent->addNode(node); } else { pParent->addNode(m_mainNode); } m_pNodeArray.push_back(node); return &m_pNodeArray.back(); }
//--------------------------------------------------------------------- Overlay::Overlay(const String& name) : mName(name), mRotate(0.0f), mScrollX(0.0f), mScrollY(0.0f), mScaleX(1.0f), mScaleY(1.0f), mLastViewportWidth(0), mLastViewportHeight(0), mTransformOutOfDate(true), mTransformUpdated(true), mZOrder(100), mVisible(false), mInitialised(false) { #ifdef ENABLE_INCOMPATIBLE_OGRE_2_0 mRootNode = OGRE_NEW SceneNode(0, 0, 0, 0); #endif // Mogre m_userObjectPointer = nullptr; }
DX11SceneManager::DX11SceneManager(ID3D11Device* pd3dDevice, DX11ShaderSystem* pShaderSystem) { //Sets the member references m_pd3dDevice = pd3dDevice; m_pShaderSystem = pShaderSystem; //Number one should be an invalid empty rendermodel m_pModelArray.push_back(RenderModel(0, NULL, NULL)); //Loads the default texture to display when a texture is not found if (FAILED(loadTexture(defaultTexture, "default.dds"))) { return E_FAIL; } m_mainNode = SceneNode(this, NULL, "Scene01"); m_pCamera = new CameraNode(0, 0, 0.0f); }
int XFileLoader::ReadSceneNode(istream& s, int prevSybling) { int nodeIdx = m_nodes.size(); m_nodes.push_back(SceneNode()); if (prevSybling != -1) m_nodes[prevSybling].m_nextSybling = nodeIdx; XFileToken t = XFileToken::NextToken(s); if (t.m_type == XFileToken::Identifier) { m_nodes[nodeIdx].m_name = move(t.m_content); t = XFileToken::NextToken(s); } if (t.m_type != XFileToken::LeftBrace) THROW_EXCEPTION_T("Parsing error", ParsingException); int prevChild = -1; while (true) { t = XFileToken::NextToken(s); if (t.m_type == XFileToken::Identifier) { if (t.m_content == "Frame") { int child = ReadSceneNode(s, prevChild); if (prevChild == -1) m_nodes[nodeIdx].m_firstChild = child; m_nodes[child].m_parent = nodeIdx; prevChild = child; } else if (t.m_content == "Mesh") m_nodes[nodeIdx].m_mesh = ReadMesh(s); else if (t.m_content == "FrameTransformMatrix") m_nodes[nodeIdx].m_localTransform = ReadFaceTransform(s); else SkipDataObject(s); } else if (t.m_type == XFileToken::UUID) continue; else if (t.m_type == XFileToken::LeftBrace) SkipDataReference(s); else if (t.m_type == XFileToken::RightBrace) break; else THROW_EXCEPTION_T("Parsing error", ParsingException); } return nodeIdx; }