Wpis z mikrobloga

Zainspirowany wpisem http://www.wykop.pl/wpis/10365236/, postanowiłem podzielić się programikiem, który stworzyłem jakiś czas temu.

Program symuluje lot w okolicy czarnej dziury i wygląda jak na screenie. Krótki opis sterowania:

spacja - włącz/wyłącz pauzę

W/S/A/D/Q/E - obracanie się

Y/H/G/J - przyspieszanie przód/tył/lewo/prawo

Z/X - zoom

R/T - kompresja czasu (T przyspiesza, R zwalnia)

P - włącz/wyłącz efekt Dopplera

Na ekranie jest kilka wskaźników ułatwiających lot:

- niebieski X - wskazuje faktyczny kierunek do czarnej dziury (a nie pozorny, na który wpływa relatywistyczne zniekształcenie pola widzenia)

- zielony krzyżyk w okręgu - wektor prędkości (w tą stronę leci "statek")

- zielony krzyżyk bez okręgu - kierunek przeciwny do wektora prędkości

- wskaźnik prędkości (v = ...) - prędkość "statku" podana jako ułamek prędkości światła

- wskaźnik odległości od czarnej dziury (R = ...) - podana w promieniach Schwarzschilda (tj. R = 1 Rs oznacza, że statek znajduje się na horyzoncie zdarzeń, czyli granicy obszaru, z którego nie da się już wylecieć)

Z góry uprzedzam, że nie wszystko działa idealnie - jest jeden artefakt graficzny, którego nie udało mi się zwalczyć (rozmyty pasek 90 stopni od kierunku do czarnej dziury) oraz obraz siada, gdy statek jest za daleko lub zbyt blisko osobliwości.

Dostępny do ściągnięcia tutaj

Programik jest open-source, opublikowany na GitHubie: klik

Jak coś nie będzie działać, postaram się udzielić wsparcia w komentarzach ;)

#czarnedziury #symulacje #fizyka #astronomia #kosmos #nauka #programowanie
fizyk20 - Zainspirowany wpisem http://www.wykop.pl/wpis/10365236/, postanowiłem podzi...

źródło: comment_5N5is3Gg9EodbhZAFT6q5HQVPbaoryyY.jpg

Pobierz
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@semaj: powinna już być centralnie pośrodku czarna dziura, zniekształcone tło, wskaźniki i napis "PAUSED". Jak nic nie ma, to kiepsko. Nie mam niestety pod ręką kompa z 8.1 żeby sprawdzić, czy będę mógł odtworzyć problem - jedyne co mi przychodzi do głowy, to że z jakiegoś powodu nie wczytały się pliki graficzne (tło + czcionka - powinny być w folderze "textures", jeśli uruchamiasz z zipa, o ile dobrze pamiętam; wersja
  • Odpowiedz
@krdk: A którą masz wersję Windows? Jeśli 8.1, to może to kwestia wersji systemu, ale wtedy nie wiem, czy będę w stanie coś poradzić, bo jedyny komputer z 8.1 do jakiego mam dostęp to maszyna wirtualna.

Jest też opcja, że to jakiś problem z shaderami, choć wtedy przynajmniej napisy powinny działać. Pojawia się może plik shader.log? Jeśli tak, to co w nim jest?
  • Odpowiedz
@fizyk20: Mam Windows XP. Masz rację, problem jest z shaderami. No trudno, nie pogram ;)

Fragment shader(s) failed to link, vertex shader(s) linked.

Fragment Shader not supported by HWERROR: 1:62: Not supported when use temporary array indirect
  • Odpowiedz
@krdk: Ok, widzę w czym jest problem. Jestem w stanie przerobić trochę shader tak, że powinien u Ciebie działać, ale niestety w tej chwili nie mam tyle czasu. Jutro mogę spróbować się tym zająć i podesłać przerobiony plik, a do tej pory możesz sprawdzić, czy nie ma aktualniejszych sterowników do Twojej karty graficznej, obsługujących wyższą wersję OpenGL i GLSL ;)
  • Odpowiedz