language-agnostic - パフォーマンス - webgl パーティクル




DirectXまたはOpenGLを使用した100個の浮動小数点キューブの表示 (2)

DirectXまたはOpenGLを使用して~100のフローティングキューブを表示したいと思いOpenGL

私は、いくつかのサンプルソースコード、または技術の説明を探しています。 私はこの種のことがあなたのためには簡単だと知っています。3Dの教祖はそこにいるのですが、正しく表示するには1つのキューブでさえも十分な手間があります。

私はチュートリアルの良いシリーズのためにネットを梳きました3Dプリミティブのやり方については言及していますが、見つからないものは、 cubesspherespyramidsなど多数の3Dプリミティブを行う方法に関する情報です。


glTranslatef(またはDirectX相当)を使用して、同じコードを使用してキューブを描画しますが、描画する相対点を移動するだけです。 たぶんもっと良い方法がありますが、私はOpenGLをかなり新しくしています。 視点を設定して、すべて見ることができるようにしてください。


1つのキューブに表示するのに十分な問題があると言うと、表示するかどうかは分かりません。

基本的に... 1つの関数にキューブを書くためのコードを入れ、その関数を100回呼び出すだけです。

void DrawCube()
{
    //code to draw the cube
}

void DisplayCubes()
{
    for(int i = 0; i < 10; ++i)
    {   
         for(int j = 0; j < 10; ++j)
         {
             glPushMatrix();
             //alter these values depending on the size of your cubes.
             //This call makes sure that your cubes aren't drawn overtop of each other
             glTranslatef(i*5.0, j*5.0, 0);
             DrawCube();
             glPopMatrix();
         }
    }              
}

それはあなたがこれをやり遂げる方法についての基本的な概要です。 より効率的なものが必要な場合は、基本的なことがわかったら、いつかディスプレイリストを見てください:)







directx