とりあえずSeleneでポリライン描画

とりあえずSeleneでポリライン描画をやってみました

これもあまりパーティクル描画のときとかと変わらないみたいです

プログラムではキーボードの上下左右でビームっぽいものがXZ平面上を動くようにしています

生成について
  • まずファイルからテクスチャ(Renderer::ITexture)を作る(Renderer::IRender::CreateTextureFromFile関数)
  • そのテクスチャを使って3D用のスプライト(Renderer::Object::ISprite3D)を作る(Renderer::IRender::CreateSprite3D関数)
  • そのスプライトからシーンアクター(Scene::ISpriteActor)を作る(Scene::ISceneManager::CreateActor関数)

beam.cpp/CBeam::Initialize
  1. m_pTexture=pRender->CreateTextureFromFile("beam.png");
  2. if(m_pTexture==NULL){return false;}
  3. m_pSprite=pRender->CreateSprite3D(100,m_pTexture);
  4. if(m_pSprite==NULL){return false;}
  5. m_pActor=pManager->CreateActor(m_pSprite);
  6. if(m_pActor==NULL){return false;}
  7.  

描画について
  • まずスプライトにDrawPolyLine関数で描画する
  • その後シーンアクターが描画をマネージャーに要請する(Scene::ISpriteActor::RenderingRequest関数)
  • 最後にシーンマネージャーが描画する(Scene::ISceneManager::Rendering)

beam.cpp/CBeam::Draw
  1. m_pSprite->Begin();
  2. m_pSprite->DrawPolyLine(Camera,m_BeamList,16,Math::Rect2DF(0.0f,0.0f,64.0f,600.0f));
  3. m_pSprite->End();
  4. m_pActor->TransformReset();
  5. m_pActor->TransformUpdate();
  6. m_pActor->RenderingRequest();
  7.  

最終更新:2009年06月16日 16:02
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。
添付ファイル