zapis obrazu z opengla do bitmapy

0

mam problem z tematu. chciałbym rysować za pomocą opengl'a po bitmapie(w winapi z tego co wiem są bitmapy) a potem tę bitmapę narysować na ekranie... mój program napisany jest w C. czy da się to zrobić? A jeśli tak to jak to zrobić?

0

Opengl odpowiada za rysowanie na ekranie też, bez sensu jest zrzut tego do bitmapy i jej wyświetlanie. Co do jakiegoś obrazka, musisz z niego utworzyć w opengl teskturę następnie narysować np quada o odpowiednich wymiarach i go oteksturować.

0

Wydaje mi się, że jest jakiś tryb OpenGL-a w którym rysowanie odbywa się do pamięci ale nie na ekran, ale nie bawiłem się tym.
Właściwie po co ci to, skoro i tak chcesz wyświetlać tę bitmapę na ekranie? Nie możesz rysować na ekranie?

OpenGL to nie tylko animacja, można narysować obraz statyczny który nie będzie stale odświeżany (a zatem nie będzie pożerał zasobów karty graficznej ani procesora).

0

ok powiem... chcę zrobić taki fajny efekt... ale do do tego potrzebuje 2 ekranów ... trochę jak antichamber... więc chciałem narysować to na 2 bitmapach i wyświetlić... działałoby to idealnie...

0

Chodzi Ci o framebuffer:

https://www.opengl.org/wiki/Framebuffer_Object

W szczególności poczytaj o funkcjach:

  • GenFramebuffers
  • DeleteFramebuffers
  • BindFramebuffer
  • FramebufferTexture

Inny keyword do szukania to 'render to texture'

http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-14-render-to-texture/
http://rbwhitaker.wikidot.com/render-to-texture

PS. raczej chodzi Ci o tekstury a nie bitmapy, chyba że chcesz to później zapisać do pliku (tak czy inaczej sposób ten sam, tylko później musisz zamienić teksturę na bitmapę)

0

... czy zmienną jaką podaję do gen mam podać do delete?(typ=gluint)

0

i jak rysować oddzielnie na każdym?

0

za dużo angielskiego i nie ogarniam do końca wszystkiego

0

więc chciałem narysować to na 2 bitmapach i wyświetlić... działałoby to idealnie...

A nie możesz zrobić glViewport, narysować, drugi glViewport w drugie miejsce i znowu narysować? Nie sprawdzałem czy takie coś zadziała, ale powinno.

0

a co daje gl_viewport?
ja mam gl_ortho

0

chyba ogarniam... narysować=wczytać punkty,wyświetlić na ekranie

0

wracając do tych buforów, jak mam po nich rysować?

0

to wracając do buforów, jak mam po nich rysować?

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