Zaloguj się lub zarejestruj. 12 Maj 2024, godz.06:13

Autor Wątek: Gry a programy Cad  (Przeczytany 5547 razy)

Offline skalanya

  • Specjalista
  • ****
  • Wiadomości: 265
  • Reputacja na forum: +19/-0
    • Skalany Architects
Gry a programy Cad
« dnia: 20 Listopad 2009, godz.23:14 »
To ja mam taki pytanko.

Dlaczego taka siatka renderuje sie w grze tak szybko a normalnie w jakimś Cadowskim programie to bedzie się rzeźbić tygodniami ;/

http://www.heise-online.pl/newsticker/news/item/AMD-Radeon-HD-5970-teraflopsowe-monstrum-i-krol-wydajnosci-3D-862869.html?view=zoom;zoom=3
« Ostatnia zmiana: 20 Listopad 2009, godz.23:25 wysłana przez skalanya »

botak

  • Gość
Odp: Gry a programy Cad
« Odpowiedź #1 dnia: 21 Listopad 2009, godz.06:39 »
Nie tylko Ty sobie zadajesz to pytanie...
A to nie tylko siatka, do tego dochodzi jeszcze motionblur i tysiące innych operacji logicznych...
A wszystko przez to, że przeliczaniem geometrii i innych dupereli zajmuje się karta graficzna a nie procek.

Ja też się zastanawiam, dlaczego silniki renderujące wogóle nie korzystają z grafiki.
Może dlatego, że gry są zoptymalizowane pod tym kątem i pisane w taki języku aby grafika to zrozumiała.

Wdrożenie tego do wizualizacji prawdopodobnie skutkowało by wydawaniem kart specjalnie pod konkretne silniki renderujące.
Albo zunifikowaniem ich języka...
I pewnie tak się stanie, bo jeśli są specjalne karty do np Photoshopa, to czemu ma nie byc pod Vraya czy Maxwela.

A ciekawe czy w tej chwili to wszystkiego typu podglądy renderów na  żywo działają na kartach czy na prockach?

Offline WIKTOR

  • Specjalista
  • ****
  • Wiadomości: 402
  • Reputacja na forum: +57/-0
  • "OVER THE TOP"
    • WU-Portfolio
Odp: Gry a programy Cad
« Odpowiedź #2 dnia: 21 Listopad 2009, godz.12:43 »
Sluszne spostrzezenia... daje do myslenia... hmmm... Czasami faktycznie gry (engine) laduje np tor wyscigowy + np samochody do tego wiadomo tekstury + wspomniane motionblury itd a renderujac np kawalek auta w jakims silniku renderujacym trwa tyle czasu... Botak slusznie zauwazyles, ze do renderow zaewne pojawia sie dedykowane karty. Teraz grafika 3d odgrywa coraz wieksza role i pewnie producenci sprzetu dogadaja sie z producentami rendererow. Zobaczymy. Ale milo by bylo gdyby taki maxwell dzialal jakies 10 razy szybciej :)

Offline Jarek

  • Doświadczony użytkownik
  • **
  • Wiadomości: 72
  • Reputacja na forum: +147/-0
    • RhinoScripted Tools
Odp: Gry a programy Cad
« Odpowiedź #3 dnia: 21 Listopad 2009, godz.17:47 »
Ostatnio dosc duzo sie dzieje w dziedzinie wykorzystania GPU ( procesorow kart graficznych ) do renderingu.
ChaosGroup - bulgarscy tworcy Vraya niedawno zaprezentowali na targach Siggraph wersje Vray-RT wykorzystujacego karty graficzne do renderingu "real-time" ( albo prawie-realtime - obraz polepsza sie progresywnie im dluzej czekamy.

http://www.cgarchitect.com/news/SIGGRAPH-2009-CHAOS-GROUP-GPU.shtml

Z tego co zapowiadaja, ma to dzialac na zwyklych ( np. "growych" ) kartach graficznych, co wiecej bedzie moglo wykorzystywac karty graficzne innych komputerow z sieci. Jeszcze troche pewnie potrwa do oficjalnej premiery, ale mysle, ze bedzie to kolejny przelom.

Sam od paru miesiecy korzystam z VrayRT ( na razie ta wersja uzywa tylko CPU, lub wielu CPU w sieci ) i musze stwierdzic, ze fantastycznie ulatwia i przyspiesza to prace z ustawianiem sceny ( swiatla, materialy, environment map, etc ).

Inna ciekawa technologia ( ciagle w trakcie rozwoju ) jest sprzet Caustic Graphic:
http://www.caustic.com/
To tak jak wspomnieliscie wyglada na karte dedykowana do real-time rendering.

Poczekamy-zobaczymy. Niedawno szef NVidii zapowiedzial ze za 8 lat wydajnosc procesorow graficznych wzrosnie ponad 500-krotnie ( zakladajac podwajanie mocy co rok ) :-)  

