• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

OpenGL czy Vulkan ? C++

Object Storage Arubacloud
+1 głos
3,374 wizyt
pytanie zadane 29 października 2017 w C i C++ przez Programeł Gaduła (3,500 p.)

Witam

Miałem już styczność z SFML i zrobiłem 2 gry w tej biblotece. Wydaje mi się że znam dość dobrze C++. Ale przyszedł czas na zrobienie "czegoś" w 3D i zastanawiam się czy wybrać OpenGL czy Vulkan

Słyszałem że OpenGL jest łatwiejszy od innych dostępnych Bibliotek(Czy API, już się gubię w tym temacie). Ale słyszałem też o nowej bibliotece o nazwie Vulkan. Jedynie co o niej słyszałem to to że jest trudniejsza, wszystko ustawiamy sami, jak chcemy, coś w tym guście :P . Wydaje mi się że może być bardziej przyszłościowa. I tak jak w temacie, Co mi polecacie ?

 

 

2 odpowiedzi

+1 głos
odpowiedź 29 października 2017 przez CzikaCarry Szeryf (75,340 p.)

API Vulkan jest bardziej przyszłościowe, ze względu na:

  • Jest bardziej wydajne (a raczej wymaga mniej zasobów w stosunku do np. OpenGL czy DirectX),
  • Jest bardziej niskopoziomowe (można pracować bliżej hardware, co ma wpływ na wydajność, możliwości optymalizacji)
  • Lepiej sobie radzi z hardware (np. w przypadku, gdy chcemy korzystać z mocy obliczeniowej 2 kart graficznych (nawet różnych, o różnych architekturach) nie musimy łączyć kart mostkiem SLI / CF czy innym czymś)
  • Coraz więcej sprzętu i sterowników jest projektowanych z myślą o Vulkanie.
komentarz 29 października 2017 przez Programeł Gaduła (3,500 p.)

Wielkie dzięki za odpowiedz :)

Chyba w takim razie zastanowie się nad tym API. A miałeś może z nim styczność kiedyś ? 

 

1
komentarz 29 października 2017 przez CzikaCarry Szeryf (75,340 p.)
Nie pracowałem w Vulkan API, ale znalazłem na YouTube coś takiego:

https://m.youtube.com/watch?v=wHt5wcxIPcE
1
komentarz 2 listopada 2017 przez Ekzuzy Nowicjusz (100 p.)
OpenGL jest prostszy do nauki. Bardzo szybko można w nim napisać prosty program. Niestety, sama biblioteka już taka prosta nie jest, bo wiele różnych przypadków (czy to tworzenia zasobów czy rysowania obiektów) wymaga używania różnych podejść i funkcji. I napisanie bardziej skomplikowanego programu potrafi nastręczyć problemów.

Vulkan natomiast jest trudniejszy w nauce, ma dość wysoki próg wejścia, ale sama biblioteka jest dużo bardzie spójna i, wbrew pozorom, dość prosta. Więc prosty program napisać jest dość trudno, ale potem ten poziom trudności już praktycznie nie rośnie.

Ogólnie więc mogę polecić tę bibliotekę. A do nauki mogę polecić tutorial:

https://software.intel.com/en-us/articles/api-without-secrets-introduction-to-vulkan-preface

https://software.intel.com/en-us/articles/api-without-secrets-introduction-to-vulkan-part-1

