vulkan
文章平均质量分 92
liuhongyi0104
step is all
展开
-
用三个顶点坐标填充整个屏幕
1.在应用程序中调用绘制 API ,也就是drawcall我用vulkan ,你用gl 也一样,就是设置顶点数量为3vkCmdDraw(drawCmdBuffers[i], 3, 1, 0, 0);不用创建顶点缓冲区,这样就ok 了。在glsl 的 顶点着色器里 vec2 outUV = vec2((gl_VertexIndex << 1) & 2,...原创 2018-12-07 18:27:15 · 750 阅读 · 0 评论 -
Vulkan Android 设计指南
原文地址Vulkan 与旧版图形 API 的不同之处在于,驱动程序不会为应用执行特定的优化,例如管道重用。 相反,使用 Vulkan 的应用必须自行实现此类优化。 如果不实现,这些应用可能会展现出比运行 OpenGL ES 的应用更差的性能。在应用自行实现这些优化时,它们可能比驱动程序做得更成功,因为它们可以访问给定用例的更多特定信息。 因此,巧妙地优化使用 Vulkan 的应用可以获得比使用...转载 2018-12-21 23:14:36 · 1828 阅读 · 0 评论 -
抗锯齿的发展
原文地址、MSAA一般是由硬件支持的反走样(anti-aliasing,AA)技术,它在光栅化阶段在一个像素区域内对每个像素使用多个深度采样值,但是每个像素内的这些深度采样值共享一个着色计算,即是每个像素仍然只执行一次fragment shader的计算,然后计算的结果被复制到每个子深度采样点上,这样一个像素内深度测试失败的子采样点将不会包含颜色信息,从而能够更使最终的颜色过渡更平滑。MSAA...转载 2018-12-23 02:17:19 · 799 阅读 · 0 评论 -
vulkan 渲染流水线各个阶段的掩码位
VkPipelineStageFlagBits主要是同步命令包括管道阶段参数,将该命令的同步范围限制为仅那些阶段。这允许对确切的执行依赖性进行细粒度控制和由动作命令执行的访问。实现应该使用这些管道阶段来避免不必要的停顿或缓存刷新。1.VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT指定队列最初接收任何命令的管道阶段。2.VK_PIPELINE_STAGE_DRAW_I...翻译 2019-01-04 16:59:10 · 1485 阅读 · 0 评论 -
vulkan 中 VkRenderPass 的 使用
vulkan 中 渲染通道创建相对独立 ,不依赖其他的渲染组件。typedef struct VkRenderPassCreateInfo { VkStructureType sType; const void* pNext; VkRenderPassCreateFlags ...原创 2019-01-07 01:43:40 · 1544 阅读 · 0 评论 -
vulkan 下实现forward 和 deferred 下的MSAA
1.锯齿也叫 走样(Aliasing),我们屏幕的分辨率有限,在光栅插值时三角形的边会从像素里穿过。图片来自 learnopengl2. msaa的原理原创 2019-08-20 18:03:03 · 798 阅读 · 0 评论