Silverlight prozatím nepodporuje ?ádný nízkoúrov?ový p?ístup k grafické kart? ani vysokoúrov?ové API pro zobrazení 3d model?. Dnešní b??né procesory jsou však natolik výkonné, ?e není problém zobrazovat relativn? slo?ité 3d modely i bez podpory grafické karty. Silverlight pro toto vytvá?í ideální podmínky, díky pou?ití .NET a kompilaci MSIL do nativního kódu, umo??uje dosáhnou výpo?etního výkonu blí?ícího se nativním aplikacím.
Z pohledu programátora je absence hardwarové karty velice zajímavá, je to malý krok do minulosti, díky omezenému výkonu ?ešíte podobné problémy jako tv?rci starých po?íta?ových her, které jsou nám velkou inspirací. Jste donuceni podvád?t, sna?it se vytvo?it reálnou iluzi.
Existuje n?kolik opensource projekt? zam??ených na zobrazování 3d objekt? v Silverlight. Nejpokro?ilejsím je asi Balder (http://balder.codeplex.com/). Dálším známým je Kit3D (http://kit3d.codeplex.com/).
Silverlight nabízí i ?áste?nou podporu hardwarové akcelerace, od verze 2.0 je mo?né pou?ít na obrázek perspektivní transformaci, která je akcelerována. Tato vlastnost jde pou?ít i pro zobrazení 3d model? a projekt Kit3D toho extenzivn? vyu?ívá. U detailních model? je nutná re?ie pro tuto metodu p?íliš velká a i p?es hardwarovou akceleraci je pomalejší ne? softwarová rasterizace, kterou pou?ívá Balder. Akceleraci lze však perfektn? vyu?ít pro zabrazení plochy, nebo jednoduchého modelu s detailní texturou, je ideální pro zobrazení skyboxu. Skybox je metoda vyp?j?ená práv? z po?íta?ových her. Okolní prost?edí je tvo?eno krychlí s texturou, která je vykreslena v?dy tak, aby st?ed kamery byl ve st?edu krychle, u?ivatel nemá šanci post?ehnout hranu krychle, proto?e se hýbe s ním.
Pokud se potýkáme s omezeným výkonem, je velmi d?le?ité vytvo?it u?ivatelské prost?edí které by p?es to reagovalo p?ijateln? rychle.
Na p?íklad: pokud u?ivatel otá?í modelem vypínáme anti-aliasing a pou?íváme rychlejší filtrování textur, aby pohyb byl plynulejší, naopak pokud se model zastaví, m??eme ho vykreslit jak nejlépe doká?eme bez ohledu na rychlost. Zárove? je však zbyte?né kreslit ten samý obrázek znovu a znovu a zat??ovat zbyte?n? procesor, proto je vykreslování p?erušeno, kdy? se model nehýbe. Zbývá více výkonu pro ovládací prvky.
Na rychlost vykreslení modelu má velký vliv to, jak je uspo?ádaný a rozd?lený, pouhým správným se?azením jeho ?ástí a vykreslováním sm?rem od kamery lze dosáhnout p?ekvapivých výsledk?.
Autorem textu je Petr Novague
Filip
Jordana Brewster Laetitia Casta Claudette Ortiz Julia Stiles Marisa Miller
No comments:
Post a Comment