opengl-wczytywanie piksela

0

Witam, mam takie pytanie: czy w opengl sa funkcje za pomocą których da sie wczytac a potem zapisac kolor pojedynczego piksela z mapy bitowej? (takie odpowiedniki getpixel i putpixel z allegro)

0

glReadPixels, width i height ustaw na 1
http://www.opengl.org/sdk/docs/man/xhtml/glReadPixels.xml

0

do zapisu glWritePixels z tymi samymi parametrami.

Sorry za double posta.

0

no dobrze, a co mam dac za *data bo nie moge sie polapac, gdzie mam deklarowac mape pikselowa z jakiej chce czytac te piksele?, musze dorzucic jescze jakas funcje zeby to zrobic? a jesli chodzi o glWritePixels to takiej funkcji nie ma w manualu i wywala mi blad ze jej nie moge uzyc...

0

data to wskaźnik na miejsce w pamięci, gdzie będziesz przechowywał dane o kolorze pixela.
te funkcje czytają z framebuffora. Do zapisu użyj glDrawPixels, ustawiasz się glRasterPos.
skoro chcesz czytać dane o kolorach z mapy bitowej czy pliku to najprościej jest czytać bezpośrednio w pliku lub odwołując się do odpowiedniej komórki pamięci gdy plik jest już wczytany.
dla przykładu plik BMP to nagłówek + tablica kolorów BGR.
policz x3+yszerokość i masz odpowiednie miejsce.

0

Sorry ze tak zawracam jeszcze glowe, ale jeszcze mam jedno pytanie- mam taka sytuacje: mam juz wczytany obraz w formacie tga (*pixels to wskaznik na tablice z danymi obrazu) i teraz chce po pikselu wczytywac ten obraz dla kazdego kanalu oddzielnie (tzn odzielnie wartosc R,G i B tego piksela), nastepnie jakos pozmieniac te wartosci (chodzi konkretnie o filtrowanie splotowe ale z tym sobie poradze), a nastepnie zapisac te nowe wartosci piksela w jakiejs nowej tablicy (np new_pixels) i je wyswietlic. Moglbym prosic o konkretny kawalek kodu w C++ za pomoca ktorego moge to zrobic? Bo siedze nad tym ale cos pomieszalem chyba i nie daje rady a dla niektorych pewnie to pikus...

1 użytkowników online, w tym zalogowanych: 0, gości: 1