Šta je novo?

AMD to Demonstrate GPU Havok Physics Acceleration at GDC

Cak i u singleplayer modu ne bi bilo isto.. zbog razlike u fps-u rezultat proracuna fizike je potpuno drugaciji. Ako bi npr pucao na zid i on padne i ubije protivnika a zatim promenis kvalitet grafike (malo povecas npr. kvalitet shadera) i samim tim smanjis framerate, onda simuliranje pada zida nece bit isto i mozda neces uspeti da ubijes protivnika na nacin na koji si naucio da moze. Ili ako predjes za drugi racunar imaces potpuno drugi dozivljaj.

Zamisli npr.. Counter Strike sa fizikom.. i na brzom racunaru bacis bombu na protvinika a ona lepo odskakuce i odbija se od zidova i na kraju padne na mesto X. Na sporijem racunaru ista ta bomba bacena pod istim uslovima ce pasti na drugu lokaciju, mozda blizu X, a mozda na potpuno drugu stranu.

Hmm da, interesantno. U svakom slučaju fizika jeste na čemu ima dosta da rade developeri da bi (nam) dočarali novi "osećaj za filing" u igrama.
A slažem se i sa gx-x om (mislim da je on komentarisao) i verujem da se većina slaže da bi bilo najbolje da bude jedan standard a ne ovako, svako gura svoju verziju pa će nešto raditi na ovim kartama na drugim neće i obrnuto, bzvz..
 
Poslednja izmena:
Isto ovako bih pričao i u slučaju da je vlasnik AMD.Dokle god se fizika potencira kao nešto revolucionarno a u principu se svodi na 2-3 efekta u igri (primer Mirror's Edge-a), ja ću ovako pričati/pisati.Sun rays jeste efekat, ali doprinosi dočaravanju realnosti u igri i sasvim je druga priča.

Ako nesto doprinosi realnosti u M'Edge to je Physx...bez tih efekata igra je totalno prazna i staticna.Bez tkanina, bez partikla koje nosi vetar, objekata koje sutiras trceci preko krovova, stakla koja se rasprskavaju na realan nacin...sunrays i nema u toj igri btw.Ia ko bi nekim slucajem birao izmedju ovih PhysX "sitnica" i sunrays (koji jelte doprinose realnosti), ja biram ono prvo.

Inace ta fora da objekat na koji se puca, ostecen padne na NPC-a (ili na glavnog karaktera) i ubije ga/ ili nokautira- vec ima u Krizi, odradjen kroz fizicki model.Ali na CPU.
GPU fizika bi recimo mogla da simulira bujicu vode na sceni i to bi bilo vrlo interesantno...neke rane faze toga se mogu videti u Cryostasis-u...

Za multiplejer naravno, ostaju problemi.No po meni je vaznije da vidimo realnu simulaciju fizike u singleplayeru za pocetak:)
 
Najsvežija vest: ATI/AMD i Havok su implementirali OpenCL baziranu akceleraciju Havok Cloth API-a. Malo detaljnije o ovome na techreport-u.

Ostaje da vidimo demo. :)
 
To sto su implemetirali cloth iz Havoka na OpenCL neznaci da imamo fiziku koja radi svuda. Najveca mana Havoka je sto ima odvojene solvere za svaki od efekata, sto znaci da efekti nemogu medjusobno da interaguju. Physx ima solver koji vodi racuna o svim efektima na sceni i dozvoljava medjusobne uticaje
 
^
Mislis li da bi mogli da dovedu Havok u redu u buducnosti?
 
Najveca mana Havoka je sto ima odvojene solvere za svaki od efekata, sto znaci da efekti nemogu medjusobno da interaguju.

Nije mi jasno sta tu ne moze da interaguje, kad je cela stvar bazirana na interakcijama. Jel mozes navesti neki konkretan primer ili jos bolje klip/demo koji prikazuje ovo?

CPU mora da pravi specijalne strukture u memoriji da bi eliminisao nepotrebne provere i na kraju poredi samo ono sto misli da treba da poredi.

Kazes "mora" kao da je to neki nedostatak. Otkad je odbacivanje nepotrebnog posla losa stvar?

Idealno bi bilo kada bi se Physx API doradio tako da direktno saradjuje sa rendering API. Npr.. da graficka karta "zna" za postojanje fizickih objekata i da svi ti objekti imaju "imena". Simulacija fizike bi modifikovala pozicije tih objekata direktno (bez potrebe da prebacuje podatke u sysmem).
Ovakva promena bi zahtevala da se jos vise posla prebaci na ionako mocan GPU.

