search84xt Napisano Sierpień 18, 2007 Zgłoś Share Napisano Sierpień 18, 2007 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 More sharing options...
Toster Napisano Sierpień 18, 2007 Zgłoś Share Napisano Sierpień 18, 2007 x' = x + dx y' = y + dy gdzie dx = -0.5*WindowWidth; dy = -0.5*WindowHeight ? Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
search84xt Napisano Sierpień 18, 2007 Autor Zgłoś Share Napisano Sierpień 18, 2007 x' = x + dxy' = 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 More sharing options...
Brainer Napisano Sierpień 20, 2007 Zgłoś Share Napisano Sierpień 20, 2007 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 : http://nehe.gamedev.net/data/articles/article.asp?article=13 .: Brainer :. patrick.nusbaum@gmail.com Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.