Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML2.0] Efekt cover flow z itunes

Ostatnio zmodyfikowano 2013-07-25 21:58
Autor Wiadomość
KrzysiekB
Temat założony przez niniejszego użytkownika
[SFML2.0] Efekt cover flow z itunes
» 2013-07-24 22:19:24
Witam!
Mam do was następujące pytanie ponieważ zmagam się z tym problemem już trochę
czasu a mianowicie, jak uzyskać w SFML efekt obrazka (tzw. Cover flow) taki sam jak w programie iTunes
tutaj link dla zobrazowania sytuacji:
http:/​/i1-scripts.softpedia-static.co​m​/screenshots​/Itunes-Cover-Flow_1.png
Próbowałem to zrobić na różne sposoby np. skalowaniem obracaniem itd. ale nic z tego.
Potem próbowałem wygooglować coś ale nic z tego szukałem i na polskich i na angielskich
forach i nic. Jeżeli ktoś robił coś takiego lub ma pomysł na takie coś to proszę o jakąś wskazówkę.
P-88709
Mrovqa
» 2013-07-25 00:59:18
Efekt takiego patrzenia bokiem? Normalnie wystarczyłoby w OpenGLu zmienić współrzędną z i wykorzystać odpowiednią kamerę (czyt. macierz), co da się osiągnąć za pomocą wstawek. Osobiście dla "menu 3D" (coś jak w Crysisie 2) chciałem uzyskać coś podobnego i wprawdzie jeszcze nie zacząłem eksperymentów, ale myślałem nad vertex shader+fragment shader*. Jeżeli nie znasz GLSLa to na sam początek odradzam zabaw z shaderami, chyba, że jesteś bardzo wytrwały (nauka, zrozumienie, a później brak dobrego debuggera i printfa - bo to GPU, a nie CPU).

*po prostu przestawiasz współrzędne odpowiednich wierzchołków w vertex shaderze, a karta graficzna wszystko ładnie zinterpoluje i będziesz mógł to spokojnie oteksturować we fragment shaderze.
P-88725
KrzysiekB
Temat założony przez niniejszego użytkownika
» 2013-07-25 20:07:09
Rozumiem ale shadery raczej odpadają bo nie umiem ich wykonywać.
A czy sfml niema przypadkiem bufora głębokości?
Bo jeśli tak no to sprawa wygrana.
Jeśli nie to chyba się wezmę trochę za OpenGL bo SFML ponoć można z nim zintegrować.
P-88775
Mrovqa
» 2013-07-25 20:45:19
Trzeci argument: http://www.sfml-dev.org​/documentation/2.0​/classsf_1_1RenderTexture.php#aefbb76eb3b87e368ab974b2660931ccb
Pozostaje jednak jeszcze kwestia kamery - domyślnie jest ona ustawiona tak, że wszystkie "wiązki światła" (pixele dla raytracera) wychodzą prostopadle względem powierzchni ekranu. Innymi słowy - bufor głębokości nie da Ci tego efektu, a przynajmniej w prosty sposób.
P-88777
KrzysiekB
Temat założony przez niniejszego użytkownika
» 2013-07-25 21:20:09
Ale w Klasa View w Sfml-u niema funkcji która by pozwalała na ustawienie kąta nachylenia widoku(kamery) względem osi z(osi głębokości)
Są funkcje pozwalające na obrót kamery zoom itp. ale nie taka.
A poza tym co to jest te render texture i jak z tego skorzystać?
Za argumenty przyjmuje szerokość wysokość i bufor głębokości ale jak to działa?
Tak jak sprite tylko wyświetla bezpośrednio texture i ją potrafi przekształcić?
To nawet nie korzysta z wektorów 3d.
P-88783
Mrovqa
» 2013-07-25 21:40:15
SFML jest zaprojektowany jako biblioteka do gier 2D, więc trzeci wymiar jest po prostu zbędny - dlatego pisałem, że łatwo nie będzie. Tu potrzeba wstawek OGLa albo shaderów, by osiągnąć Twój cel.
RenderTexture, podobnie jak RenderWindow, dziedziczy po RenderTarget (patrz dokumentacja). Jakbyś poświęcił 2-5 minuty na wstępne zapoznanie się z dokumentacją, to byś zauważył, że jest to niemalże to samo. Po prostu renderujesz obraz tak ja do okna, tj. metody clear(), draw() oraz display(), a następnie pobierasz teksturę przy pomocy metody getTexture(). Później możesz wyrenderowaną teksturę wyświetlić już jako sprite normalnie w oknie.
P-88791
KrzysiekB
Temat założony przez niniejszego użytkownika
» 2013-07-25 21:58:12
Muszę to sobie wszystko ogarnąć na spokojnie zanim coś konstruktywnego wymyślę.
Przede wszystkim przeczytam sobie dokumentację(może trafię na coś ciekawego :))
Dziękuję za pomoc zamykam temat.
P-88793
« 1 »
  Strona 1 z 1