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学习笔记(一)-开始

最近刚系统的看完计算机图形学,想深入学一门图形api,正好发现刚出生不久的Vulkan,貌似挺有前景,所以打算学一下,貌似也买不到书,网上教程也不多,发现一处系列教程,网址是https://softw...
  • hjzyzr
  • hjzyzr
  • 2016年12月26日 21:50
  • 1590

Vulkan教程-Vulkan实例(代码示例)

bool initVulkan() { //在创建Vulkan实例前,我们需要知道我们要启用的扩展,一般来说可以都启用,这里我们只启用两个 //下面的代码为获取实例扩展的代码,我们首先获取了扩展的...
  • gth2001
  • gth2001
  • 2016年05月07日 13:38
  • 2459

Vulkan教程--Introduction

这是一篇告诉你如何使用Vulkan 图形(Graphics)和计算(Compute)API 基础的教程。Vulkan是一个来自 Khronos group的新的图形API,它使你能更好的描述你的应用的...
  • lbknxy
  • lbknxy
  • 2016年08月31日 14:46
  • 685

vulkan 1

一、 vulkan 开发环境的搭建 1、兼容驱动的更新 a、windows上的兼容驱动更新可在官网直接下载,运行 b、Linux Ubuntu 16.04 Intel (更新Intel 兼容驱动...
  • heleihong
  • heleihong
  • 2016年10月14日 17:37
  • 138

30分钟入门Vulkan

这篇文章是写给对已有的D3D11和GL比较熟悉并理解多线程、资源暂存、同步等概念但想进一步了解它们是如何以Vulkan实现的读者,因此本文会以Vulkan概念之旅结束。 文章并不追求易懂(为了解里面的...
  • tomicyo
  • tomicyo
  • 2017年04月17日 00:42
  • 3126

[学习Vulkan之一] 初识Vulkan

转自:http://www.52vr.com/article-605-1.html Vulkan是Khronos组织制定的“下一代”开放的图形显示API,是与DirectX12可以匹...
  • zhw_giser
  • zhw_giser
  • 2017年03月29日 21:49
  • 396

Vulkan简介

2016-02-24 偶尔发现一个刚发布的被传言很牛的东西:Vulkan,百度了一下(不要鄙视我,翻墙老掉下来才用的),发现关键字:秒杀、完爆、取代,这么牛,不是欺负我读书少吧。我一向...
  • cloudqiu
  • cloudqiu
  • 2017年02月10日 14:14
  • 192

linux_gcc指令使用

编译简单的 C 程序C 语言经典的入门例子是 Hello World,下面是一示例代码:代码:#include intmain(void){printf("Hello, world!/n");retu...
  • pizi0475
  • pizi0475
  • 2011年03月08日 22:19
  • 796

[Vulkan教程] 二: Image & Buffer & 内存管理

上一篇讲了Vulkan设备的初始化,这一篇将讲述Vulkan的Image和Buffer以及内存分配。...
  • tomicyo
  • tomicyo
  • 2016年05月29日 20:14
  • 2633

Vulkan Tutorial

Welcome to the Vulkan Samples Tutorial本教程分为多个部分,对应于创建一个简单的Vulkan程序所需要的基本步骤。教程的每一部分直接对应于LunarG示例完成进度中...
  • chenjinxian_3D
  • chenjinxian_3D
  • 2016年10月29日 00:15
  • 2206
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Vulkan教程--Introduction
举报原因:
原因补充:

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