Autor Wątek: [opengl]G-buffer i deferred lighting  (Przeczytany 8697 razy)

Offline Krzysiek K.

  • Moderator
    • DevKK.net

# Lipiec 29, 2010, 12:52:02
Jakimi przykładowo?
Skoro są karty, która obsługują OpenGL 3.2, a nie obsługują DX 10.1, to w DX 10.1 musi być jakiś feature, którego OpenGL 3.2 nie wymaga.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Dab

  • Moderator
    • blog

# Lipiec 29, 2010, 12:54:10
Faktycznie są dwa takie features: jeden to marketing MS, a drugi to radość fanbojów ;)

Ale jak znajdziesz gdzie jest haczyk to się podziel, bo sam jestem ciekaw. Co jeszcze daje 10.1 poza explicit multisample?

Offline Krzysiek K.

  • Moderator
    • DevKK.net

# Lipiec 29, 2010, 13:20:07
Faktycznie są dwa takie features: jeden to marketing MS, a drugi to radość fanbojów ;)
Daj spokój. Sam chyba widzisz, że skoro jest OGL 3.2 a nie ma DX 10.1 na danej karcie, to DX 10.1 musi mieć większe wymagania.

Cytuj
Ale jak znajdziesz gdzie jest haczyk to się podziel, bo sam jestem ciekaw.
Nie planuję szukać - nie chce mi sie wgryzać w OpenGL.

Cytuj
Co jeszcze daje 10.1 poza explicit multisample?
To raczej pytanie do wujka google: http://msdn.microsoft.com/en-us/library/bb694530(VS.85).aspx

Nieco tego jest, zwłaszcza jeżeli chodzi o niebanalne wymagania na hardware (szczególnie zwiększona precyzja floatów może hardware zaboleć).

Offline Dab

  • Moderator
    • blog

# Lipiec 29, 2010, 13:36:00
Daj spokój. Sam chyba widzisz, że skoro jest OGL 3.2 a nie ma DX 10.1 na danej karcie, to DX 10.1 musi mieć większe wymagania.
Ta. Tak samo jak kart 3.0 "nie" da się wykorzystać pod XPkiem :))))

Wszystkie istotne rzeczy z tego linka są w OpenGL 3.x. Natomiast ja bym popatrzył bardziej przyszłościowo: obecnie cały czas dochodzą nowe możliwości dla kart 3.0 (chociażby http://developer.download.nvidia.com/opengl/specs/GL_ARB_viewport_array.txt backportowane z 4.1), czego w DX nigdy nie uświadczysz.
« Ostatnia zmiana: Lipiec 29, 2010, 13:38:35 wysłana przez Dab »

Offline Krzysiek K.

  • Moderator
    • DevKK.net

# Lipiec 29, 2010, 14:21:10
Cytuj
Wszystkie istotne rzeczy z tego linka są w OpenGL 3.x.
Rozumiem, że definicja "nieistotne" brzmi "to,c zego nie ma w OpenGL"? ;)

A tak serio, co z tego linka wydaje Ci się nieistotne? :)


EDIT:
Cytuj
Natomiast ja bym popatrzył bardziej przyszłościowo: obecnie cały czas dochodzą nowe możliwości dla kart 3.0 (chociażby http://developer.download.nvidia.com/opengl/specs/GL_ARB_viewport_array.txt backportowane z 4.1), czego w DX nigdy nie uświadczysz.
Dochodzą? Przecież viewport array był od samego początku istnienia DX 10. :P Wszystkie karty DX 10 od początku to miały i to, że OpenGL dokleja featury, o których zapomniał, nie jest raczej powodem do chluby. ;)
« Ostatnia zmiana: Lipiec 29, 2010, 14:28:02 wysłana przez Krzysiek K. »

Offline Dab

  • Moderator
    • blog

# Lipiec 29, 2010, 14:30:30
Floaty zgodne z IEEE-754 są mi jako programiście grafiki niespecjalnie potrzebne, tak szczerze mówiąc to bym nawet z NaNów czy innych INFów chętnie zrezygnował jeżeli mogłoby to przyspieszyć obliczenia. Z tego samego powodu nie rozumiem na co komu double w OGL/DX.

Rzecz jasna co innego CUDA czy OpenCL -- tam precyzja jest kluczowa.

A tak to wszystkie te ficzerki są dostępne i w OpenGL (w szczególności oddzielne kanały blendingu, explicit multisample, wykonywanie shadera per-sample czy kopiowanie z/do tekstur AA).

Cytuj
Dochodzą? Przecież viewport array był od samego początku istnienia DX 10.