Slazem se da bi to bilo idealno resenje. Samo sto GPU-ovi u ovo fazi jos uvek nisu dovoljno fleksibilni u radu ni sa sopstvenom memorijom da bi se to ostvarilo. Verovatno tek za par generacija kad GPU-ovi postanu generalniji ili u nekoj varijanti procesora sa heterogenim jezgrima.

Najsvežija vest: ATI/AMD i Havok su implementirali OpenCL baziranu akceleraciju Havok Cloth API-a. Malo detaljnije o ovome na techreport-u.

Ostaje da vidimo demo. :)

Red Dress Demo je radio na GPU-u po recima AMD-ovog Mike Houston-a: http://forum.beyond3d.com/showpost.php?p=1280212&postcount=24

Mislim da je ovo najznacajniji deo: "All OpenCL with no specific AMD functions or native code."
Ovako bi zaista moglo biti univerzalno prihvaceno.
 
Poslednja izmena:
Recimo da na sceni imas fluid, particle, cloth i jos ponesto... fluid svojim proticanjem ce imati uticaj na cloth, particli koj udaraju u cloth ce takodje imati uticaj na isti, itd.. Hocu reci, razlicite fizicke simulacije na sceni mogu da uticu jedna na drugu.

Koliko sam shvatio, kod Havoka su to sve odvojeni svetovi i da ako programer zeli da napravi interkaciju izmedju 2 efekta treba ce extra da codira.

Izbacivanje nepotrebnog moze biti losa stvar ako potrosis puno vremena da nadjes nepotrebno.

Nemogu skroz da tvrdim ali mislim da Havok nije zgodan za implementaciju u hw. Dok su ga razvijali imali su neke druge stvari na umu. Physx je od pocetka dizajniran da radi na hw.

btw.. dok ATI pokazuje jednu igracicu NVidia:
- lomi stvari
http://www.youtube.com/watch?v=WuV6wGnmI44&feature=channel_page
... i zidove
http://www.youtube.com/watch?v=LPvL73GHxV0&feature=channel_page
- Maya plugin za Cloth
http://www.youtube.com/watch?v=w9pHHBMEQC0&feature=channel_page
- trese drvece
http://www.youtube.com/watch?v=8f54_TxI5fg&feature=channel
- jos malo tkanine
http://www.youtube.com/watch?v=SNu0Weob5yg&feature=channel_page
 
Recimo da na sceni imas fluid, particle, cloth i jos ponesto... fluid svojim proticanjem ce imati uticaj na cloth, particli koj udaraju u cloth ce takodje imati uticaj na isti, itd.. Hocu reci, razlicite fizicke simulacije na sceni mogu da uticu jedna na drugu.

Koliko sam shvatio, kod Havoka su to sve odvojeni svetovi i da ako programer zeli da napravi interkaciju izmedju 2 efekta treba ce extra da codira.

OK, razumem scenario. Koliko vidim na Havok sajtu pise da je sve "fully integrated" tako ne verujem da treba dodatan kod.
Mada, ni za Havok ni PhysX ne mogu da nadjem nijedan demo interakcije fluid-cloth i slicno. Sve je tipa rigid body + nesto.

Nemogu skroz da tvrdim ali mislim da Havok nije zgodan za implementaciju u hw. Dok su ga razvijali imali su neke druge stvari na umu. Physx je od pocetka dizajniran da radi na hw.

Dobro si izabrao rec "hw" umesto "gpu" :)
PhysX je poceo zivot kao NovodeX SDK za generalnu upotrebu. Ageia ga je prilagodila za svoj "dedicated PhysX hardware" koji je nista drugo nego multi-core MIPS procesor, a zatim ga nVidia prilagodjava za G80 arhitekturu. Razlika izmedju te PhysX kartice i G80+ GPU-ova je prilicna.

A sto se tice portovanja Havoka, stvari koje su po prirodi data paralel kao particles, fluids, cloth sigurno bez problema mogu da se prebace. Sve ostalo sto po prirodi ne odgovara GPU arhitekturi i bolje da se ne portuje. Nema smisla opterecivati GPU dodatnim poslom i imati besposlen CPU.
 
E vidis.. problem fizike je u numerickom resavanju integrala. Sto je manji fps, vise je vremena proteklo izmedju frejma i fizicki engine ima vise posla da izracuna novonastalo stanje. Ako se proracun izmedju 2 frejma razlikuje na 2 racunara onda rezutat simulacije nece biti isti. E zamisla sada igras neki miltiplayer i razvalis zid. Tvoj komp je brz i pokaze da se zid srusio na protivnika, ali game server je to procenio malo drugacije i zid ipak nije pao na protivnika.

Pitanje je moraju li grafika i fizika da budu sinhronizovane?

