Skocz do zawartości

biblioteka graficzna od podstaw


oozie

Polecane posty

Witam,

jak wszystkim wiadomo z gotowych bibliotek mamy dwie najpopularniejsze: OpenGL oraz DX.

Przeszukuję internet aby znaleźć informację na jakiej zasadzie działa taka biblioteka i jakoś nie mogę natrafić na konkrety.

Głównie chodzi o to jak wysyłać rozkazy do karty graficznej i odbierać obliczone wyniki bez pośrednictwa gotowych bibliotek.

Powiedzmy że chciałbym napisać bibliotekę graficzną opartą na raytracingu śledzącym promień nawet do kilku odbić od różnych powierzchni.

Widziałem taki projekt na gamedev.pl z tym że wszystkie operacje obliczał CPU. Warto byłoby stworzyć coś takiego pod GPU.

Nie chodzi mi tutaj o shadery które stanowią tylko fragment potoku graficznego ale o zaimplementowanie operacji dla całego potoku.

Proszę o podstawowe źródła lub słowa kluczowe pod jakimi mogę próbować szukać.

Pozdrawiam!

Link do komentarza
Udostępnij na innych stronach

Witam, z tego co wiem to jak narazie jedyne możliwości pisania bezpośrednio na GPU daje technologia Nvidi zwana CUDA oraz dla kart ATI mamy ATI stream. Można programować np. w c/c++.

Oczywiście trzeba mieć odpowiednią kartę graficzną wspierającą te technologie.

Podaje link do prezentacji która była wygłaszana na moim wydziale opisuje ona z grubsza technologię CUDA, na stronie tej takrze można znaleźć kody źródłowe przykładu oraz filmiki(dział Prezentacje). oto link: http://panoramix.ift.uni.wroc.pl/~maq/cuda...ntacja-cuda.pdf

Link do komentarza
Udostępnij na innych stronach

Co do technologi CUDA to czytałem o tym wcześniej. Nie byłem początkowo przekonany ale po przeczytaniu większej ilości materiałów stwierdziłem że napisanie takiej biblioteki jak OpenGL w oparciu o CUDA jest możliwe. Co prawda ogromnym nakładem pracy ale jednak ;]

Pytanie jak inżynierzy z Sylicon Graphics pisali OpenGL kiedy nie było jeszcze CUDA... Czysty kod maszynowy? Jeśli tak to wracam do meritum czyli jak programować przy pomocy ASM pod grafikę. Czy są jakieś API do tego?

Link do komentarza
Udostępnij na innych stronach

ehh... nie mozesz zmienic potoku, wszystko jest zaimplementowane w karcie graficznej, open gl to tylko funkcje do komunikacji z karta graficzna, a nie bibioteka ktora zajmuje sie rysowaniem. dajesz oglowi texture i model jego zadaniem jest tylko przeslanie tego do karty graficznej ktora to dopiero zajmuje sie wyswietleniem tego.

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...