猜想这是一些CG软件,我很想知道它们的确切含义以及预期的和最常用的用法。
快速搜索向我展示了一段有关CG中的金属为何看起来是假的视频:https://www.youtube.com/watch?v=NjbLYFXrfFU
显然不是答案,大多数答案都谈论计算内核。我熟悉机器学习中的内核反转,但不喜欢Android内核等。希望你能帮助我。您的输入将是最有价值的。
#1 楼
Metal和Vulkan是低级3D图形API,与OpenGL和Direct3D是3D图形API大致相同。 Metal是Apple的API,可在iOS和MacOS上使用。 Vulkan由Khronos Group开发,后者还负责监督各种形式的OpenGL。 Vulkan可直接在所有非Apple平台上使用,并且MoltenVK项目提供了从Vulkan到Metal的转换层(因为API没什么不同),因此允许Vulkan应用程序甚至可以在Apple平台上运行。 >Metal,Vulkan和Direct3D v12代表了API与先前的低级图形API的巨大差异。它们使用基于命令缓冲区的界面,您可以在其中将渲染命令记录到命令缓冲区对象中,然后在以后执行这些命令。像OpenGL和D3D-pre-12这样的API的更直接的样式没有中间命令缓冲区。当您调用渲染函数时,它会“立即”提供给GPU,这就是它的结尾。
这些API样式很重要,因为它们允许线程创建渲染命令。在即时API中,您只能有效地使一个线程发出渲染命令。在命令缓冲区API中,多个线程可以同时构建多个CB,然后一个线程将它们全部提交为一堆工作。这样可以为具有大量内核的CPU更好地利用CPU资源。
评论
$ \ begingroup $
“当您调用渲染函数时,它会“立即”提供给GPU,到此结束。”或者更具体地说,是给驱动程序,从现在到永远之间的某个时候给GPU。
$ \ endgroup $
–杰里科
18-10-24在20:38
评论
关于第二部分,图形中的“内核”具有几个含义,与其他用途(OS内核等)不同。 “卷积内核”是2D权重数组,用于描述相邻像素如何影响当前像素,以进行模糊,边缘检测等。“计算内核”只是要由GPU上的计算着色器执行的一小段代码,使用每个着色器实例处理不同的数据点。您可以将其视为并行循环的主体。