Npr slicna problematika je bila nekada u net codu za quake (a i za ostale igrice verujem, samo je quake uvek bio prvenac za multiplayer tehnologije).

U quake 2, net code, odnosno informacije koje salje klijent ka serveru (a mozda i u drugom smeru, vise se ne secam) su bile u sync sa fps-om, i onda se desavalo to da ljudi sa boljim fps cesce salju i manje warpuju a i njima bolje radi multiplayer.

U quake 3 su grafika i net code razdvojeni, pa se asinhrono vrsi komunikacija u odnosu na zavrsetak obrade jednog frame-a (cl_maxpackets kontrolise ovo).

Mozda nesto slicno moze da se uradi i za fiziku? Stim da bi onda verovatno bilo nemoguce ujediniti obradu fizike i grafike i tako dobiti na performansama.
 
Havok, a wholly owned subsidiary of Intel Corp. and a provider of various middle-ware for game development, along with ATI, graphics products group of Advanced Micro Devices, demonstrated the industry’s first cross-platform physics effects engine that enables realistic behaviour of cloth, fabric, hair, etc. Thanks to OpenCL, Havok Cloth middle-ware can be processed on both ATI and Nvidia graphics chips.

“Havok is committed to delivering highly optimized cross-platform solutions to our game customers and we are pleased to be working with AMD to ensure that gamers enjoy a great user experience when running Havok-powered games on AMD platforms. Unlocking the parallel processing capability of AMD’s hardware provides real advantages to our customers, and the greater the total computing resources available, the better the gaming experience developers can deliver,” said David Coghlan, vice president of development for Havok.

At Game Developers Conference 2009, Havok is showcasing industry-changing technical breakthroughs in real-time clothing simulation, marking the first time that movie-quality cloth has been seen on in-game characters. The ease of integration of the product is highlighted by the fact that the first games to feature Havok Cloth are launching in Spring 2009. It should be noted that those titles are based on Havok Cloth released in early 2008 and are not OpenCL-based.

Havok Cloth is a platform-optimized run-time software development kit and toolset that significantly increases the realism of game characters and environments by enabling character designers to add true-to-life, physically-based motion to garments, environmental objects and other deformable items like hair, bellies or tails. Havok Cloth also minimizes the time that artists spend on animating the behavior of character garments and environmental cloth in games.

Thanks to optimization of the latest Havok Cloth version for OpenCL standard, the new cloth simulation engine can utilize both graphics processing units that support OpenCL as well as traditional central processing units. Presently Havok Cloth can take advantage of ATI Stream technology supported by Radeon graphics chips. Later on it will also gain support of Nvidia GeForce, S3 Graphics Chrome and Intel Larrabee graphics processors.

Izvor:

http://www.xbitlabs.com/news/multim...t_of_Physics_Processing_Cloth_Simulation.html

Sto je i logicno, ako vec ide kroz OpenCL...
 
Poslednja izmena:
Ako već je topla voda, bar će biti široko prihvaćena po otvorenom standardu.
 
Dobro.. i onda ce NVidia da portuje PhysX na OpenCL... Jedan od razloga zasto Physx trenutno ne postoji na drugim platformama je zato sto na drugim platformama nema nista slicno CUDA-i.
Trenutno PhysX ima mnogo vise featurea koji rade u hw nego sto to ima Havok.
 
Trebala je nvidia da uradi to sto je uradila da bi ovi ostali uopste ustali iz kreveta. sad kad ustaju - nvidia ne valja. Da nije ona uzela ageia-u i napravila pompu oko cele stvari, qrac bi ati gurao openCL i uopste se bavio fizikom i tim stvarima. Uskoro ce SSAO (ambient occlusion) biti i u WHQL drajverima kod nvidie, i onda posle 3 poredjenja IQ slike bice atiju to ne treba, pa ce onda ati to da implementira. Isto tako mu ni fizika nije trebala, a sad se opasno gura openCL (gura se bilo sta, samo da ima nesto da se ne zaostaje. Na svu srecu tu je intel. Nemam nista protiv, OpenCL je i najbolje resenje ako moze sve sto i physX moze DANAS, a ne da je to freem radi ali ovo ono...to bi bilo lame, a bice lame, to je open source, lame je isto kao i linux i sve ostalo open source, nit smrdi nit mirishe)
 
Davno su oni mogli standarnizirati Physx, i dogovor je trebao pasti, ali AMD je na to samo odmahnuo rukom. Fakat, AMD-u to i ne odgovara, jer on proizvodi centralne procesore, i cilj im je da se fizika izvrsava na njemu.
 
Navodno im nVidija nikad to nije ni nudila (tj samo su pricali preko medija).
 
Nazad
Vrh Dno