(do części 6 włącznie wraz z kodem źródłowym dostępnym tutaj: https://github.com/GameTechDev/IntroductionToVulkan). A z innych przykładów:

https://github.com/SaschaWillems/Vulkan

https://github.com/PacktPublishing/Vulkan-Cookbook
3
komentarz 2 listopada 2017 przez rot18ru Bywalec (2,100 p.)
Pisanie że Vulkan jest bardziej przyszłościowy niż OpenGL bo jest bardziej niskopoziomowy, wydajniejszy itp to jak pisanie, że C++ jest bardziej przyszłościowy od Javy bo jest wydajniejszy, bardziej niskopoziomowy itp. Vulkan nigdy nie był projektowany z myślą aby wyprzeć OpenGL, ale raczej miał dotrzeć tam gdzie OpenGL już nie wystarcza. W przypadku robienia indie gier nie ma sensu ani się bawić się w OGL ani tym bardziej Vulkana tylko od razu zacząć od czegoś na wyższym poziomie, chyba że ktoś wiąże przyszłą pracę z tymi technologiami i chcę się czegoś nauczyć.
+1 głos
odpowiedź 2 listopada 2017 przez Patrycjerz Mędrzec (192,320 p.)

Funkcje czy wygoda danej technologii to jedno, wspieranie jej przez sprzęt to drugie. Z powodu świeżości Vulkana na rynku radziłbym jednak pisać nadal w OpenGL, zanim większość konsumentów nie zaopatrzy się w odpowiednie karty graficzne. Nie ma przecież nic gorszego niż przesłanie swojej nowej gry koledze do sprawdzenia, gdy on nie może jej uruchomić, gdyż ma za stare podzespoły wink

Podobna sytuacja również ma miejsce w światku OpenGL. Zazwyczaj stosuje się już zadomowione starsze wersje tego API, które może nie posiadają wielu fajnych bajerów, ale mają możliwości porównywalne z nowszymi implementacjami.

Jeśli celujesz w jak najszersze grono użytkowników twoich aplikacji, OpenGL na dzisiejszy dzień jest chyba najsensowniejszym wyborem. Wydaję mi się również, że późniejsza przesiadka na Vulkana nie powinna przysparzać wielu problemów, gdyż podstawowa teoria grafiki komputerowej jest od lat niezmienna, co najwyżej wyzwaniem może być nowy interfejs i nowe funkcje.

komentarz 2 listopada 2017 przez Ekzuzy Nowicjusz (100 p.)
Generalnie trudno się nie zgodzić. Z jedną uwagą - Vulkan dostępny jest na całkiem szerokiej gamie sprzętów. Komputery kupione 3-4 lata temu powinny bez problemu Vulkana odpalić. A należy do tego dodać jeszcze czas produkcji aplikacji czy gry. Czyli w momencie premiery, załóżmy że za mniej więcej rok, będą to już 4-5 letnie komputery. W branży gier to już dosyć przedpotopowy sprzęt.
komentarz 2 listopada 2017 przez criss Mędrzec (172,590 p.)
edycja 2 listopada 2017 przez criss
OpenGL, Vulkan, D3D czy inne API do grafiki, to tylko API - interfejs do zaimplementowania przez programistów sterów dla karty. Więc niekoniecznie musi to tak działać, że kilkuletnia karta (whatever, ale z przed premiery Vulkana) nie będzie obsługiwać Vulkana. Wystarczy, że producent napisze odpowiedni sterownik, a użytkownik pobierze aktualizacje. W jakimś stopniu wiek karty pewnie ma wpływ, ale myślę, że to musiałaby być naprawde stara karta, co i tak wiąże się też z brakiem supportu dla nowszych wersji OpenGL.

Przykład: Vulkan miał premierę troche ponad rok temu, o ile sie nie mylę. NV daje pełne wsparcie Vulkana dla wszystkich popularnych (i nie tylko pewnie) kart od serii 600. Seria 600 to karty z 2012 roku, czyli już minęło 5 lat. https://developer.nvidia.com/vulkan-driver

Podobne pytania

0 głosów
1 odpowiedź 429 wizyt
pytanie zadane 25 kwietnia 2017 w Sprzęt komputerowy przez Zychu Użytkownik (710 p.)
0 głosów
2 odpowiedzi 597 wizyt
pytanie zadane 10 lutego 2016 w Rozwój zawodowy, nauka, praca przez Ditrix Mądrala (5,650 p.)
0 głosów
1 odpowiedź 318 wizyt
pytanie zadane 6 lipca 2020 w OpenGL, Unity przez tonn204 Mądrala (7,440 p.)

92,539 zapytań

141,382 odpowiedzi

319,476 komentarzy

61,928 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...