Introduction - Vulkan Tutorial

Web Name: Introduction - Vulkan Tutorial

WebSite: http://vulkan-tutorial.com

ID:17293

Keywords:

Introduction,Vulkan,Tutorial,

Description:

This site is not affiliated with or endorsed by the Khronos Group. Vulkan® and the Vulkan logo are trademarks of the Khronos Group Inc.AboutThis tutorial will teach you the basics of using the Vulkangraphics and compute API. Vulkan is a new API by the Khronos group(known for OpenGL) that provides a much better abstraction of modern graphicscards. This new interface allows you to better describe what your applicationintends to do, which can lead to better performance and less surprising driverbehavior compared to existing APIs like OpenGLand Direct3D. The ideas behind Vulkanare similar to those of Direct3D 12and Metal, but Vulkan has theadvantage of being fully cross-platform and allows you to develop for Windows,Linux and Android at the same time.However, the price you pay for these benefits is that you have to work with asignificantly more verbose API. Every detail related to the graphics API needsto be set up from scratch by your application, including initial frame buffercreation and memory management for objects like buffers and texture images. Thegraphics driver will do a lot less hand holding, which means that you will haveto do more work in your application to ensure correct behavior.The takeaway message here is that Vulkan is not for everyone. It is targeted atprogrammers who are enthusiastic about high performance computer graphics, andare willing to put some work in. If you are more interested in game development,rather than computer graphics, then you may wish to stick to OpenGL or Direct3D,which will not be deprecated in favor of Vulkan anytime soon. Anotheralternative is to use an engine like Unreal Engineor Unity, which will beable to use Vulkan while exposing a much higher level API to you.With that out of the way, let's cover some prerequisites for following thistutorial:A graphics card and driver compatible with Vulkan (NVIDIA, AMD, Intel)Experience with C++ (familiarity with RAII, initializer lists)A compiler with decent support of C++17 features (Visual Studio 2017+, GCC 7+, Or Clang 5+)Some existing experience with 3D computer graphicsThis tutorial will not assume knowledge of OpenGL or Direct3D concepts, but itdoes require you to know the basics of 3D computer graphics. It will not explainthe math behind perspective projection, for example. See this online bookfor a great introduction of computer graphics concepts. Some other great computer graphics resources are:You can use C instead of C++ if you want, but you will have to use a differentlinear algebra library and you will be on your own in terms of code structuring.We will use C++ features like classes and RAII to organize logic and resourcelifetimes. There is also an alternative version of this tutorial available for Rust developers.To make it easier to follow along for developers using other programming languages, and to get some experience with the base API we'll be using the original C API to work with Vulkan. If you are using C++, however, you may prefer using the newer Vulkan-Hpp bindings that abstract some of the dirty work and help prevent certain classes of errors.E-bookIf you prefer to read this tutorial as an e-book, then you can download an EPUBor PDF version here:Tutorial structureWe'll start with an overview of how Vulkan works and the work we'll have to doto get the first triangle on the screen. The purpose of all the smaller stepswill make more sense after you've understood their basic role in the wholepicture. Next, we'll set up the development environment with the Vulkan SDK,the GLM library for linear algebra operations andGLFW for window creation. The tutorial will cover howto set these up on Windows with Visual Studio, and on Ubuntu Linux with GCC.After that we'll implement all of the basic components of a Vulkan program thatare necessary to render your first triangle. Each chapter will follow roughlythe following structure:Introduce a new concept and its purposeUse all of the relevant API calls to integrate it into your programAbstract parts of it into helper functionsAlthough each chapter is written as a follow-up on the previous one, it is alsopossible to read the chapters as standalone articles introducing a certainVulkan feature. That means that the site is also useful as a reference. All ofthe Vulkan functions and types are linked to the specification, so you can clickthem to learn more. Vulkan is a very new API, so there may be some shortcomingsin the specification itself. You are encouraged to submit feedback tothis Khronos repository.As mentioned before, the Vulkan API has a rather verbose API with manyparameters to give you maximum control over the graphics hardware. This causesbasic operations like creating a texture to take a lot of steps that have to berepeated every time. Therefore we'll be creating our own collection of helperfunctions throughout the tutorial.Every chapter will also conclude with a link to the full code listing up to thatpoint. You can refer to it if you have any doubts about the structure of thecode, or if you're dealing with a bug and want to compare. All of the code fileshave been tested on graphics cards from multiple vendors to verify correctness.Each chapter also has a comment section at the end where you can ask anyquestions that are relevant to the specific subject matter. Please specify yourplatform, driver version, source code, expected behavior and actual behavior tohelp us help you.This tutorial is intended to be a community effort. Vulkan is still a very newAPI and best practices have not really been established yet. If you have anytype of feedback on the tutorial and site itself, then please don't hesitate tosubmit an issue or pull request to the GitHub repository.You can watch the repository to be notified of updates to the tutorial.After you've gone through the ritual of drawing your very first Vulkan poweredtriangle onscreen, we'll start expanding the program to include lineartransformations, textures and 3D models.If you've played with graphics APIs before, then you'll know that there can be alot of steps until the first geometry shows up on the screen. There are many ofthese initial steps in Vulkan, but you'll see that each of the individual stepsis easy to understand and does not feel redundant. It's also important to keepin mind that once you have that boring looking triangle, drawing fully textured3D models does not take that much extra work, and each step beyond that point ismuch more rewarding.If you encounter any problems while following the tutorial, then first check theFAQ to see if your problem and its solution is already listed there. If you arestill stuck after that, then feel free to ask for help in the comment section ofthe closest related chapter.Ready to dive into the future of high performance graphics APIs? Let's go!

