Vulkan教程--Introduction

翻译 2016年08月31日 14:46:45

原文网址 : https://vulkan-tutorial.com


这是一篇告诉你如何使用Vulkan 图形(Graphics)和计算(Compute)API 基础的教程。Vulkan是一个来自 Khronos group的新的图形API,它使你能更好的定位自己应用的目的,它为你的应用带来更高的性能,和现存的API( OPengl 和 Direct3D )相比,Vulkan 具有更少的不确定行为。Vulkan的思想和Dirext3D 以及Metal 十分相似,但Vulkan是跨平台的,它使你能够在Windows、Linux和Android上同时进行开发。

 

为了获得这些优点,你必须忍受Vulkan冗长的API,你必须从零开始创建各种东西,包括初始化buffer以及内存管理等。实际上,驱动为你做了很少的事情,所有的工作你必须手动完成,以保证应用的正确运行。

 

随便提一句,Vulkan并不适合所有人,它是为那些对高性能计算机图形具有崇高热情并乐意为之工作的人而准备的。如果你更喜欢游戏开发而非计算机图形,Opengl 和Direct3D 已经可以满足你的要求了。

 

学习这篇教程的先决条件:

(1)拥有个显卡且驱动要和Vulkan兼容(NVIDIAAMDIntel)

(2)拥有C++ 编程经验(熟悉RAII等)

(3)一个编译器(vs2013+ ,GCC4.8+)

(4)具有3D图形学编程经验

 

这篇教程不会讲解Opengl 和 Direct3D 基础,但你确实需要了解3D计算机图形学基础,例如,这里不会为你讲解透视投影的数学基础,你可以看看这本书 this online book 来做相关的了解。

 

我们先在屏幕上画一个三角形来告诉你Vulkan是如何工作的。如果你了解每一步在整个工作中角色,就会发现它们都非常有意义。

 

每一章的结构:

(1)引入一个新的概念以及它的作用。

(2)使用相关的API 调用,将它们集成在你的程序中。

(3)抽取那些通用的部分,将它们组织在一个工具函数中。

 

 

本教程的目的是想形成一个社区,以便可以讨论和交流问题。正像之前提到的,Vulkan是一个新生的API,它还缺少很多实践,如果你有任何问题和反馈,请提交到:  GitHub repository this Khronos repository.

 

准备好一头扎入未来高性能的图形API了?那我们开始吧。

相关文章推荐

Vulkan 教程--Overview

原文地址 Vulkan-tutorial 。 Origin of Vulkan 和其他图形API一样,Vulkan也被设计成跨平台。但是以前的这些图形API在设计时和当时的显卡关系密切,...
  • lbknxy
  • lbknxy
  • 2016年09月01日 15:44
  • 893

Vulkan教程说明

首先,这是一篇译文,原文网址是:Vulkan-tutorial  你可以在这个网址下看到本系列所有文章的原文。 本人目前刚出来实习,两个月前我还以为自己的工作是写Android 应用的,并且之前我也...
  • lbknxy
  • lbknxy
  • 2016年08月30日 23:40
  • 508

[Vulkan教程] 一: 创建VkDevice

这个系列的文章是写给对已有的D3D11和GL比较熟悉并理解多线程、资源暂存、同步等概念但想进一步了解它们是如何以Vulkan实现的读者。 文章并不追求通俗易懂,里面有很多术语(为了解里面的晦涩内容,建...
  • tomicyo
  • tomicyo
  • 2016年05月14日 11:39
  • 2626

GreenDao简明教程(基本介绍,Introduction)

这是一篇关于greenDao的简明使用教程。 基本介绍 如上图,greendao是一个在android上orm工具。他可以帮助我们把android上的sqlite操作简化成对象的操作。 ...

GLSL 初级教程 – Introduction

In this tutorial shader programming using GLSL 1.2 will be covered. Shaders are a hot topic and 3D g...

循环神经网络教程Recurrent Neural Networks Tutorial, Part 1 – Introduction to RNNs

Recurrent Neural Networks (RNNs) are popular models that have shown great promise in many NLP tasks....

2011斯坦福大学iOS应用开发教程学习笔记(第一课)MVC.and.Introduction.to.Objective-C

2011年冬季斯坦福大学公开课 iOS应用开发教程是个很经典的教程,这个老头讲的很给力。做笔记总结。第一课名称: MVC and Introduction to Objective-C这课的主要内容有...

斯坦福大学iOS应用开发教程学习笔记(第一课)MVC.and.Introduction.to.Objective-C

2011年冬季斯坦福大学公开课 iOS应用开发教程是个很经典的教程,这个老头讲的很给力。做笔记总结。 第一课名称: MVC and Introduction to Objective-C 这课的主要...
  • Dev_Ho
  • Dev_Ho
  • 2014年11月04日 13:20
  • 3505

Gstreamer插件教程1.1—介绍(Introduction):前言(Preface)

Gstreamer是什么? Gstreamer是一个创建流媒体应用的框架。基本的设计源自于奥立冈州立大学商学研究院关于视频流的研究,同时也包含DirectShow的思想。 基于Gstream...

Gstreamer插件教程1.2—介绍(Introduction):基础(Foundations)

这章将介绍Gstreamer的基本概念。理解这些本概念将帮助你处理扩展Gstreamer时所涉及到的问题。关于这些基本概念的更详细介绍可查看Gstreamer应用开发手册。此部分关于Gstreamer...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Vulkan教程--Introduction
举报原因:
原因补充:

(最多只允许输入30个字)