mortizz Skrevet 16. november 2005 Del Skrevet 16. november 2005 Okey.. Sliter for tiden litt med å få rendret til tekstur i OpenGL. Bruker ATM glCopyTexImage2D() får å kopiere framebufferet til en tekstur. Funker utverket det, men, det som er problemet er at jeg kun kan rendre til power-of-two teksturer (256x256, 512x512 etc) som blir litt upraktisk i de fleste tilfeller. Jeg ønsker å kunne rendre til f.eks 800x600. Har såvidt prøvd noen metoder (har ikke prøvd meg på noen extensions ennå, men) uten å få noe annet resultat enn svart skjerm. Farsken, jeg får da lastet inn JPG/PNG-filer som er 800x600 uten at det er noe problem, så jeg skjønner ikke hvorfor det skal være noe problem å få rendret til en slik tekstur også. Så, jeg spekulerer da på om det finnes noen lett måte å gjøre dette på? Uten å bruke fullt av extensions og en haug med kode, eller blir dette så komplisert at man blir nødt til det? Noen som har en kodesnutt liggende, kanskje? =) Kjører GeForce4, btw. Lenke til kommentar
teflonpanne Skrevet 17. november 2005 Del Skrevet 17. november 2005 du må bruke mipmaps Lenke til kommentar
Giddion Skrevet 17. november 2005 Del Skrevet 17. november 2005 Vel du kan jo oppgradere til opengl2.0 Men "ARB texture non power of two" er en av de vanligste ext som finnes og det er ikke noe problem. Jeg skal ikke si det for sikkert, men jeg mener å huske at hvis skjermkortet støtter non2power ext så er det bare å bruke helt vanlig kode Lenke til kommentar
teflonpanne Skrevet 17. november 2005 Del Skrevet 17. november 2005 nå sa han jo at han ikke ville bruke extensions og lignende da, så da er kanskje gluBuild2DMipmaps litt enklere Lenke til kommentar
GeirGrusom Skrevet 17. november 2005 Del Skrevet 17. november 2005 Dette er en extension, enten du liker det eller ikke, men den har vært implementert siden 1.1 eller noe glEnable(GL_ARB_texture_non_power_of_two); tror jeg skulle holde men har ikke prøvd, men det kan jo du gjøre. det skal fungerer på de aller, aller, aller fleste skjermkort. Lenke til kommentar
Giddion Skrevet 18. november 2005 Del Skrevet 18. november 2005 Vel det stemmer at gluBuild2DMipmaps tar imot alt av formater, men glu baserer seg på ogl og så vidt jeg vet så sjekker ikke glu om du har nonpowerof2ext så glu mottar bilde for så omformatere det til powerof2. Og en ting til jeg trekker muligens litt forhastede sluttinger, men siden mortizz snakker om å bruke 800x600 så ser det se ut som det er en eller annen for for lag man legger direkte på skjermen og hva skal man med mip når man hele tiden bruker originalen. jeg kikket litt på nettet og fant dette i ext registeret Should any enable or other state change be required to relaxthe texture dimension restrictions? STATUS: RESOLVED RESOLUTION: No. The restrictions on texture dimensions in the core OpenGL specification are enforced by errors. Extensions are free to make legal and defined the error behavior of extensions. This extension is really no different in that respect. Lenke til kommentar
mortizz Skrevet 20. november 2005 Forfatter Del Skrevet 20. november 2005 nå sa han jo at han ikke ville bruke extensions og lignende da, så da er kanskje gluBuild2DMipmaps litt enklere 5166813[/snapback] bruker denne funksjonen når jeg lager teksturen. men når jeg etterpå skal rendre til den, blir det svart hvis jeg ikke bruker en power-of-2-oppløsning. Dette er en extension, enten du liker det eller ikke, men den har vært implementert siden 1.1 eller noe glEnable(GL_ARB_texture_non_power_of_two); tror jeg skulle holde men har ikke prøvd, men det kan jo du gjøre. det skal fungerer på de aller, aller, aller fleste skjermkort. 5167609[/snapback] GL_ARB_texture_non_power_of_two må nok declares eller defineres først.. Fant en artikkel på gamedev om hvordan man bruker extensions, så kanskje jeg får det til etterhvert =) Lenke til kommentar
Giddion Skrevet 21. november 2005 Del Skrevet 21. november 2005 GL_ARB_texture_non_power_of_two må nok declares eller defineres først..Fant en artikkel på gamedev om hvordan man bruker extensions, så kanskje jeg får det til etterhvert =) vel etter min tolkning av det som sto i nVidia sine dokumentasjoner av npot så trenger man ikke skru på noen ting, hvis kortet støter npot så funker alt, hvis ikke så får, man en error (som det kan være lurt å se etter). det er ingen nye funsjoner ingen nye variabler som er deklarert i ext dokumentasjonen Lenke til kommentar
GeirGrusom Skrevet 23. november 2005 Del Skrevet 23. november 2005 det har du jammen meg rett i, jeg bare lette det opp i IntelliSense.... men du har helt rett giddion. gluScaleImage er vel en mulighet hvis kortet ikke støtter non power of two. Lenke til kommentar
mortizz Skrevet 23. november 2005 Forfatter Del Skrevet 23. november 2005 okey.. hmm, synes det er rart, da. har jo sett mange demoer som bruker render-til-tekstur for å få til effektene sine, så det ser ut som om demoscene-nerdene greier det på et eller annet vis. tror ikke de rendrer til teksturer med lavere oppløsning enn skjermen hvertfall. ser ikke sånn ut. yesyes Lenke til kommentar
mortizz Skrevet 23. november 2005 Forfatter Del Skrevet 23. november 2005 lol, fant ut av det! =) jeg rendrer til en 1024x1024 tekstur og tar et 800x600 utsnitt. altså bruker 800/1024 og 600/1024 som texcoords. faen at jeg ikke tenkte på dette før har plagdes med dette lenge Lenke til kommentar
Klette Skrevet 24. november 2005 Del Skrevet 24. november 2005 #demoscene.no er et fint sted for slike spørsmål hvis det er angående slike effekter da (efnet) 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å