TAGS:Introduction Vulkan Tutorial 

<<< Thank you for your visit >>>

A tutorial that teaches you everything it takes to render 3D graphics with the Vulkan API. It covers everything from Windows/Linux setup to rendering and debugging.

Websites to related :
Amity University Noida

  Campus Landline - 0120 – 5065308 / 09 Mobile No – 8448482587 / 9971956082 / 9971953974 Toll Free - 1800 – 10 - 33320 Campus +91-73-600-30061/2/3/

Home | UNDRR

  As the UN Office for Disaster Risk Reduction, UNDRR convenes partners and coordinates activities to create safer, more resilient communities. Learn mo

NExScI

  Special 2020B Call for Proposals for MINERVA-Australis (due July 16) June 18, 2020 Call for Proposals NASA, in partnership with MINERVA-Australis, is

City of Columbus

  7/1/2020 12:00:00 AM - City Engages Independent Investigator, Law firm to Investigate Police Response to Protests Mayor Andrew J. Ginther announced th

北京生命科学研究所

  齐湘兵实验室首次发现烷基锆的化学选择性迁移和交叉偶联化学 2020年6月5日,北京生命科学研究所/清华大学生物医学交叉研究院齐湘兵课题组在化学顶级期刊 《J. Am.

Polokwane Technology Institute |

  REGISTER NOW @ Old Choice Supermarket BuildingTusatse Plaza: No. 60 Marone Street (opp. Morone Shopping Center)Burgersfort, 1150 It is with great plea

Referate für Studenten und Sch

  site mit ber 30.000 referate. Wir sind stolz, dass wir die gr te Referaten - Kollektion von internet. Referate online, hausaufgaben, facharbeiten,

Financial Analysts Journal: Vol

  AcceptWe use cookies to improve your website experience. To learn about our use of cookies and how you can manage your cookie settings, please see our

Home - Universität Regensburg

  Informationen zum Umgang mit der Coronavirus-Pandemie an der UR Ab 6. Juli: Alle Lesesäle in den Teilbibliotheken wieder für UR-Mitglieder geöffnet

Serum Institute of India | Manuf

  Dr. Cyrus S. Poonawalla Chairman and Managing Director Friday, June 05, 2020 World leaders make historic commitments to provide equal access to vaccin

ads

Hot Websites