Zobrazení 100 Plovoucí Kostky Použití rozhraní DirectX nebo OpenGL

hlasů
13

Rád bych k zobrazení 100 plovoucí kostky pomocí DirectXnebo OpenGL.

Sháním buď nějaký zdrojový kód vzorku, nebo popis této techniky. Mám potíže dostat ještě jednu kostku, aby zobrazoval správně.

Jsem česaná síť pro dobrou sérii tutoriálů a sice mluví o tom, jak dělat 3Dprimitiva, co nemohu najít, je informace o tom, jak provést velký počet 3Dprimitiv - cubes, spheres, pyramidsa tak dále.

Položena 04/08/2008 v 07:51
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
6

Stačí použít glTranslatef (nebo ekvivalent) DirectX nakreslit krychli pomocí stejného kódu, ale pohybující se relativní místo, kde jste jej čerpat. Možná, že existuje lepší způsob, jak to udělat i když jsem se OpenGL poměrně nová. Nezapomeňte nastavit svůj názor, takže si je všechny vidět.

Odpovězeno 04/08/2008 v 10:04
zdroj uživatelem

hlasů
7

Říkáte, že máte dostatek potíže jednu kostku, aby zobrazoval ... takže jsem si jistý, jestli máte jeden pro zobrazení nebo ne.

V podstatě ... dát svůj kód pro psaní kostku v jedné funkci, pak už jen volání funkce 100krát.

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();
         }
    }              
}

To je základní přehled o tom, jak byste mohli jít o to udělat. Pokud se chcete něco účinnější nahlédnout do display listy někdy Jakmile budete mít základy přišel :)

Odpovězeno 04/08/2008 v 10:12
zdroj uživatelem

hlasů
6

Ano, pokud jste byli efektivní byste hodit všechno do stejného vrcholů vyrovnávací paměti, ale nemyslím si, že kresba 100 kostek bude tlačit žádný GPU vyrobený v posledních 5 letech, takže byste měli být v pořádku po vyzkoušení výše.

Napsat základní průchod vertex shader, odstín však budete chtít do pixel shaderu. Buď předat světové matrice a udělat překlad do vertex shader, nebo jen počítat Světový kosmický vertex pozice na straně CPU (to dělat, pokud vaše kostky jdou zůstat pevná).

Ty by mohly získat fantazie a dělat geometrie instancing atd, ale jen získat základy jít jako první.

Odpovězeno 19/08/2008 v 12:12
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more