タグ

プリミティブに関するyowanoのブックマーク (2)

  • 適当ブログ DrawPrimitiveのスピードとか

    とりあえずこのサイトを見てください。 http://rudora7.blog81.fc2.com/blog-entry-369.html 試しにつくってみた。 main.cpp 今回やりたかったことは、描画の速度の計測することです。 横に64、縦に48個の四角形を画面に表示します。 つまり、64*48*2で合計6144個の三角形の表示速度を測ります。 比較対象は、 1、DrawPrimitive 2、DrawPrimitiveUp 3、上記のサイトの方法 DrawPrimitiveで描画する場合、一回四角形を描画するたびにCreateVertexBufferしてLockをかけてます。 知識がないからはっきりと言えないけれど、普通は最初だけバッファーをクリエイトして、座標の変換はワールド変換行列でやると思う。 時間の測り方を参考にしたサイト http://zahyou.6.ql.bz/cga

    yowano
    yowano 2013/09/16
    3072個の四角形の描画を、DrawPrimitive、~Up、縮退三角形を用いて高速化を図った~Upの3つの方式で試して、速度を比較した。結果は順に、70, 20, 3(ms)だった。
  • ゲームプログラマーを目指すひと "縮退三角形"を使ってみた

    【リンク】 ◆解説系TOP◆ 現在 3Dモデルを作ってボーンを入れたりとか、 来ならばプログラマー仕事じゃない事をやっている訳ですが、 そればっかりやるのもアレなので、 今日は ちょっと縮退三角形を使ったプログラムを書いてみました。 で、「縮退三角形って何?」と感じると思うのですが、 それを説明するには、まずDirectXでの描画方法を確認する必要があります。 まず、DirectXでポリゴンを描画する場合 自分は9割方D3DPT_TRIANGLESTRIPというプリミティブタイプを用いてます。 これは、頂点をジグザグに定義したら、 その頂点を帯状に結んで出来る部分がポリゴンになるという方式です。 【参考画像】 で、ジグザグに定義していかないといけないので、 ポリゴンの頂点は一筆書きみたいになります。 これはどういうことかと言うと、 離れた場所にあるポリゴンは同時に描画できない と

    yowano
    yowano 2013/09/16
    縮退三角形を用いて、離れた位置にある複数の図形を一度の描画関数呼び出しで描画することで、高速化を図るという話。それからコメント欄にて、DrawPrimitiveUPとDrawPrimitiveの違い。
  • 1