Może i tak. Ale przez najbliższe 2 lata pojawią się nowe możliwości które łatwo zostaną dodane do 3.0, a do starszych wersji DX nie zostaną już doklejone. A za te 2 lata udział kart 4.0 dalej będzie za mały żeby masowo pisać w DX11 -- zresztą podobnie jak teraz: nadal gry DX10 to "wydarzenia" a nie norma (po 4 latach od premiery!).
« Ostatnia zmiana: Lipiec 29, 2010, 14:36:18 wysłana przez Dab »

Offline Krzysiek K.

  • Moderator
    • DevKK.net

# Lipiec 29, 2010, 15:21:36
Cytuj
Może i tak. Ale przez najbliższe 2 lata pojawią się nowe możliwości które łatwo zostaną dodane do 3.0, a do starszych wersji DX nie zostaną już doklejone.
Wątpię, by było tam coś kluczowego.

Cytuj
nadal gry DX10 to "wydarzenia" a nie norma (po 4 latach od premiery!)
Fakt faktem, że MS popsuł marketing DX łącząc go z marketingiem Visty, ale tak, czy inaczej, jeszcze większym "wydarzeniem" są w ogóle gry OpenGL. ;)

Offline ConayR

  • Użytkownik

# Lipiec 29, 2010, 17:04:51
Daj spokój. Sam chyba widzisz, że skoro jest OGL 3.2 a nie ma DX 10.1 na danej karcie, to DX 10.1 musi mieć większe wymagania.
Ta. Tak samo jak kart 3.0 "nie" da się wykorzystać pod XPkiem :))))
A u Was biją murzynów. Jaki związek ma nie wspieranie API na konkretnym systemie z funkcjonalnością tego API w porównaniu z innym?

Offline Dab

  • Moderator
    • blog

# Lipiec 29, 2010, 17:10:46
To prosta analogia.
Nie wspieramy DX10 na Windows XP (mimo ze mozemy), wiec rownie dobrze mozemy nie wspierac DX10.1 na GF8800 (mimo ze mozemy).

Cytuj
Wątpię, by było tam coś kluczowego.

Zapisze watek w zakladach, zeby zajrzec tu za 2 lata. Ale jezeli w miedzyczasie pojawi sie multivendor Bindless graphics czy cos w tym rodzaju to bede ciekaw co powiesz (chociaz pewnie uznasz to za nieistotne :P ).

Offline Krzysiek K.

  • Moderator
    • DevKK.net

# Lipiec 29, 2010, 17:13:27
Cytuj
Nie wspieramy DX10 na Windows XP (mimo ze mozemy), wiec rownie dobrze mozemy nie wspierac DX10.1 na GF8800 (mimo ze mozemy).
Tyle że za pierwsze odpowiada MS (który w takim obrocie spraw ma może jakiś interes), a za drugie NVidia (która z braku wsparcia dla DX10.1 ustąpiła pod tym względem AMD).

Cytuj
multivendor Bindless graphics
Jeżeli dobrza pamiętam, bindless opierał się na przerzucaniu garści wskaźników pomijając driver i był ekstremalnie hardware-specific, więc powyższe brzmi nie mniej prawdopodobnie, niż "wydajne WinAPI pod MacOSem".
« Ostatnia zmiana: Lipiec 29, 2010, 17:16:53 wysłana przez Krzysiek K. »

Offline Dab

  • Moderator
    • blog

# Lipiec 29, 2010, 17:16:46
Jaka jest wina NVidii w tym ze nie mozna na jej kartach uzywac explicit multisample pod DX, a mozna pod OpenGL?

Offline ConayR

  • Użytkownik

# Lipiec 29, 2010, 17:24:46
Tyle że za pierwsze odpowiada MS (który w takim obrocie spraw ma może jakiś interes), a za drugie NVidia (która z braku wsparcia dla DX10.1 ustąpiła pod tym względem AMD).
Bingo.
Jaka jest wina NVidii w tym ze nie mozna na jej kartach uzywac explicit multisample pod DX, a mozna pod OpenGL?
Można, w DX10. Większość pytań dotyczących nVidii należy jednak zadać, uwaga, nVidii. Dlaczego wsparcie dla 10.1 wygląda tak jak wygląda? Nie wiem, najwyraźniej postanowili nie inwestować kasy i skupili się na 11. Takie życie.

Offline Dab

  • Moderator
    • blog

# Lipiec 29, 2010, 17:27:39
Nie mozna. Mozna dopiero w 10.1.

Problemem jest MS ktory z jakis znanych sobie (podobnie jak z DX10 + XP) powodow uznal ze 10.1 nie bedzie dostepny dla wczesniejszych kart NV (mimo, ze moglyby go spokojnie obsluzyc).

