とりあえずSeleneでポリライン描画をやってみました
これもあまりパーティクル描画のときとかと変わらないみたいです
プログラムではキーボードの上下左右でビームっぽいものがXZ平面上を動くようにしています
生成について
- まずファイルからテクスチャ(Renderer::ITexture)を作る(Renderer::IRender::CreateTextureFromFile関数)
- そのテクスチャを使って3D用のスプライト(Renderer::Object::ISprite3D)を作る(Renderer::IRender::CreateSprite3D関数)
- そのスプライトからシーンアクター(Scene::ISpriteActor)を作る(Scene::ISceneManager::CreateActor関数)
beam.cpp/CBeam::Initialize
m_pTexture=pRender->CreateTextureFromFile("beam.png");
if(m_pTexture==NULL){return false;}
m_pSprite=pRender->CreateSprite3D(100,m_pTexture);
if(m_pSprite==NULL){return false;}
m_pActor=pManager->CreateActor(m_pSprite);
if(m_pActor==NULL){return false;}
描画について
- まずスプライトにDrawPolyLine関数で描画する
- その後シーンアクターが描画をマネージャーに要請する(Scene::ISpriteActor::RenderingRequest関数)
- 最後にシーンマネージャーが描画する(Scene::ISceneManager::Rendering)
beam.cpp/CBeam::Draw
m_pSprite->Begin();
m_pSprite->DrawPolyLine(Camera,m_BeamList,16,Math::Rect2DF(0.0f,0.0f,64.0f,600.0f));
m_pActor->TransformReset();
m_pActor->TransformUpdate();
m_pActor->RenderingRequest();
最終更新:2009年06月16日 16:02