Jak mogę stworzyć efekt „nocnego nieba” w OpenGL?


10

Tworzę grę za pomocą OpenGL i chcę renderować efekt nocnego nieba z kilkoma gwiazdkami.

Chcę mieć błyszczący czarny efekt na niebie, aby dobrze wyglądał. Czy ktoś może pomóc w tym, jak to zrobić lub podać link do dobrego samouczka?

Odpowiedzi:


11

Typowe podejścia są skyboxes lub skydomes . Obie techniki polegają na utworzeniu prostej geometrii, która jest zawsze renderowana w stałej pozycji względem widoku, i nałożeniu na nią tekstury. Jakość uzyskanego efektu może w dużym stopniu zależeć od jakości grafiki, więc jeśli nie masz wielkich umiejętności artystycznych, możesz zdecydować się na coś innego. Narzędzia takie jak Terragen mogą jednak pomóc w tworzeniu przyzwoitej sztuki, a to pytanie zawiera zestaw linków do innych narzędzi o podobnym charakterze.

Mniej oczywistym podejściem artystycznym jest zrobienie wszystkiego proceduralnie. Możesz stworzyć skydome na podstawie koloru wierzchołka ( linki i informacje tutaj ), które pozwolą ci dostosować kolory według niektórych empirycznych (lub innych) modeli do kolorowania nieba - model Preetham i Shirley jest szczególnie ładny , jeśli dobrze pamiętam.

Następnie możesz zastosować procesowe generowanie pola gwiazdowego, które renderujesz w pobliżu kopuły nieba (być może jako stały układ cząstek lub poprzez rozpryskiwanie tekstur lub cokolwiek innego).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.