logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Składanie obrazu z rozsypanych kulek w przestrzeni 3D

akaz_ 13 Maj 2010 05:29 2635 2
REKLAMA
  • 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ć :D

    Fajne? Ranking DIY
    O autorze
    akaz_
    Poziom 13  
    Offline 
    akaz_ napisał 50 postów, pomógł 7 razy. Jest z nami od 2010 roku.
  • REKLAMA
  • #2 8076683
    akaz_
    Poziom 13  
    Posty: 50
    Pomógł: 7
    Nowy film:





    Żadnych komentarzy? Przydałby się jakiś feedback :)
  • #3 8076837
    utak3r
    Poziom 25  
    Posty: 741
    Pomógł: 60
    Ocena: 5
    akaz_ napisał:
    Żadnych komentarzy?


    Ok, proszę :P

    1. Tytułuj to "Bored developer", nie "programmer".
    2. Polecam obejrzeć polskie demo "Final Audition".

    Poza tym nieźle.
REKLAMA