Skocz do zawartości

[OpenGL] Układ współrzędnych WinAPI i układ OpenGL


search84xt

Polecane posty

Cześć, mam taki problem, chciałbym zrobić, prosty edytor 3d, przy pomocy C++, WinAPI, OpenGL.

Układ współrzędnych w OpenGL jest ustawiony na środku okna. Gdy pobieram współrzędne kursora myszki względem obszaru roboczego okna, to początek tego układu jest w lewym górnym rogu.

A co jeszcze, że przy zmianie rozmiarów okna, obraz OpenGL skalowany jest tak, aby zawierał proporcjonalne wymiary do aktualnych wymiarów okna.

 

Chciałbym abyście pomogli mi pogodzić te dwa układy współrzędnych, tak abym mógł pobierać współrzędne kursora myszki, w komunikacie WM_MOUSEMOVE.

 

//edit: Ogólnie chodzi mi o to, żebym mógł rysować myszką we właściwym miejscu. No chyba, że znacie jakieś funkcje OpenGL do pobierania, współrzędnych kursora myszki, względem obszaru roboczego okna, to by najbardziej załatwiło sprawe.

 

Z góry dzięki.

Link do komentarza
Udostępnij na innych stronach

x' = x + dx

y' = y + dy

 

gdzie dx = -0.5*WindowWidth; dy = -0.5*WindowHeight ?

 

Dzięki to załatwia sprawę, kombinowałem nad czymś takim, ale widzę, że byłem w lesie, dodatkowo pomocna okazała mi się też funkcja gluUnProject();

 

//edit: Ale chyba źle jej używam, bo pokazuje mi się błąd systemowy.

Czy ktoś mógłby mi w przystępny sposób wyjaśnić jak przygotować parametry dla tej funkcji, bo sam robiłem źle i prawdopodobnie popełniałem elementarne błędy przy wskaźnikach.

Link do komentarza
Udostępnij na innych stronach

Dzięki to załatwia sprawę, kombinowałem nad czymś takim, ale widzę, że byłem w lesie, dodatkowo pomocna okazała mi się też funkcja gluUnProject();

 

//edit: Ale chyba źle jej używam, bo pokazuje mi się błąd systemowy.

Czy ktoś mógłby mi w przystępny sposób wyjaśnić jak przygotować parametry dla tej funkcji, bo sam robiłem źle i prawdopodobnie popełniałem elementarne błędy przy wskaźnikach.

 

Może to okaże się pomocne:

http://forum.unit1.pl/index.php?showtopic=74&hl=gluUnproject

 

EDIT:

Warto też spojrzeć na Nehe :D :

http://nehe.gamedev.net/data/articles/article.asp?article=13

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...