Questions tagged [vulkan]

Vulkan, previously known as Next Generation OpenGL or just GLnext, is a low-level, cross-platform graphics API from the Khronos Group.

Vulkan, once known as Next Generation OpenGL or just GLnext, is designed to be a low-overhead API that facilitates multithreaded 3D development, enabling different CPU threads to simultaneously prepare batches of commands to send to the GPU. It gives developers greater control of generating commands, putting tasks such as memory and thread management in their hands rather than relying on video drivers to handle these responsibilities. In so doing, it greatly reduces the amount of work that the driver must perform, though it increases the work of the application.

Correct API usage verification is performed by an optional validation layer, simplifying the driver.

Vulkan use SPIR-V as its standard language for graphics and compute shaders. The Khronos reference GLSL compiler compiles a form of GLSL (which implements a special extension to support Vulkan features) into SPIR-V, but users can use whatever compilers they wish which have a SPIR-V backend.

Vulkan is derived from AMD's Mantle API and shares some similarities with it.

88 questions
169
votes
3 answers

What is Vulkan and how does it differ from OpenGL?

Khronos Group (the standards body behind OpenGL) has just announced Vulkan : Vulkan is the new generation, open standard API for high-efficiency access to graphics and compute on modern GPUs. This ground-up design, previously referred to as the Next…
Anko
  • 13,453
  • 10
  • 57
  • 82
9
votes
1 answer

How to select the most powerful vkDevice?

I've been messing around with Vulkan recently. In all of my experiments, when I select a gpu/vkDevice, I always just take the first one vulkan provides. I've looked at the documentation for vkDevice, and found that there is a lot of info, however I…
user2129189
  • 397
  • 3
  • 8
8
votes
1 answer

How do I find out at runtime if Vulkan and/or OpenGL support is available?

I'm building an engine, which has Vulkan for its primary rendering engine. But to have at least some backwards compatibility with devices that don't get drivers for (Mainly mobile) it I want to implement an OpenGL fallback. Now, how do I check what…
Aaro
  • 138
  • 1
  • 6
8
votes
2 answers

Vulkan vkEnumeratePhysicalDevices Returning Unexpected Device Count

In the machine I'm running I have two GTX 980 Tis. When I query the physical device count with vkEnumeratePhysicalDevices it always returns 1 despite having 2 physical discrete graphics cards. When I use vulkaninfo the only device listed is GPU0…
user5665
5
votes
1 answer

Frame graph in Vulkan: from theory to implementation

I've watched the excellent talk from Yuriy[1] and read a blog post[2] multiple times already, but I still cannot find the answers to the questions I have. I really like the idea of defining a graph of "virtual resources", it gives a lot of…
csisy
  • 395
  • 4
  • 14
5
votes
1 answer

Will Vulkan Kill the use of GLSL?

After reading this link I am still unclear as to the shading language support in Vulkan. As Vulkan only supports SPIR-V is it the case that GLSL is therefore being phased out? Are there any indication of what the next 5 years looks like in terms of…
Startec
  • 177
  • 1
  • 5
4
votes
1 answer

Is it possible to debug shaders in GLSL level instead of assembly language level?

I'm writing some Vulkan code and write my shaders in GLSL. I tried to use Renderdoc to debug my shaders, but I only got disassembly code. Is it possible to debug shaders at the level of GLSL if I have the source code of the shaders in GLSL format?
Mark Peter
  • 89
  • 1
  • 8
4
votes
0 answers

Vulkan Drawing lines

I want to be able to draw single lines inside Vulkan but the only way I have managed to achieve this so far is by drawing a triangle with two of its points that ocupuy the same point in space. Is there a way to draw lines inside Vulkan and also…
0xen
  • 463
  • 2
  • 8
  • 27
3
votes
0 answers

Are GPU drivers hand optimized for specific games using low-level APIs?

The GPU drivers often have slightly different behavior depending on game or program, which is using them. It optimizes performance, bypasses bugs and improves overall experience in popular games, especially demanding AAA ones. There was even a…
CodeSandwich
  • 131
  • 1
3
votes
1 answer

Solving a recursive problem in the geometry (or any other) shader

I would like to calculate an effect of an external force on a binary tree (wind on a tree). It's a recursive function - take a (parent) node and calculate the angle to rotate all of the nodes "younger" than the parent around the parent for the same…
Karlovsky120
  • 241
  • 2
  • 9
3
votes
1 answer

Why does a call to vkCreateInstance() take noticeable time to complete?

I decided to learn Vulkan and started writing a simple program. I then ran the program (which only called vkCreateInstance()) to see if the Vulkan instance was created successfully and was shocked to see that my computer's fan started spinning…
Cpp plus 1
  • 289
  • 1
  • 11
3
votes
0 answers

Texture Mapping to procedurally generated geometry

How can I calculate texture coordinates of such geometry? The angle shown in the image (89.90 degree) may vary, therefore the geometry figure is changing and is not always such uniform.(maybe like geometry in the bottom of image) and red dots are…
2
votes
0 answers

Vulkan vertex from back peeking through

I am trying to render a .obj model with Vulkan 1.4. The object is rotated with a quaternion over time. The "front" geometry of the model is rendered as expected, but when the model rotates and shows the back, some parts of the geometry from the…
2
votes
0 answers

What is wrong with my path tracer in Vulkan?

I wonder whether some of you have ever stumbled upon the same problem as I have. I am trying to write a simple path tracer in Vulkan, using only diffuse BRDF for now until everything works as intended. I have written the same path tracer on CPU…
Eskimo Joe
  • 45
  • 4
2
votes
1 answer

What is the concept of a "camera" in game development?

What is the concept of a "camera" in game development? It seems that OpenGL and Vulkan don't explicitly have a concept of a camera. However, engines like Unity, Unreal Engine, Godot, Flutter Flame, and Three.js do incorporate the concept of a…
shingo.nakanishi
  • 425
  • 4
  • 17
1
2 3 4 5 6