![](https://img-blog.csdnimg.cn/20200618112123301.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Vulkan教程翻译
翻译Vulkan教程,对一些特殊名词保留了英文
Bleach3
这个作者很懒,什么都没留下…
展开
-
Vulkan教程翻译之十六 绘制立方体
原文链接:https://vulkan.lunarg.com/doc/sdk/1.2.131.2/windows/tutorial/html/15-draw_cube.html绘制立方体本章节的代码文件是 15-draw_cube.cpp你快要完成了!这是把你的 Vulkan 图像上屏的最终步骤了:等待一个 Swapchain Buffer在绘制东西之前,示例程序需要一个目标 swapchain image 来进行渲染。vkAcquireNextImageKHR()函数是用来获取翻译 2020-07-15 11:19:27 · 827 阅读 · 0 评论 -
Vulkan教程翻译之十五 创建Graphics Pipeline
原文链接:https://vulkan.lunarg.com/doc/sdk/1.2.131.2/windows/tutorial/html/14-init_pipeline.html创建Graphics Pipeline本章节的代码文件是14-init_pipeline.cpp你快要凑够足够的组件来绘制一个立方体了!接下来的步骤是通过设置一个 graphics pipeline 来配置 GPU。graphics pipeline 包含 shader,pipeline layout,re..翻译 2020-07-02 15:52:27 · 1237 阅读 · 0 评论 -
Vulkan教程翻译之十四 创建 Vertex Buffer
原文链接:https://vulkan.lunarg.com/doc/sdk/1.2.131.2/windows/tutorial/html/13-init_vertex_buffer.html创建 Vertex Buffer本章节代码文件是13-init_vertex_buffer.cppvertex buffer 是 CPU 和 GPU 都可见的缓冲区,它包含描述你想要渲染的物体网格的顶点数据。一般来说,顶点数据包含位置数据(x,y,z)和可选颜色,法线,或其他信息。像其他 3D API一.翻译 2020-06-24 10:00:49 · 522 阅读 · 0 评论 -
Vulkan教程翻译之十三 创建 Framebuffer
原文链接:https://vulkan.lunarg.com/doc/sdk/1.2.131.2/windows/tutorial/html/12-init_frame_buffers.html创建 Framebuffer本章节的代码文件是12-init_frame_buffers.cppVulkan FramebufferFramebuffer 代表了一个 render pass 实例中使用的内存附件的集合。这些内存附件的例子包括我们在前面示例中创建的 color image buffe.翻译 2020-06-16 11:28:13 · 987 阅读 · 0 评论 -
Vulkan教程翻译之十二 编译 Shader
原文链接:https://vulkan.lunarg.com/doc/sdk/1.2.131.2/windows/tutorial/html/11-init_shaders.htmlShader这一章节的代码文件是11-init_shaders.cpp把GLSL Shader 编译成 SPIR-V对 Vulkan 来说,低级的 shader 代码表现为 SPIR-V。示例程序通过调用一个实用函数把用GLSL写的 shader 程序编译成 SPIR-V:GLSLtoSPV(VK_SHA.翻译 2020-06-15 15:30:58 · 706 阅读 · 0 评论 -
Vulkan教程翻译之十一 创建 Render Pass
创建 Render Pass这一章节的代码文件是10-init_render_pass.cpprender pass 通过指定在渲染操作中使用的附件,子通道,和依赖项的集合,来描述渲染操作的范围。render pass 至少包含一个子通道。这些信息传给驱动,使得驱动在渲染开始时知道期望的是什么,并且为渲染操作做出最佳的硬件设置。你通过调用 vkCreateRenderPass() 开始定义 render pass,然后调用 vkCmdBeginRenderPass() 和 vkCmdEndRe.翻译 2020-06-14 11:17:52 · 1318 阅读 · 0 评论 -
Vulkan教程翻译之十 创建 Descriptor Set
原文链接:https://vulkan.lunarg.com/doc/sdk/1.2.131.2/windows/tutorial/html/09-init_descriptor_set.html创建 Descriptor Set这一章节的代码文件是09-init_descriptor_set.cpp回到 pipeline_layout 例子中,你定义了 descriptor set layout,但是实际上没有分配它。回想一下,你定义 descriptor set 是用来通知 GPU 如何把.翻译 2020-05-29 15:05:26 · 795 阅读 · 0 评论 -
Vulkan教程翻译之九 Descriptor Set Layouts 和 Pipeline Layouts
原文链接:https://vulkan.lunarg.com/doc/sdk/1.2.131.2/windows/tutorial/html/08-init_pipeline_layout.htmlDescriptor Set Layouts 和 Pipeline Layouts这一章节的代码文件是08-init_pipeline_layout.cpp在之前的示例中,你创建过一个 uniform buffer,但是你还没有做任何事情来描述它如何被 shader 使用。你是知道的,该缓冲区里包含.翻译 2020-05-29 13:52:51 · 1171 阅读 · 0 评论 -
Vulkan教程翻译之八 创建 Uniform Buffer
原文链接:https://vulkan.lunarg.com/doc/sdk/1.2.131.2/windows/tutorial/html/07-init_uniform_buffer.html创建 Uniform Buffer这一章节的代码文件是07-init_uniform_buffer.cpp你在最近的示例中已经创建过缓冲区,不妨现在再处理另一个。uniform buffer 是一个面向 shader 以只读方式访问的缓冲区,以使 shader 能够读取静态参数的数据。这又是一.翻译 2020-05-20 14:07:18 · 767 阅读 · 0 评论 -
Vulkan教程翻译之七 创建 Depth Buffer
原文链接:https://vulkan.lunarg.com/doc/sdk/1.2.131.2/windows/tutorial/html/06-init_depth_buffer.html创建 Depth Buffer这一章节的代码文件是06-init_depth_buffer.cppDepth buffer 是可选的,但是在最终的示例里,你需要 depth buffer 来渲染3D立方体。而且你只需要一个就能渲染每一帧,即使 swapchain 有多个 image。这是因为你在使用 sw.翻译 2020-05-14 17:21:32 · 412 阅读 · 0 评论 -
Vulkan教程翻译之六 创建 Swapchain
原文链接:https://vulkan.lunarg.com/doc/sdk/1.2.131.2/windows/tutorial/html/05-init_swapchain.html创建 Swapchain这一章节的代码文件是05-init_swapchain.cpp本章节描述了如何创建 swapchain,它是最终显示给用户的图像缓冲区列表。这是设置渲染需要的所有缓冲区的第一步。这是一张 Vulkan swapchain 的视图,它关联着系统的其他各个部分。其中一些部分我们很熟悉,剩.翻译 2020-05-13 16:19:34 · 1914 阅读 · 0 评论 -
Vulkan教程翻译之五 创建 Command Buffer
创建 Command Buffer这一章节的代码文件是04-init_command_buffer.cpp。基础的 Command Buffer 操作在其他图形API里,应用也许会通过API调用来设置某个属性,比如调用 glLineWidth() 设置线条宽度。在底层,驱动把API调用转换成GPU特定的命令,并且该命令放到 command buffer 里。驱动还通过创建和销毁 co...翻译 2020-05-07 13:58:53 · 850 阅读 · 0 评论 -
Vulkan教程翻译之四 创建(Logical)Device
创建(Logical)Device这一章节的代码文件是03-init_device.cpp下一步是创建一个对应系统里 physical device 的 VkDevice logical device 对象。logical device 是稍后用来给硬件指定图形命令的关键对象。目前为止,我们的示例已经确定了你有多少个 physical device。示例里列举 device 的实际函...翻译 2020-05-06 13:45:28 · 670 阅读 · 0 评论 -
Vulkan教程翻译之三 列举Physical Device
原文链接:https://vulkan.lunarg.com/doc/sdk/1.2.131.2/windows/tutorial/html/02-enumerate_devices.html列举 Physical Device这一章节的代码文件是 02-enumerate_devices.cpp。示例程序中的下一步就是确定系统里存在的physical device。在你创建完in...翻译 2020-04-30 17:25:15 · 1064 阅读 · 0 评论 -
Vulkan教程翻译之二 创建Vulkan Instance
创建Vulkan Instance这一章节的代码文件是01-init_instance.cpp示例程序中的第一步就是创建一个Vulkan instance。在 LunarG Vulkan Sample库的API-Samples目录下找到01-init_instance.cpp 程序,在阅读本章节关于Vulkan instance的时候准备好查看代码。Vulkan Instances...翻译 2020-04-29 15:37:47 · 1024 阅读 · 0 评论 -
Vulkan教程翻译之一 Vulkan简介
Vulkan简介Vulkan是Khronos组织开发的一套高级图形API。其他的图形API(例如OpenGL和Direct3D)要求驱动实现从高层API到适配硬件的必要转换。当时的目的是保证开发者不必去管理关于图形硬件的更复杂的细节。随着这些老旧的图形API不断地发展,它们逐渐把越来越多的底层硬件功能直接暴露给开发者。开发者要求硬件底层访问权,权衡手持设备的便捷性和安全性,这造成了高开销低...翻译 2020-04-28 11:55:27 · 870 阅读 · 0 评论