Přehled holografického vykreslování

Funkce HoloLens (první gen) HoloLens 2 Moderní sluchátka
Vykreslování ✔️ ✔️ ✔️

Holografické vykreslování

Klíčem k holografickému vykreslování je znalost druhu používaného zařízení. zařízení s zobrazenými zobrazeními, jako je například HoloLens, přidávají světlo na světě. Černé pixely jsou zcela transparentní, zatímco jasnější obrazové body jsou stále neprůhledné. Vzhledem k tomu, že světlo ze zobrazení je přidáno na světlo od reálného světa, jsou bílé pixely průsvitné.

I když vykreslování stereoscopic poskytuje pro vaše hologramy jednu hloubku, díky přidání efektů odbavování může uživatel snadněji vidět, na čem je hologram. Jednou z těchto technik je přidat záři kolem hologramu na okolním povrchu a potom vykreslit stín proti této záři. Tímto způsobem se stín zdá odečíst od prostředí. Prostorový zvuk je další důležitou hromádkou, která umožňuje, aby uživatelé měli důvod ke vzdálenosti a relativnímu umístění hologramu.

zařízení s neprůhlednými zobrazeními, jako jsou Windows Mixed Reality moderní sluchátka, zablokují svět. Černé pixely jsou plné černé a každá barva se zobrazí uživateli. Vaše aplikace zodpovídá za vykreslování všeho, co uživatel uvidí. Tím je ještě důležitější udržovat konstantní obnovovací frekvenci, aby uživatelé mohli pohodlně používat.

Předpokládané parametry vykreslování

kvalitní sluchátka s více realitami (HoloLens i moderní sluchátka) průběžně sledují polohu a orientaci hlaví hlavního uživatele vzhledem k jejich okolí. Jak vaše aplikace začne připravovat svůj další snímek, systém předpovídá, kde bude mít hlavní uživatel v budoucnu v budoucnosti v okamžiku, kdy se snímek zobrazí na displejích. Na základě této předpovědi systém vypočítá zobrazení a transformace projekce pro použití pro tento rámec. Vaše aplikace musí tyto transformace použít k dosažení správných výsledků. Pokud se nepoužijí transformace zadané systémem, výsledný obrázek se nerovná se skutečným světem, což by mohlo mít za následek nepohodlí uživatele.

Poznámka

Aby bylo možné přesně odhadnout, kdy se k zobrazení dostane nový rámec, systém neustále měří efektivní latenci kanálu vykreslování vaší aplikace. I když se systém upraví na délku vašeho kanálu vykreslování, můžete zlepšit stabilitu hologramu tím, že kanál zachováte co nejkratší.

Aplikace, které používají pokročilé techniky pro rozšíření předpovědi systému, mohou přepsat transformace systémových zobrazení a projekce. Tyto aplikace musí stále používat transformace poskytované systémem jako základ pro vlastní transformace, aby vznikly smysluplné výsledky.

Další parametry vykreslování

Při vykreslování snímku systém Určuje zobrazení back-buffer, ve kterém se má vaše aplikace vykreslovat. Toto zobrazení je často menší než plná velikost vyrovnávací paměti rámce. Bez ohledu na velikost zobrazení je po vykreslení snímku v systému obrázek škálovatelný, aby vyplnil celé zobrazení.

U aplikací, které nedokázaly vykreslovat požadovanou obnovovací frekvenci, lze parametry systémového vykreslování nakonfigurovat tak, aby se snížil nárok na zatížení paměti a náklady na vygenerování za cenu zvýšeného aliasu v pixelech. Lze také změnit formát vyrovnávací paměti, který může u některých aplikací pomoci zlepšit šířku pásma a propustnost pixelů.

Vykreslování frustum, rozlišení a snímkování, ve kterém je vaše aplikace požádána o vykreslení, může změnit také ze snímku na rámec a může se lišit v levém a pravém horním rohu. Například když je aktivní hybridní realita (MRC) a Konfigurace zobrazení kamera/video kamera se nejedná o, může se jedna z očí vykreslovat větší FOV nebo rozlišením.

Pro libovolný snímek se musí vaše aplikace vykreslovat pomocí zobrazení transformace, transformace projekce a rozlišení zobrazení poskytovaného systémem. Kromě toho musí vaše aplikace nikdy předpokládat, že jakýkoli parametr vykreslování nebo zobrazení zůstane pevně stanovený z snímků na rámec. Moduly, jako je Unity, mají všechny tyto transformace ve vlastních objektech kamery tak, aby byl vždy dodržován fyzický pohyb uživatelů a stav systému. Pokud vaše aplikace umožňuje virtuální pohyb uživatele po celém světě (například použití Thumbstick na gamepadu), můžete přidat nadřazený objekt rozhraní nad kameru, která ho přesouvá. To způsobí, že fotoaparát odrážejí virtuální i fyzický pohyb uživatele. Pokud vaše aplikace změní dimenzi zobrazení, transformaci projekce nebo zobrazení poskytovanou systémem, musí informovat systém voláním příslušného rozhraní API pro přepsání.