No a jezeli rzekomym powodem miala byc kompatybilnosc (scisly format floata, rozklad probek itp), zeby na kazdej karcie obraz wygladal tak samo -- no to MS zaliczyl duzy fail. :)

Offline skoti

  • Użytkownik

# Lipiec 29, 2010, 17:44:38
Faktycznie są dwa takie features: jeden to marketing MS, a drugi to radość fanbojów ;)
Daj spokój. Sam chyba widzisz, że skoro jest OGL 3.2 a nie ma DX 10.1 na danej karcie, to DX 10.1 musi mieć większe wymagania.
Ciekawsze jest to dlaczego karty budżetowe jak Geforce 210 obsługują 10.1, a Geforce GT285 nie ;]. Możliwe, że jakaś nieistotna rzecz jest w sterownikach OpenGL robiona za pomocą kernela CUDA w sterowniku (nie wnikałem tak bardzo), zamiast sprzętowo... ale raczej to był po prostu protest nVidii który bardzo nagłośnili, że nie chcą Dx10.1 i nie będą go wspierać, bo nie zgadzają się na takie mini dodatki od MS będą wspierać tylko duże aktualizacje (tak jak zresztą z dx8.1 było też), a karty budżetowe wydane były już jak dx10.1 był martwy i ugięli się pod naciskiem producentów laptopów i komputerów dla marketów.

Dochodzą? Przecież viewport array był od samego początku istnienia DX 10. :P Wszystkie karty DX 10 od początku to miały i to, że OpenGL dokleja featury, o których zapomniał, nie jest raczej powodem do chluby. ;)
Tak w związku z tym co te karty wspierają, a co dopiero teraz doszło to pewnie zainteresują Cię (bo pamiętam, że narzekałeś na te dwa) dwie rzeczy (które są dostępne dla kart dx10, jako rozszerzenia, a dx11 jako element Core):
- obsługa binarnych shaderów
- separate shader objects
« Ostatnia zmiana: Lipiec 29, 2010, 17:55:56 wysłana przez skoti »

Offline Krzysiek K.

  • Moderator
    • DevKK.net

# Lipiec 29, 2010, 18:21:26
Cytuj
Problemem jest MS ktory z jakis znanych sobie (podobnie jak z DX10 + XP) powodow uznal ze 10.1 nie bedzie dostepny dla wczesniejszych kart NV (mimo, ze moglyby go spokojnie obsluzyc).
W efekcie tej decyzji służby specjalne MS w tajemnicy przed opinią publiczną zleciły pewnemu klanowi wojowników ninja napaść na siedzibę NVidii w celu wykradnięcia kodu drivera DX 10.1 i zablokowania ich serwerów. :P Jakim cudem Microsoft miałby wpływać na to, co NVidia robi w swoich sterownikach? Jeżeli karty NVidii były by w stanie obsłużyć DX 10.1, to na pewno sterowniki do tego by napisali. Najprawdopodobniej jednak polegli na jakimś featurze DX 10.1.

Cytuj
No a jezeli rzekomym powodem miala byc kompatybilnosc (scisly format floata, rozklad probek itp), zeby na kazdej karcie obraz wygladal tak samo -- no to MS zaliczyl duzy fail. :)
Prędzej AMD zaliczyło duzy win (bo i w efekcie zaliczyło). To nie MS wymyśla, co ma się pojawiać w nowych DX, tylko producenci chipów. Widocznie AMD podsunęło coś, czego NVidia nie miała, a MS to łyknął.

Cytuj
raczej to był po prostu protest nVidii który bardzo nagłośnili, że nie chcą Dx10.1 i nie będą go wspierać, bo nie zgadzają się na takie mini dodatki od MS będą wspierać tylko duże aktualizacje (tak jak zresztą z dx8.1 było też)
Jeżeli pod słowem "protest" można ukryć wołanie "nie mamy tylu inzynierów i kasy, by tak często robić poprawki do sprzętu", to tak. ;)

Cytuj
karty budżetowe wydane były już jak dx10.1 był martwy i ugięli się pod naciskiem producentów laptopów i komputerów dla marketów
Nie tyle ugięli, co w końcu dali radę zrobić nową rewizję hardware. ;)

Cytuj
Tak w związku z tym co te karty wspierają, a co dopiero teraz doszło to pewnie zainteresują Cię (bo pamiętam, że narzekałeś na te dwa) dwie rzeczy (które są dostępne dla kart dx10, jako rozszerzenia, a dx11 jako element Core):
- obsługa binarnych shaderów
- separate shader objects
No wreszcie. :) Szkoda tylko, że tak późno. :)