
S vydáním macOS Sonoma Apple také aktualizoval aktuální verze vývojářských nástrojů Metal pro použití ve Windows. Zde je návod, jak je získat a používat.
Metal je grafický framework společnosti Apple pro macOS. Metal umožňuje vytvářet bohatou, výkonnou 2D a 3D grafiku pomocí grafického enginu Apple optimalizovaného pro všechna zařízení Apple.
Zatímco Metal běží na zařízeních Apple, můžete také používat Microsoft Windows jako platformu pro vytváření prostředků, obrázků, shaderů a textur pro použití v Metalu.
Apple má na svých stránkách vývojářských nástrojů dva soubory ke stažení Metal pro Windows: Metal Developer Tools 4.0 pro Windows a Metal Shader Converter pro Windows. Obojí si můžete stáhnout online přihlášením ke svému účtu vývojáře Apple.
Chcete-li si stáhnout Metal Developer Tools pro Windows, přihlaste se ke svému vývojářskému účtu Apple, přejděte ve webovém prohlížeči na stránku Downloads a přejděte dolů na Kovové vývojářské nástroje pro Windows:
Klikněte na Ukázat detaily šipku a poté klikněte na Metal Developer Tools 4.0 Windows.pdf a Metal Developer Tools 4.0 Windows.exe a stáhněte si je do úložiště vašeho počítače.
Dále přejděte o kousek dolů na Metal shader převodník pro Windows a klikněte na Ukázat detaily šipku a poté klikněte na Metal Shader Converter pro Windows.pdf a Metal Shader Converter pro Windows.exe pro jejich stažení do úložiště počítače:
Stáhněte si Metal Shader Converter pro Windows.
Instalace
Přesuňte všechny stažené položky do nové složky. Nyní byste měli mít čtyři položky. Před instalací si možná budete chtít přečíst oba soubory PDF:
Stažené nástroje Windows.
Dále, pokud jste si stáhli soubory do Macu, připojte USB flash disk nebo jiný disk kompatibilní s Windows a zkopírujte na něj čtyři položky. Ke zkopírování souborů do počítače se systémem Windows 10 nebo 11 použijete jednotku palce.
Po dokončení kopírování připojte jednotku USB k počítači se systémem Windows a zkopírujte čtyři soubory. Spusťte oba instalační soubory EXE a nainstalujte nástroje do počítače se systémem Windows.
Jak uvádí Metal Developer Tools for Windows PDF:
„Ve výchozím nastavení se balíček nainstaluje do %PROGRAMFILES%\Metal Developer Tools. Při instalaci najdete:
bin obsahuje nástroj TextureConverter.
include obsahuje záhlaví pro knihovnu AppleTextureConverter.
lib obsahuje knihovnu AppleTextureConverter.
metal\ios obsahuje sadu nástrojů, které se mají použít při cílení na iOS a tvOS. metal\macos obsahuje sadu nástrojů, které se mají použít při cílení na macOS.
Nástroje pro vývojáře kovů by měly odpovídat verzi OS SDK, na kterou plánujete cílit pro své vydání.“
Také uvádí, že kromě instalací GUI může instalační program také podporovat instalace z příkazového řádku jako:
"Metal Developer Tools-Windows.exe" /S /D=C:\Users\My Name\Sandbox\Tools
Po instalaci můžete nástroje použít k převodu shaderů a aktiv v počítači se systémem Windows do formátů, které Metal používá.
První nástroj, TextureConverter převádí textury vytvořené systémem Windows na formáty textur komprimované pomocí GPU, které Metal akceptuje. Chcete-li zobrazit podrobnosti a možnosti spuštění pro TextureConvertertyp:
TextureConverter.exe --h do příkazového řádku ve Windows a stiskněte Vrátit se nebo Vstupte.
Jak naznačuje poznámka vývojáře, začlenit TextureConverter do svých vlastních nástrojů pro textury Windows, použijte dodanou knihovnu AppleTextureConverter a přečtěte si soubor AppleTextureConverter.h hlavičkový soubor pro více informací.
Součástí jsou také nástroje pro kompilaci grafiky a výpočet shaderů z Windows do objektů Metal Library Objects pomocí Apple Metal Shading Language.
U nástrojů Windows není k dispozici žádná poznámka, jak to provést, takže si budete muset přečíst Vytváření knihovny Shader pomocí předkompilace zdrojových souborů v Knihovna Shader sekce Dokumentace->Kov oblast online kovové dokumentace společnosti Apple.
Ve skutečnosti použijete nástroje k přechodu z formátů Windows DXIL na střední formát .air a poté na soubor .metalar a .metallib, který lze načíst do Xcode a spustit z vaší aplikace za běhu. Z dokumentace:
„Nástroj kompilátoru kovu převede každý zdrojový soubor shaderu na soubor přechodné reprezentace. Nástroje metallib a metal-ar pak kompilují soubory přechodné reprezentace do knihovny a binárního archivu.“
Jak uvádí dokumentace, nástroje příkazového řádku Metal pro Windows používají stejné možnosti a argumenty jako jejich protějšky macOS.
Dalším nástrojem pro Windows, který se nainstaluje, je Metal Shader Converter pro Windows.
Tento nástroj převádí mezilehlé reprezentace ve formě bajtkódu LLVM IR na bajtový kód vhodný pro načtení do kovu.
LLVM je infrastruktura kompilátoru s otevřeným zdrojovým kódem, kterou používá Xcode při kompilaci projektů.
Více o LLVM si můžete přečíst na llvm.org a formát bajtového kódu (LLVM to nazývá „bitcode“) na stránce bitového kódu na tomto webu.
Formát bytecode je také popsán v knize LLVM Cookbook od PACKT Publishing.
Metal Shader Converter je poskytován jako samostatný nástroj i jako knihovna, kterou můžete v případě potřeby začlenit do svých vlastních nástrojů.
Podívejte se také na poskytnutý soubor záhlaví metal_irconverter_runtime.h.
Metal Shader Converter pro Windows vyžaduje Microsoft Windows 10 nebo novější a také Microsoft Visual Studio 2019 nebo novější.
Knihovny vytvořené pomocí Metal Shader Converter pro Windows fungují pouze s macOS 14 Sonoma a iOS 17. Pokud jsou vytvořeny pro starší verze OS, některé funkce nemusí být dostupné.
První a nejjednodušší použití Metal Shader Converter pro Windows je převod Windows DirectX DXIL (DirectX Intermediate Language) shaderu na knihovnu Metal shader. To lze provést pomocí metal-shaderconverter nástroj příkazového řádku.
metal-shaderconverter shader.dxil -o ./shader.metallib
Můžete získat více informací o metal-shaderconverter ve Windows spuštěním metal-shaderconverter --help v příkazovém řádku.
Je tam také libmetalirconverter Dodává se dynamická knihovna kódu (dylib), která pracuje s projekty C, C++, Objective-C a Swift, která vám umožní převést DXIL na Metal pomocí dodaného IRCompiler třída.
Takový konverzní kód je poměrně jednoduchý a ukázkový kód o velikosti menší než jedna stránka je uveden v PDF Metal Shader Converter.
V zásadě použít poskytnuté IRCompiler třídy, nejprve vytvoříte instanci objektu, nastavíte název vstupního bodu, převedete objekt DXIL na objekt IR pomocí IRObject třídy, zkompilujte jej do Metal pomocí IRCompilerAllocCompileAndLink() funkce a zkontrolujte výstup.
Poskytnuté
Poměrně dlouhý třicetistránkový Metal Shader Compiler pro Windows PDF nabízí řadu dalších možností, které můžete použít pro převod z Windows na Apple Metal, včetně atributů vertexů, objektů stavu vzorníku, vyrovnávací paměti argumentů, sledování paprsků a dalších.
Jsou zde také tipy pro dosažení optimálního výkonu kovu a tipy pro manipulaci se složitými shader pipelines včetně geometrie a teselace.
PDF také doporučuje, abyste se podívali na projekt ukázkového kódu Metal společnosti Apple Learn Metal with C++ na stránce Metal Sample Code.
Dodatečné zdroje
Pokud neznáte C++, budete chtít začít s jednoduchou klasickou knihou o C, jako je definitivní kniha C The C Programming Language od Briana Kernighana a zesnulého Dennise Ritchieho, kteří oba napsali jazyk C v Bell Labs. v 70. letech za účelem vytvoření operačního systému UNIX.
C++, vytvořený Bjarnem Stroustrupem, je založen na C, ale poskytuje objektově orientované (OOP) funkce, jako jsou třídy, objekty, knihovna standardních šablon (STL) a další moderní funkce. Stroustrupův text Programovací jazyk C++ 4. vydání je povinná četba.
Stroustrup má také webové stránky na adrese a několik dalších užitečných knih a návodů v C++.
výroční konference C++, CppCon se koná každý rok v říjnu – letos se koná 1. až 6. října v Auroře, CO. CppCon má také kanál YouTube s řadou skvělých C++ tutoriálů.
C++ se stalo populárním v roce 1994, kdy se ukázaly limity procedurálních jazyků, jako je C. Existuje několik norem pro C včetně C99, C11, C14, C17 a C22. APRESS měl několik dobrých knih o každém ze standardů.
V podokně nastavení sestavení Xcode můžete nastavit, které z těchto standardů kompilátor Xcode používá.
V NeXT Computer v roce 1989 vytvořil tým NeXT Cíl-Ccož je podobný jazyk OOP založený na C, ale který má další výhody, jako je dynamické spojování a introspekce objektů.
Za zmínku také stojí, že některé 3D standardy třetích stran mají také určité požadavky, z nichž mnohé jsou založeny na standardech Windows DirectX/Direct3D DXIL.
Například Steam má určité požadavky na DirectX, které musí být splněny – takže pokud publikujete současně na platformách Steam a Apple, budete chtít tyto požadavky znát. Steam má stránku, která podrobně popisuje požadavky.
Microsoft má také stránku DirectX-Specs a DirectX Shader Model 6 ve svých úložištích DirectX-Specs a DirectXTK12 na GitHubu.
K dispozici je také nástroj PIX pro ladění a ladění Windows DXIL.
V Microsoftu je také vývojářský blog DirectX.
A konečně, NVIDIA má nástroj pro ladění DirectX založený na Windows, tzv Grafika Nsightpokud se chcete postavit poměrně složité dokumentaci.
Přidání nástrojů Windows Metal do systému macOS Sonoma od společnosti Apple znamená, že je nyní mnohem snazší přenést existující kanály herní grafiky do Metal tak, aby mohly optimálně běžet na platformách Apple. Postupem času můžeme očekávat, že Apple vylepší své kovové nástroje, díky nimž bude vývoj multiplatformních her mnohem méně bolestivý.
Zdroj: appleinsider.com