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.com/screenshots/Itunes-Cover-Flow_1.pngPró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ę. |
|
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. |
|
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ć. |
|
Mrovqa |
» 2013-07-25 20:45:19 |
|
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. |
|
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. |
|
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. |
|
« 1 » |