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

Tworzenie biblioteki graficznej

VPS Starter Arubacloud
0 głosów
654 wizyt
pytanie zadane 9 listopada 2016 w C i C++ przez Ditrix Mądrala (5,650 p.)
Witam!

Tak z czystej ciekawości chce się spytać, jak tworzy się bibliotekę graficzną taką jak np. OpenGL czy DirectX. Ogólnie głowie się na tym, że programując jakieś gry, programy, wykorzystujemy te biblioteki, wiadomo, aby uzyskać efekt graficzny. Ale jak od początku, z czystego kodu, tworzone są podstawy do tworzenia grafik.

Może znacie jakieś fajne strony objaśniające krok po kroku tworzenie takiej biblioteki. Ja nie mogłem znaleźć.

2 odpowiedzi

0 głosów
odpowiedź 9 listopada 2016 przez Patrycjerz Mędrzec (192,340 p.)
wybrane 9 listopada 2016 przez Ditrix
 
Najlepsza
Generowanie grafiki trójwymiarowej polega najzwyczajniej w świecie na wykorzystywaniu wyspecjalizowanych algorytmów matematycznych, które z danych na wejściu (wierzchołki, krawędzie, tekstury, oświetlenie, kamera, shadery itp.) tworzą na wyjściu gotowy obraz.

Napisanie biblioteki to jedno, połączenie się z kartą graficzną to drugie. Całym podzespołem zajmuje się oczywiście sterownik i za jego pomocą programista może odnieść się do sprzętu: czy to przez graficzne API (OpenGL, DirectX), czy też przez specjalny tryb do wykonywania spersonalizowanych obliczeń za pomocą układów karty (m.in. OpenCL).

Teoretycznie więc mógłbyś napisać kod renderera i uruchomić go z wykorzystaniem OCL, aby wykorzystać potencjał układów graficznych, ale nie wiem, czy dla ciebie jest to realna opcja.
komentarz 9 listopada 2016 przez Ditrix Mądrala (5,650 p.)
Na razie pozostanę jednak na obserwacji i zgłębianiu wiedzy ^^

Ale jeszcze jedno pytanie. GPU czy CPU programuje się wykorzystując czystą binarkę ? Jeśli tak, to czy sterowniki też są pisane za pomocą binarki, czy języka programowania niskopoziomowego takiego jak Assembler ? Bo z tego co wiem, np Windows jest pisany między innymi za pomocą Assemblera, po to aby odnieść się do sprzętu. Więc, jeśli napisałeś, że sterownik pomaga odnieść się do sprzętu, to musi być pisany w języki niskopoziomowym tak ?
komentarz 9 listopada 2016 przez Patrycjerz Mędrzec (192,340 p.)
Procesor wykonuje rozkazy w postaci kodu maszynowego. Kod ten zaś jest tworem albo samego programisty, albo asemblera, albo kompilatora, albo maszyny wykonywalnej.

Poziomy języków programowania mają właśnie swoje odzwierciedlenie w powyższych odtwórcach kodu binarnego. W czym nie napiszesz swojego programu, zawsze zostanie on przetłumaczony na ciąg zer i jedynek.

Oznacza to więc, że układy cyfrowe można programować w różnych językach - wyższych lub niższych, ale każdy sposób ma swoje wady i zalety.

Z tego, co wiem, sterowniki sprzętowe są pisane najczęściej w C, C++ i języku asemblera.
+2 głosów
odpowiedź 9 listopada 2016 przez adrian17 Ekspert (344,100 p.)

jak tworzy się bibliotekę graficzną taką jak np. OpenGL

"Implementacja" OpenGLa (bo OpenGL to tylko interfejs, nie biblioteka) jest częścią sterowników karty graficznej. Zwykły śmiertelnik raczej nie ma czego tam szukać. (są wyjątki w postaci np. Mesy, ale to też jest grzebanie bardzo blisko poziomu sterowników)

komentarz 9 listopada 2016 przez Ditrix Mądrala (5,650 p.)
Wiec tworzenie takiej biblioteki, interfejsu graficznego opiera się o strukturę procesora graficznego ? Pisząc strukturę mam na myśli zasady jego działania, Dobrze myślę ? Jeśli tak, to już się nie będę bardziej zagłębiać, jeśli chodzi o tworzenie takiej karty graficznej, bo rozumiem, że to wykracza poza moje rozumowanie ^^
komentarz 9 listopada 2016 przez Patrycjerz Mędrzec (192,340 p.)
Karta graficzna to kolejny procesor z pamięcią, czyli następna jednostka obliczeniowa na pokładzie komputera, więc programuje się ją dość podobnie jak inne podzespoły.

Podobne pytania

0 głosów
8 odpowiedzi 410 wizyt
pytanie zadane 2 maja 2015 w C i C++ przez jeżozwierz Początkujący (490 p.)
0 głosów
0 odpowiedzi 138 wizyt
pytanie zadane 13 lutego 2019 w JavaScript przez kordix Gaduła (3,910 p.)
+1 głos
2 odpowiedzi 426 wizyt
pytanie zadane 22 października 2016 w C i C++ przez Munvik Dyskutant (9,350 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...