aby se zvýšila stabilita holografického vykreslování, měla by vaše aplikace poskytnout Windows každém snímku hloubkovou vyrovnávací paměť, která se používá pro vykreslování. Pokud vaše aplikace poskytuje vyrovnávací paměť hloubky, měla by mít souvislé hodnoty hloubky s hloubkou vyjádřenou v metrech z kamery. Díky tomu může systém použít data hloubky na pixel pro lepší stabilizaci obsahu v případě, že hlavní pozice uživatele ukončí mírně posunutí od předpokládaného umístění. Pokud nemůžete poskytnout vyrovnávací paměť hloubky, můžete zadat fokus a normální, definovat rovinu, která bude obsahovat většinu vašeho obsahu. Pokud je k dispozici jak vyrovnávací paměť hloubky, tak rovina ohniska, systém může použít obojí. Konkrétně je užitečné poskytnout jak vyrovnávací paměť hloubky, tak i fokus, který obsahuje vektor rychlosti, když vaše aplikace zobrazuje hologramy, které jsou v pohybu.

Podrobné informace o tomto tématu najdete v článku věnovaném vykreslování v rozhraní DirectX .

Holografické kamery

Windows Mixed Reality zavádí koncept holografické kamery. Holografické kamery jsou podobné tradičnímu fotoaparátu nalezenému v 3D grafických textech; definují vlastnost extrinsic (poloha i orientace) i vnitřní vlastnosti kamery. (Například pole pro zobrazení se používá k zobrazení virtuální 3D scény.) Na rozdíl od tradičních 3D kamer aplikace neovládá polohu, orientaci a vnitřní vlastnosti kamery. Místo toho je pozice a orientace holografické kamery implicitně kontrolována pohybem uživatele. Pohyb uživatele se předává do aplikace v rámci jednotlivých snímků pomocí transformace zobrazení. Také vnitřní vlastnosti kamery jsou definovány kalibrovanými optickými vlákny zařízení a přenos snímků po snímku přes transformaci projekce.

Obecně se vaše aplikace vykreslí pro jednu z stereofonních kamer. Robustní smyčka vykreslování bude podporovat více kamer a bude podporovat mono i stereofonní fotoaparáty. Systém může například požádat, aby se vaše aplikace vykreslila z alternativní perspektivy, když uživatel aktivuje funkci, jako je třeba zachycení Mixed reality (MRC), v závislosti na tvaru sluchátka. Aplikace, které můžou podporovat více kamer , se jim budou přizpůsobovat tím, že se zavedou k druhům kamer, které můžou podporovat.

Vykreslování svazků

Při vykreslování lékařských snímky magnetické rezonance nebo inženýrských objemů v 3D se často používají techniky vykreslování svazků . Tyto techniky můžou být zajímavé ve smíšené realitě, kde je můžou uživatelé přirozeně zobrazit z klíčových úhlů pouhým přesunutím jejich hlav.

podporovaná rozlišení u HoloLens (první gen)

  • Maximální velikost zobrazení je vlastnost HolographicDisplay. ve výchozím nastavení je HoloLens nastaveno na maximální velikost zobrazení, což je 720p (1268x720).
  • Velikost zobrazení lze změnit nastavením ViewportScaleFactor na HolographicCamera. Tento faktor škálování je v rozsahu od 0 do 1.
  • nejnižší podporovaná velikost zobrazení na HoloLens (první gen) je 50% ze 720p, což je 360p (634x360). Jedná se o ViewportScaleFactor 0,5.
  • Cokoli menší než 540p se nedoporučuje z důvodu vizuálního snížení úrovně, ale dá se použít k identifikaci kritických bodů rychlosti vyplňování pixelů.

podporovaná rozlišení na HoloLens 2

  • Aktuální a maximální podporované velikosti vykreslování jsou vlastnosti Konfigurace zobrazení. HoloLens 2 je ve výchozím nastavení nastavena na maximální velikost cíle vykreslování, což je 1440x936.
  • Aplikace mohou změnit velikost cílových vyrovnávací paměti pro vykreslování voláním metody RequestRenderTargetSize pro vyžádání nové velikosti cíle vykreslování. Bude zvolena nová velikost cíle vykreslování, která splňuje nebo překračuje požadovanou velikost cíle vykreslování. Toto rozhraní API změní velikost vyrovnávací paměti cíle vykreslování, která vyžaduje opětovné přidělení paměti u GPU. Důsledky tohoto zahrnutí: velikost cíle vykreslování lze škálovat dolů, aby se snížil tlak na procesor GPU a tato metoda by se neměla volat s vysokou frekvencí.
  • aplikace mohou i nadále měnit velikost zobrazení stejným způsobem jako HoloLens 1. U GPU není přidané žádné přeřazení paměti, takže je možné ho změnit s vysokou frekvencí, ale nedá se použít ke snížení tlaku paměti GPU.
  • nejnižší podporovaná velikost zobrazení na HoloLens 2 je 634x412, ViewportScaleFactor přibližně 0,44, pokud se používá výchozí cílová velikost vykreslování.
  • Pokud je k dispozici velikost cíle vykreslování, která je menší než nejnižší podporovaná velikost zobrazení, faktor měřítka zobrazení se bude ignorovat.
  • Cokoli menší než 540p se nedoporučuje z důvodu vizuálního snížení úrovně, ale dá se použít k identifikaci kritických bodů rychlosti vyplňování pixelů.

Viz také

Holografické vykreslování umožňuje vaší aplikaci nakreslit hologram na přesné místo na světě kolem uživatele bez ohledu na to, jestli je přesně umístěný na fyzickém světě nebo v rámci virtuální sféry, kterou jste vytvořili. Hologramy jsou objekty sound a light. Vykreslování umožňuje vaší aplikaci přidat světlo.

Podpora zařízení