11. juni 2005 - 12:57Der er
2 kommentarer og 1 løsning
3d .c fil -static int cylinder01_indicesArray -Hvad vises?
egentlig bør titlen være: "3d .c fil -static int cylinder01_indices[] -Hvad vises?" Men E accepterer ikke [] -nå..
Jeg søger oplysninger på hvad det er strukturen "_indices[]" egentlig indeholder Her er et snip: static int myObj_indices[] = { 0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9,....... }
.c 3d formatet indeholder desuden de 2 struktuer _coords[] _texcoords[] og _normals[] De strukts. er jeg 100% klar over Problemet ligger i hvordan "_indices[]" spiller -sammen- med _coords[] og _normals[] .. (hvis der da er en sammenhæng..) pft.
Jeg går ud fra du ved lidt om 3D-geometri, siden du arbejder med ovenstående, men hvis du er i tvivl om noget i mit svar, skal bu bare spørge...
I 3D-grafik programmering bruger man ofte indekserede vertices (koordinater) til at beskrive sine primitives. Det giver nemlig ofte bedre performance.
Forestil dig at du skal rendere en simpel firkant og du anvender trekanter som primitiver (det gør stort set alle idag) samt at din 3D-engine anvender counter-clockwise culling (ex DirectX). Det kræver altså 2 trekanter at lave én firkant.
Om understående skitse vil blive formateret rigtig ved jeg ikke, men ellers se bort fra den... (det skulle forestille en firkant sammensat of 2 trekanter) ____ | /| | / | | / | |/___|
Fordelen er altså at man angiver hvilke punkter der indgår i en trekant. 0-2 er første trekant, 4-5 er den anden trekant. Det vil naturligvis kun være en fordel hvis flere trekanter deler samme koordinater, det er dog ofte tilfældet!
Det virker måske som om det kræver mere hukommelse, men det er netop ikke tilfældet hvis en del trekanter deler samme koordinater. Husk på at hver vertex (koordinat) typisk bruger 3 floats, mens et index "kun" bruger én heltalsværdi.
Altså, efter min mening er _indices arrayet du ser i koden, netop beregnet til overstående formål.
Tak for indputtet jpk! Jeg er kommet videre med det :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.