[c++ builder 2007] opengl i panel

0

Witam, w necie jest wiele poradników jak stosować opengl w c++ lecz nie spotkałem się jeszcze z sensownym wytłumaczeniem czy jest możliwość inicjacji openl w builderze i rysowanie na komponencie panel ? Jeśli macie jakieś rozwiązania to proszę o wytłumaczenie jak do tego dojść lub najlepiej kod ;)

Druga sprawa, mianowicie czy istnieje jakiś 3ds loader lub zbiór funkcji ładujących plik .3ds i renderowanie ich na formie lub właśnie w tym panelu które dałoby się pogodzić z builderem 2007 ?

Pozdrawiam :)

0
reggaester napisał(a)

Witam, w necie jest wiele poradników jak stosować opengl w c++ lecz nie spotkałem się jeszcze z sensownym wytłumaczeniem czy jest możliwość inicjacji openl w builderze i rysowanie na komponencie panel ? Jeśli macie jakieś rozwiązania to proszę o wytłumaczenie jak do tego dojść lub najlepiej kod ;)

Pewnie się da, forma borland'owska to zwykłe okno winapi opakowane w klasę, do inicjacji OpenGL potrzebny ci systemowy uchwyt okna (HWND) i uchwyt do kontekstu graficznego (HDC)
uchwyt okna z tego co pamiętam da się pobrać z formy, coś na kształt GetHandle(), natomiast bornalndowskim odpowiednikiem kontekstu graficznego jest Canvas i jeśli z Canvasa (Form.Canvas) też da się pobrać uchwyt systemowy tak jak z okna, to już jesteś jedną nogą w opengl
jeszcze oknu opengl trzeba ustawić pewien styl CS_OWNDC, możesz to zrobić funkcja z winapi: SetClassLongPtr, czyli jeśli uchwyt okna pobiera się GetHandle, linijka będzie wyglądać tak:

SetClassLongPtr(Form1.GetHandle(),GCL_STYLE,GetClassLongPtr(Form1.GetHandle(),GCL_STYLE) | CS_OWNDC);
reggaester napisał(a)

Druga sprawa, mianowicie czy istnieje jakiś 3ds loader lub zbiór funkcji ładujących plik .3ds

poszukaj

0

crayze, najczęściej w VCLu uchwyt do czegoś pobiera się przez (chyba!) właściwość Handle, czyli

Form1->Handle

Jeśli nie działa, to Handle jest metodą.

0

Dokładnie... uchwyt pobiera się przez właściwość Handle. Na komponencie typu TPanel da się rysować używając OpenGl'a, ale TPanel nie posiada zdarzenia OnPaint. Znalazłem kiedyś w necie jakiś komponent do rysowania OpenGL, ale chyba płatny był/

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