DirectX ? OpenGL

0

Co ma większą przyszłość? Co uważacie za lepsze? Jakie jest Wasze zdanie na ten temat?

0

Temat ten jest przedmiotem wielu dyskusji i sporów. Pozostanie nim jeszce przez dlugi czas.
Pierwszą istotną róznicą jest to, ze interfejs DirectX nie sluzy jedynie do tworzenia grafiki, ale posiada także komponenty umozliwiajace tworzenie efektow dzwiekowych, interakcji z uzytkownikiem, aplikacji sieciowych i multimediow. Natomiast OpenGL jest interfejsem przeznaczonym wylacznie do tworzenia grafiki. Nalezy porownac zatem mozliwosci komponentu graficznego interfejsu DirectX z mozliwosciami interfejsu OpenGL.

Obydwa interfejsy wykorzystuja tradycyjne potokowe tworzenie grafiki. Taki sposob tworzenia grafiki stosowany jest od zarania grafiki komputerowej. Pewne modyfikacje wprowadziło w nim wykorzystanie nowych rozwiazan sprzetowych, ale zasadnicza idea pozostala taka sama.

Obydwa interfejsy opisuja punkty wierzchołkowe za pomocą zestau danych zawierajacych wspólrzedne okreslajace ich polozenie w przestrzeni oraz inne informacje o punktach. Podstawowe elementy grafkiki(punkty , linie, trojkaty) definowane sa za pomoca uporzadkowanych zbiorow wierzcholkow. Jednak sposob w jaki informacja o wierzcholkach wpływa na tworzenie tych elementow, jest rozny dla obu interfejsow.

0

Cecha OpenGL DirectX wer. 8
Laczenie wierzcholkow w jeden nie tak
Dostepnosc dla wielu systemow tak nie
Mechanizm rozszerzen tak tak
Dostepnosc pelnej specyfikacji tak nie
Oswietlenia dwustronne tak nie
Tekstury przestrzenne tak nie
Bufory Z niezlezne od sprzetu tak nie
Bufory akumulacyjne tak nie
Pelnoekranowy antialiasing tak tak
Rozmycie na skutek ruchu tak tak
Glebokosc pola tak tak
Tworzenie obrazow stereoskopowych tak nie
Atrybuty okreslajace rozmiaru punktow
i szerokosci lini tak nie
Picking tak nie

0

Jeżeli OpenGL nie posiada obsługi sieci, myszy itp. to jak np. można tworzyć aplikację sieciowe, albo najprostsze wybieranie elementu 3D(chociażby sześcianu) myszą ?

0

O)D tego są systemowe funkcje (np. pobierania pozycji myszy), a dalej to już twoja działka.

0

Korzystaj z SDL'a. Jego zalety to:

1.) wieloplatformowość
2.) udostępnia interfejsy do sieci, dźwięku, joysticków i innych
3.) jako interfejs do grafiki może wykorzystywać OpenGL
4.) wiele dołączanych modułów (obsługa wielu formatów grafiki i dźwięku)
5.) licencja Lesser GPL

0

Jeżeli OpenGL nie posiada obsługi sieci, myszy itp. to jak np. można tworzyć aplikację sieciowe, albo najprostsze wybieranie elementu 3D(chociażby sześcianu) myszą ?

To bardzo proste. Mozesz korzystac jednoczesnie z dwoch interfejsow. Po prostu ladujac dwie rozne biblioteki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0