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ść :).