Qwseyvnd Skrevet 14. juli 2012 Del Skrevet 14. juli 2012 Hei. - En piksel for en tekstur så gjennomsiktig tekstur og fargedybde i høyere oppløsning - En tekstur av f.eks en murstein med hardkoding sånn at det blir variasjoner av mursteiner på en f.eks bygning sparer plass enn hvis flere mursteiner med høyere oppløsning med kun ett tekstur - Flere polygoner bedre enn en hel tekstur - Programmere assembly hvis det har fordel - Kopiere flere samme 3D-modell f.eks en bygning med samme veranda og vindu i hver leilighet - 2D-tekstur i horisont sånn at spilleren merker ikke at det er 3D eller 2D Er det som gjør det raskere bilder per sekund ? Lenke til kommentar
Hieronymus Skrevet 14. juli 2012 Del Skrevet 14. juli 2012 Er det som gjør det raskere bilder per sekund ? Er det en påstand, eller spør du? 1 Lenke til kommentar
GeirGrusom Skrevet 15. juli 2012 Del Skrevet 15. juli 2012 Hei. - En piksel for en tekstur så gjennomsiktig tekstur og fargedybde i høyere oppløsning - En tekstur av f.eks en murstein med hardkoding sånn at det blir variasjoner av mursteiner på en f.eks bygning sparer plass enn hvis flere mursteiner med høyere oppløsning med kun ett tekstur - Flere polygoner bedre enn en hel tekstur - Programmere assembly hvis det har fordel - Kopiere flere samme 3D-modell f.eks en bygning med samme veranda og vindu i hver leilighet - 2D-tekstur i horisont sånn at spilleren merker ikke at det er 3D eller 2D Er det som gjør det raskere bilder per sekund ? Jeg vet ikke helt hva spørsmålet er, men hvis du har to teksturer for å få gjennomsiktighet så får du bare en overhead på bildet. Du vil ikke spare plass, pluss at du tar opp en teksturbinding, og gjør shaderen mer kompleks uten å vinne noe som helst på det. Du kan programmere inn murstein istedet for å benytte det som tekstur (noe du kan med alle teksturer) det er derimot som regel ikke verdt bryet og gir dårligere resultat enn en tekstur. Det du vinner er at man ikke kan se at teksturen gjentar seg (for det gjør den jo ikke) men det er såpass mye mer komplekst at det sjeldent har noe for seg. Teksturer har en litt annen funksjon enn teksturer. Polygoner er vel strengt tatt dyrere å tegne enn teksturer også, ettersom de må igjennom hele geometri-pipelinen, mens teksturer blir bare interpolert over de forskjellige fragmentene. Å programmere assembly i seg selv vil ikke nødvendigvis ha spesielt mye for seg, men det kan være en fordel å skrive slike ting som matriseoperasjoner, vektoroperasjoner og kvaternioner ved å bruke SIMMD instruksjonene i prosessoren, som er tilgjengelig i bortimot alle x86 prosessorer, og nyere ARM prosessorer med NEON utvidelse. Hvis du kan bruke samme 3D modell flere steder, så gjør du det. Det er innebygget en funksjon i både Direct3D og OPenGL som kalles instancing som gjør dette såpass enkelt, at du kun trenger å vise til en modell og et array med transformasjonsmatriser, så blir samme objektet rendret flere ganger men med forskjellig posisjonering. Horisonten plerier å være en 2D tekstur, eller mer korrekt, en cube-tekstur (som inneholder 6 bilder i hver retning) som renres først uten å påvirke z-bufferet. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå