最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

01b. The-Forge 入門教程 - Vulkan

2020-11-08 23:45 作者:AICDG  | 我要投稿

上一篇繪制三角形的教程作為系列第一篇教程,會(huì)稍微詳細(xì)一些。但是這一篇教程開始,已經(jīng)出現(xiàn)過(guò)的代碼就不會(huì)再贅述。在繪制三角形之外,我個(gè)人覺(jué)得The-Forge還有一些細(xì)節(jié)可以講解,但是和渲染關(guān)系又不是很大,所以放在第01講和02講之間,作為補(bǔ)充知識(shí)點(diǎn)。以實(shí)用技巧為主,大家也可以不去過(guò)分深究其原理。本節(jié)的內(nèi)容是如何將項(xiàng)目由DX切換成vulkan。這樣,一些對(duì)DX12不是很熟,但是對(duì)vulkan更加熟悉一些的朋友,在使用渲染debugger的時(shí)候可以更加順手一些。

如果用The-Forge提供的Demo,其實(shí)很簡(jiǎn)單,只要將運(yùn)行配置由DebugDx切換到DebugVk,再編譯運(yùn)行,就可以將渲染API由DX12切換到Vulkan。但是,如果是自己的工程,就需要做一些配置。

首先需要VS構(gòu)建DebugVk版本的The-Forge

library path由?The-Forge\Examples_3\Unit_Tests\PC Visual Studio 2017\x64\DebugDx 切換到?The-Forge\Examples_3\Unit_Tests\PC Visual Studio 2017\x64\DebugVk

依賴庫(kù)去掉RendererDX12.lib,添加?RendererVulkan.lib,SpirvTools.lib,vulkan-1.lib

將宏定義中的?DIRECT3D12 切換為?VULKAN

到此,構(gòu)建運(yùn)行即可。c++代碼本身不需要做任何改動(dòng)。

不過(guò),運(yùn)行時(shí)會(huì)發(fā)現(xiàn)shader無(wú)法編譯,這是因?yàn)門he-Forge默認(rèn)要求Vulkan下使用GLSL而非HLSL,你當(dāng)然可以選擇將shader用GLSL重寫一遍,不過(guò)The-Forge也提供了一個(gè)更好的選擇,將shader從HLSL轉(zhuǎn)換為GLSL

在實(shí)際開發(fā)中,我個(gè)人也更偏向于使用HLSL而非GLSL

Common_3\ThirdParty\OpenSource\hlslparser\Parser\Parser.sln

編譯并允許,可以得到HLSL到GLSL/MSL的轉(zhuǎn)換器,支持webUI和命令行兩種使用方式,本文先以webUI為例

VS
PS

將HLSL的vs和ps分別轉(zhuǎn)換為GLSL的VS和FS即可。并且,相比主流的HLSLcc,The-Forge生成的GLSL/MSL,可讀性意外的非常不錯(cuò)。

將轉(zhuǎn)換后的GLSL代碼放到<exe路徑>/shaders/vk下,編譯運(yùn)行程序,可以得到結(jié)果



01b. The-Forge 入門教程 - Vulkan的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
黑河市| 苗栗市| 永吉县| 铜陵市| 芦山县| 达拉特旗| 亚东县| 正定县| 万宁市| 环江| 长乐市| 新宾| 柘荣县| 南川市| 砀山县| 罗田县| 家居| 朔州市| 潜山县| 盐亭县| 绥中县| 永安市| 澄江县| 宁陕县| 三门峡市| 明水县| 固原市| 桃源县| 始兴县| 大石桥市| 南汇区| 额尔古纳市| 无为县| 法库县| 吴桥县| 临江市| 瓮安县| 高雄县| 黄骅市| 青州市| 琼结县|