Witam!
Na początku chciałbym bardzo przeprosić za niedotrzymanie regulaminu, gdyż forum nie umożliwia uploadu plików większych niż 50MB przez co nie mogłem umieścić filmu na serwerze elektrody, dlatego umieszczam film w serwisie YouTube.
Proszę oglądać w HD, najlepiej na YouTube (większy rozmiar filmu)
Pewnego dnia rozmyślałem nad efektami do gier, które mogę wykorzystać w moich produkcjach. Po pewnej chwili doszedłem do pomysłu, który może w grach się nie przyda, ale może wyglądać ciekawie. Efekt polega na stworzeniu dużej ilości kul w przestrzeni trójwymiarowej (tutaj 100 000 obiektów) w losowym położeniu i kolorze, a następnie przetransformowanie ich w jakiś statyczny obraz, poprzez stopniową zmianę koloru i położenia kul.
Całość działa w sumie dość prosto:
Stworzyłem 3 główne macierze, po jednej dla pamięci kolorów bitmapy, pozycji wszystkich kul w przestrzeni oraz przestrzeni docelowej.
Przed rozpoczęciem renderowania oraz głównych algorytmów, obliczane są pozycje docelowe kul (by odciążyć procesor w czasie renderu), wczytywane dane o kolorach oraz tworzone obiekty kul (nadawanie im materiałów i flag do renderu), a następnie wpisywane są ich losowe pozycje w przestrzeni do macierzy.
Gdy zaczyna się główna faza programu (render), algorytm sprawdza pozycje oraz kolory kul z pozycjami i kolorami docelowymi, a następnie, małymi kroczkami, są transformowane by dążyły do pozycji docelowych.
Wszystko jest generowane oraz renderowane w czasie rzeczywistym, jedynymi obiektami gotowymi są pliki bmp które są obrazami docelowymi.
Aplikacja została napisana w C++, przy użyciu silnika graficznego Irrlicht oraz OpenGL.
Narazie jest to wersja alpha, zamierzam w wolnym czasie poprawić wydajność algorytmów (20FPS mnie nie satysfakcjonuje przy moim sprzęcie), wykorzystać oba rdzenie procesora oraz przerzucić obliczenia na GPU.
Następnym projektem jest modyfikacja programu do wyświetlania obiektów 3D :>
PS: Nie wiem czy to dobry dział i czy wogóle można umieszczać tutaj programy zamiast elektroniki, ale musiałem się pochwalić
Na początku chciałbym bardzo przeprosić za niedotrzymanie regulaminu, gdyż forum nie umożliwia uploadu plików większych niż 50MB przez co nie mogłem umieścić filmu na serwerze elektrody, dlatego umieszczam film w serwisie YouTube.
Proszę oglądać w HD, najlepiej na YouTube (większy rozmiar filmu)
Pewnego dnia rozmyślałem nad efektami do gier, które mogę wykorzystać w moich produkcjach. Po pewnej chwili doszedłem do pomysłu, który może w grach się nie przyda, ale może wyglądać ciekawie. Efekt polega na stworzeniu dużej ilości kul w przestrzeni trójwymiarowej (tutaj 100 000 obiektów) w losowym położeniu i kolorze, a następnie przetransformowanie ich w jakiś statyczny obraz, poprzez stopniową zmianę koloru i położenia kul.
Całość działa w sumie dość prosto:
Stworzyłem 3 główne macierze, po jednej dla pamięci kolorów bitmapy, pozycji wszystkich kul w przestrzeni oraz przestrzeni docelowej.
Przed rozpoczęciem renderowania oraz głównych algorytmów, obliczane są pozycje docelowe kul (by odciążyć procesor w czasie renderu), wczytywane dane o kolorach oraz tworzone obiekty kul (nadawanie im materiałów i flag do renderu), a następnie wpisywane są ich losowe pozycje w przestrzeni do macierzy.
Gdy zaczyna się główna faza programu (render), algorytm sprawdza pozycje oraz kolory kul z pozycjami i kolorami docelowymi, a następnie, małymi kroczkami, są transformowane by dążyły do pozycji docelowych.
Wszystko jest generowane oraz renderowane w czasie rzeczywistym, jedynymi obiektami gotowymi są pliki bmp które są obrazami docelowymi.
Aplikacja została napisana w C++, przy użyciu silnika graficznego Irrlicht oraz OpenGL.
Narazie jest to wersja alpha, zamierzam w wolnym czasie poprawić wydajność algorytmów (20FPS mnie nie satysfakcjonuje przy moim sprzęcie), wykorzystać oba rdzenie procesora oraz przerzucić obliczenia na GPU.
Następnym projektem jest modyfikacja programu do wyświetlania obiektów 3D :>
PS: Nie wiem czy to dobry dział i czy wogóle można umieszczać tutaj programy zamiast elektroniki, ale musiałem się pochwalić
Fajne? Ranking DIY