nenadus @ 20.01.2007. 15:54
Pozdrav svima,
Da li mi neko moze reci kako da ucitam teksturu direktno u memoriju na grafickoj kartici koristeci OpenGL i Windows API?
Trivijalno je zauzeti slobodno 'ime teksture' (glGenTextures), bind-ovati je sa 'texture object'-om (glBindTexture), podesiti neke parametre (glTexParameter - npr GL_TEXTURE_PRIORITY) i ucitati podatke (glTexImage2D). Medjutim, ovaj pristup nam ne garantuje ucitavanje na graficku kartu, vec samo u memoriju drajvera (valjda 'driver managed memory') koja je iz sistemskog ram-a. Postoji opcija da se nakon svega ovoga render-uje npr kvadrat istog formata kao i tekstura i da se na njega mapira tekstura, pa bi prilikom rendering-a tog kvadrata drajver sam ucitao teksturu u memoriju graficke karte, ali voleo bih to da izbegnem.
Nakon sto ucitam teksture na graficku kartu, attach-ovao bi ih za rucno kreiran framebuffer (kao COLOR_ATTACHMENT) i vrsio neki rendering-to-texture ili offscreen-rendering.
Pozdrav,
Nenad
Da li mi neko moze reci kako da ucitam teksturu direktno u memoriju na grafickoj kartici koristeci OpenGL i Windows API?
Trivijalno je zauzeti slobodno 'ime teksture' (glGenTextures), bind-ovati je sa 'texture object'-om (glBindTexture), podesiti neke parametre (glTexParameter - npr GL_TEXTURE_PRIORITY) i ucitati podatke (glTexImage2D). Medjutim, ovaj pristup nam ne garantuje ucitavanje na graficku kartu, vec samo u memoriju drajvera (valjda 'driver managed memory') koja je iz sistemskog ram-a. Postoji opcija da se nakon svega ovoga render-uje npr kvadrat istog formata kao i tekstura i da se na njega mapira tekstura, pa bi prilikom rendering-a tog kvadrata drajver sam ucitao teksturu u memoriju graficke karte, ali voleo bih to da izbegnem.
Nakon sto ucitam teksture na graficku kartu, attach-ovao bi ih za rucno kreiran framebuffer (kao COLOR_ATTACHMENT) i vrsio neki rendering-to-texture ili offscreen-rendering.
Pozdrav,
Nenad