« Ostatnia zmiana: 21 Listopad 2009, godz.17:48 wysłana przez Jarek »

Offline skalanya

  • Specjalista
  • ****
  • Wiadomości: 265
  • Reputacja na forum: +19/-0
    • Skalany Architects
Odp: Gry a programy Cad
« Odpowiedź #4 dnia: 21 Listopad 2009, godz.20:26 »
Czyli na to wygląda, że większą trudnością w przyszłości będzie wymodelowanie czegoś niż wyrenderowanie :)

Offline kruk

  • Forum Ekspert
  • *****
  • Wiadomości: 634
  • Reputacja na forum: +113/-0
Odp: Gry a programy Cad
« Odpowiedź #5 dnia: 21 Listopad 2009, godz.20:52 »
jak dla mnie, nie-informatyka, to dziwne, że dla programów typu Rhino (CAD + wizualizacja) karta graficzna z procesorem nie potrafią sie płynnie uzupełniać. bieżące wyświetlanie jest obsługiwane przez kartę graficzną natomiast rendering jest liczony wyłącznie przez procesory...
 :-\

plum

  • Gość
Odp: Gry a programy Cad
« Odpowiedź #6 dnia: 23 Listopad 2009, godz.15:17 »
Ja mogę wam coś powiedzieć więcej od środka jako, że studiuje informatykę i robiłem już projekt związany z grafiką komputerową.
Spostrzeżenia słuszne już padły, mianowicie programiści ciągle kurczowo trzymają się liczenia wszystkich operacji związanych z renderingiem przez CPU, szczególnie, że większość programów graficznych lubi opierać się na OpenGL'u, co dodatkowo ułatwia sprawę.
Robiłem symulacje wózka inwalidzkiego w 3d w OpenGL'u i całość obliczeń standardowo wykonywana jest na CPU, także wystarczyło wymodelować wózek parę obiektów typu ławka, kosz na śmieci i latarnie, a już w trybie wierzchołkowym można było zauważyć spadek tępa animacji. Żeby obliczenia dotyczące grafiki przeszły na kartę graficzną od strony programisty oznacza to stworzenie sobie dodatkowo o wiele więcej trudu, bo albo piszemy od podstaw silnik graficzny (co w tej chwili robią już inny zajmując się tylko tym) lub wykorzystujemy gotowe silniki, które już zmuszają kartę do pracy. Teraz o tyle dobrego, że nVidia pomyślała i coraz bardziej i przystępniej promuje CUDA oraz Phisix, które mogą w niedługim czasie przenieść w wielu dziedzinach obliczenia na karty graficzne, które są o wiele sprawniejsze w operacjach wierzchołkowych. W Rhino też wszystkie operacje przeliczania wierzchołków np. po wycięciu jednej powierzchni w drugiej mogły by być swobodnie przeliczane przez kartę graficzną co było by o wiele szybsze. Na dodatek nurbsy w OpenGL są nie jako już od podstawowej wersji wbudowane co bardzo ułatwia pisanie takich aplikacji jak Rhino, tylko szkoda, że nie używa się do tego silnika graficznego. Także musimy czekać, aż powstanie coś na CUDA czy też jakiś alternatywny silnik graficzny dla programów 3d :)

Co do silników takich jak np VrayRT czy taki jak chyba z tego co pamiętam w podglądzie HyperShot'a ciągle nie korzystają z GPU, po prostu silnik jest napisany w inny sposób, silniki renderujące opierają się w większości wypadków na przeliczaniu odbić światła, fotonach co zabiera wile czasu, tam może to być przeliczane w inny uproszczony sposób, jaki to już trzeba by było się zagłębiać w dokumentacje takich silników.
« Ostatnia zmiana: 23 Listopad 2009, godz.15:35 wysłana przez plum »