Skocz do zawartości

bari

Members
  • Liczba zawartości

    2
  • Rejestracja

  • Ostatnia wizyta

Miasto (opcjonalne)

  • Miasto
    Opoczno

bari's Achievements

Newbie

Newbie (1/14)

10

Reputacja

  1. Witam Projekt posunął się do przodu. Mamy na tą chwilę dobrze działający loader plików .3ds wraz z teksturami w .tga, który rysuje modele metodą VBO (Vertex Buffer Object). Jest też działająca kamera tak jak chcieliśmy, choć działa to na zasadzie przesuwania całej sceny, a nie samej kamery, ale efekt jest zgodny z oczekiwaniami (nie wiem tylko, czy to dobry sposób, czy nie będzie to kolidowało z implementacją innych rzeczy). Zgłębiliśmy kilka tematów, które musimy przerobić na najbliższej przyszłości, stąd mamy serię bardziej szczegółowych pytań. Będziemy wdzięczni, za pomoc. 1. Biblioteka GLUT. Korzystamy w tej chwili z biblioteki GLUT. Czy to dobry pomysł i czy to nie będzie ograniczające w dalszej perspektywie. A jeśli nie GLUT to jaka? Spotkałem na internecie wiele przykładów z WinAPI (nie wiem, czy to poprawna nazwa, ale występuje tam funkacja WinMain zamiast main itp.) 2. Kamera i kolizje obiektów. Trudny temat, nie wiem czy czuję się na siłach, żeby pisać sobie samemu algorytmy wykorzystujące równania płaszczyzn, wektorów i sprawdzanie przecięcia. Natomiast biblioteki fizyczne, które wcześniej tu były wspomniane, też nie są zbyt przystępne. Nie bardzo wiem jak z nich skorzystać. Czy wykorzystanie ich polega na podpięciu do projektu, potem utworzenia obiektu i jakieś operacje z tym obiektem? Z dokumentacją i przykładami do tych bibliotek też ciężko. A jak ma się sprawa łączenia algorytmów wykrywania kolzji z obiektami .3ds? Czy rysowanie VBO pozwala na dołączenia wykrywania klizji, czy trzeba by przejść na rysowanie bezpośrednie? 3. Światła w scenie. Ile świateł można zastosowa? Wiem, że OpenGL obsługuje 8, ale jak je rozmieszczać i czy dadzą one wiarygodne efekty w oświetlaniu budynku wewnątrz? 4. Obsługa normal map. W jaki sposób je zaimplementować wraz ze zwykłymi teksturami i również jak to się ma do rysowania ich z ładowanymi modelami .3ds rysowanymi przez VBO? 5. Specular mapy. To samo co w poprzednim punkcie, tylko w połączeniu z normal mapami. 6. Cienie. Jaką metodę rysowana cieni zastosować? Z tego co wiem są cienie płaskie, bryły cieni i mapowane cienie. Jak wygląda obsługa cieni z wieloma światłami w scenie? Czy da się tak to zaimplementować, żeby wyglądało naturalnie? 7. W jakim stopniu da się zrealizować te efekty bez wdrażania shaderów (GLSL)? Czy po zastosowaniu programów cieniowania łatwiej jest uzyskać tego ypu efekty? 8. Optymalizacja. Jak konstruować modele? Z tego co wiemy, to powinno się robić jak najmniej obiektów. Tylko nie wiemy czy lepiej jest zrobić powtarzalną ławkę, która będzie występowała wiele razy w całym budynku i inne tego rodzaju powtarzalne elementy jako osobne obiekty? Czy może podzielić budynek na "skrzydła" i całe skrzydła ładować do jednego obiektu/modelu? Czy warto pokusić się o implementację testu zasłaniania obiektów? Na koniec, co będzie chodziło szybiciej i da ciekawsze efekty - prosta geometria i normal mapy + diffuse map, czy złożona geometria i diffuse map? Sporo tego... Dzięki za zainteresowanie i cierpliwość :).
  2. Witam Jestem wspomnianym na początku współautorem pracy inżynierskiej. Zajmuję się OpenGL. Przyszedł czas, kiedy chcemy, aby powstał już jakiś zalążek docelowej aplikacji, w której można będzie testować modele, wydajność, ustawienia parametrów świateł itp. Początki nie są łatwe jak wiadomo i na wstępie mamy problem (a właściwie mam ja ;) ) z modułem ładującym obiekty w formacie *.3ds do sceny w OpenGL. Niestety w założeniach naszej pracy jesteśmy ograniczeni do tego właśnie formatu i niezbędna jest dobra implementacja. Zanim wziąłem się za pisanie kodu, założyłem naiwnie, że bez problemu znajdę w Internecie "gotowca", którego podepnę pod projekt i po wywołaniu dwóch funkcji będzie mi pięknie ładował modele z teksturami, a ja będę mógł skupić się na innych rzeczach, które chciałem dodać do projektu. Jednak rzeczywistość jest inna. Udało mi się znaleźć kilka loaderów, ale albo są napisane w innym języku (niż C/C++), albo nie mają funkcji rysującej obiekt, albo nie obsługują tekstur, albo działają i ładują obiekt lecz bez naniesionej tekstury, choć z kodu wynika, że obsługują tekstury, a pliki tekstur są dostępne. Zatem zastanawiam się, czy nie pozostaje mi napisanie własnego loadera ;). (Co mogłoby być tematem osobnej pracy inżynierskiej :P). I tutaj będą moje pytania i prośba o wskazówki: 1. Czy brać się za pisanie i nie szukać dalej loadera? (ponieważ projekt jest i tak obszerny i wolałbym to obejść i zająć się implementacją innych rzeczy) 2. Na ile może się przydać wiedza zdobyta przy pisaniu loadera, do np. późniejszej optymalizacji całego projektu. 3. Czy ktoś może zna i może podać skąd ściągnąć działający loader plików .3ds z teksturami pod OpenGL. Te pytania na razie najbardziej spędzają mi sen z powiek. W dalszej kolejności są inne założenia, które też chciałbym dodać (zobaczymy co z tego wyjdzie): 4. Chodzenia i poruszanie kamerą jak w FPS'ach. 5. Do tego przełączanie w tryb latania. 6. Wykrywanie kolizji obiektów, aby nie dało się przenikać przez ściany. Proszę o wskazówki i rady. Dzięki :).
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności