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

OpenGL, shadery, GLSL

Ostatnio zmodyfikowano 2017-02-08 14:14
Autor Wiadomość
Nazgul
Temat założony przez niniejszego użytkownika
OpenGL, shadery, GLSL
» 2017-02-05 02:36:41
Zna ktoś AKTUALNY kurs w języku polskim(w angielskim już mam, topornie to idzie;) ) o pisaniu shaderów?;D

1. Orientuje się ktoś jak wygląda transfer danych GPU -> CPU w języku GLSL?
Na razie moja wiedza z GLSL ogranicza się do suchych informacji o przesyłaniu danych CPU -> GPU za pomocą:
bufor(utworzenie, zbindowanie, wypełnienie) i wysłanie za pomocą glEnableVertexAttribArray ,
a potem odebranie tych danych po stronie shadera: layout (location = ..) ....
teraz interesuje mnie odebranie przekształconych danych z GPU -> CPU

2. Jak teraz wygląda praca karty graficznej?
W jednym źródle(być może przestarzałym) przeczytałem, że obliczenia potoku graficznego są podzielone na bloki (vertex, fragment, geometry, (i jeszcze te nieprogramowalne))
w innym z kolei(być może tyczy się tylko najnowszych kart graficznych) było napisane, że jednostki obliczeniowe GPU są *uniwersalne*(mogą obliczyć zarówno program z vertex, fragment jak i geometry shadera)
co by znaczyło, że podział na typy shaderów jest niepotrzebnym utrudnieniem, a mimo wszystko ten podział wciąż funkcjonuje..

3. Czy jest sens implementowanie gry w taki sposób:
CPU(obsługa okna, callbacki, sterowanie, AI, załadowanie zapisu gry(do GPU, nie do ramu), (pobranie z GPU) stanu gry i zapis na dysk, nadzorowanie pracy GPU)
GPU(kolizje, fizyka(reakcja na działanie siły, fizyka płynów, itp.), tekstury, światło, cienie, systemy cząsteczkowe i różne takie bajery)


Pytanie nr 3 jest obszerne i myślę, że nie ma na nie jednoznacznej odpowiedzi, zachęcam do dyskusji ;)
P-157357
CRAAAACH
» 2017-02-06 18:36:21
Hmm... Nie znam na razie składni GL'a itp., ale czy GPU zwraca takie dane do CPU? Zawsze myślałem, że zwraca tylko kody błędów, użycie pamięci itp. Co do kursu shaderów, to znalazłem książkę o ISBN 9788301181994 .
P-157402
Nazgul
Temat założony przez niniejszego użytkownika
» 2017-02-06 20:58:57
Też tak myślałem, jednak wiele razy dostałem info, że można łamać szyfry wykorzystując GPU (chyba najprostszy przykład z którym się spotkałem.. łamanie archiwum RAR metodą brutal-force, program po zainstalowaniu wyszukiwał kartę graficzną i pobierał jakieś pliczki konfiguracyjne pod obecną kartę graficzną), albo że przydaje się do "wykopywania" Bitcoinów. Chyba najbardziej wiarygodne źródło to biblioteka OpenCL wpierana przez NVIDIA, AMD, tworzona przez Khronos.. bibilioteka ma na celu wykorzystanie wszystkich możliwości obliczeniowych komputera. Nie znam dokładnie tej biblioteki OpenCL, ale wnioskuję, że w jakiś sposób obliczone dane potrafi pobrać z urządzenia (np. z GPU);D

Chętnie się nauczę tej biblioteki, tylko że na ten moment chcę stworzyć grę, a nie łamać hasła, także wolałbym działaś w środowisku do grafiki(GLSL);D
P-157418
Rashmistrz
» 2017-02-06 23:17:37
1 i 2, musi gdzieś być dokumentacja kart graficznych
i języków/kompilatorów tworzących kod na GPU.

3 dotyczy ogólnie wykonania obliczeń i algorytmów
na GPU może znajdziesz coś w moim starym temacie:
Wykonywanie obliczeń na GPU

EDIT:
[...] albo że przydaje się do "wykopywania" Bitcoinów.
Układ ASIC pod kopanie Bitcoinów jest najlepszym rozwiązaniem. :F

P-157426
Nazgul
Temat założony przez niniejszego użytkownika
» 2017-02-06 23:59:16
układy ASIC zawsze są najlepszym rozwiązaniem, tylko troche niewygodnym;D kiedyś jak nie było tak rozpowszechnionej wiedzy na temat Bitcoinów i nagrody za odkopanie bitcoina były znacznie większe, to znacznie łatwiej było zaprogramować GPU niż projektować cały ten układ ASIC(nigdy tego nie projektowałem, ale to chyba nie jest proste(pewnie przez to że nie jest zbyt popularne)); P
Ba! niektórzy nawet się nie bawili w pisanie pod GPU tylko kupowali kilka średnich kompów(najlepszy stosunek wydajności do ceny) i robili 'kopalnie' w piwnicy wykorzystując samo CPU;P

Jak na razie wniosek mam taki, że na początku całą gierkę będą robił standardowo, że GPU tylko od renderowania fajnej grafiki, a CPU do wszystkich obliczeń (Post DejaVu z tematu który podałeś mnie przekonał, żeby na razie nie kombinować;P) jedyne co zrobię "przekobinowanego", to projektując silnik do gierki postaram się zostawić sobie furtki na ewentualne optymalizacje związane z przeniesieniem obliczeń na GPU;D

Przypomnę że szukam kursu od GLSL:D   wątki 1, 2 i 3 można uznać za wyczerpane;D
P-157428
1aam2am1
» 2017-02-07 00:31:22
Kiedyś jak pisałem grę 2d w sfml. Wykorzystywałem box2d, naszła mnie ochota na przeniesienie biblioteki z obliczeń cpu na gpu. Ale po chwili na google okazało się, że ktoś to zrobił dla starszej wersji. Gdy zobaczyłem kod nadal nic nie rozumiałem. Gpu jest fajne ale trzeba się namęczyć aby uzyskać dobre wyniki.
P-157429
rosi20
» 2017-02-07 00:59:32
P-157430
Nazgul
Temat założony przez niniejszego użytkownika
» 2017-02-07 01:46:17
#rosi20
Co chciałeś wnieść wpisując tego posta?
P-157432
« 1 » 2
  Strona 1 z 2 Następna strona