Skip to main content
5 votes
Accepted

Is Windows window creation faster / more efficient than GLFW window creation?

It depends GLFW is just a wrapper around the Windows API calls, so whether you create a window using GLFW or create one using the API, the same calls are ultimately being made. However, a wrapper ...
Maximus Minimus's user avatar
4 votes
Accepted

How do game engines implement multiple rendering platforms?

Most game engines will have a layer between their rendering abstraction and the actual rendering API. In Unreal and Qt this is called the Rendering Hardware Interface, or RHI. I'm not sure if the ...
Jherico's user avatar
  • 201
4 votes
Accepted

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

vkCreateInstance does a lot of things, one it looks for all the installed driver ICD dlls by looking through the registry (in linux it looks through pre-agreed folders) and parsing json files the ...
ratchet freak's user avatar
4 votes
Accepted

Why do GPUs have limited amount of allocations?

It's not correct to say that - as a general case - GPUs have a fixed limit on the number of allocations that may be made. What the Vulkan documentation for ...
Maximus Minimus's user avatar
3 votes

Vulkan am I creating too many graphics pipelines?

As for multiple pipelines for multiple windows - that depends if rendering to those windows is performed using separate logical devices or not. If You have only one logical device, You can also share ...
Ekzuzy's user avatar
  • 141
3 votes
Accepted

Which array does dstArrayElement refer to in the VkWriteDescriptorSet structure?

I'll start with a bit context about VkDescriptorSetLayoutBinding and answer your question afterwards. ...
j00hi's user avatar
  • 146
3 votes
Accepted

Get a warning about extension when compile GLSL code with glslc compiler shipped with vulkan SDK

It's just a warning!(ummm...it's good to see someone care about those) and doesn't cause any issues in rendering, it just makes sure the shader adhers that glsl is being used to produce spir-v and any ...
Pikachuxxx's user avatar
3 votes

Why do texture samplers seem to bleed into other instances when rendering multiple instances of the same mesh with differing textures

I finally got an answer on the AMD Forums. The issue was that you need to tell the GPU when you plan on indexing resource arrays with non uniform values. My shader now looks like this: ...
InvalidOverhead's user avatar
2 votes
Accepted

Vulkan Error: cmd buffer submit cant use image because of layout

Swapchain images, when acquired from the presentation engine, are in a PRESENT_SRC layout. Before we can use an image in a command buffer, we need to transition away from this layout, but using the ...
Ekzuzy's user avatar
  • 36
2 votes

Does Microsoft prevent developers from using Vulkan?

As hard as I try I can't find anything online giving this the slightest bit of credence and it just seems terribly unlikely, Microsoft does silly things all the time but they're not completly bereft ...
Tim's user avatar
  • 601
2 votes
Accepted

Need help understanding VkCommandBuffer and VkCommandPool

CommandPool are objects used to manage the allocation of CommandBuffers, and CommandBuffer is used to store the commands. You almost got the mechanic of a CommandBuffer right. A command buffer doesn'...
dtthu2502's user avatar
2 votes
Accepted

Implementing spot lights in Vulkan and some pixels are black

So, it appears that I have found the issue. Kind of. I know what I want to blame it on at least - floating point rounding errors. As I wrote in my edit, the problem seems to stem from lightViewAngle ...
Daybreak's user avatar
2 votes
Accepted

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

The problem is that this code needs to run as many times as the depth of the tree, and not all of it can run in parallel. ...which is the prime indicator NOT to process this as such on the GPU. GPU ...
Engineer's user avatar
  • 30.1k
2 votes
Accepted

Vulkan rendering lots of objects

Submitting Command Buffers is not a bad thing to do in Vulkan. So long as you're submitting them in logical batches together you'll find that it's plenty fast to submit tons of commands. However if ...
Honeybunch's user avatar
  • 1,383
2 votes

Projection Matrix Causes Clip Cuttoff Problem

To solve your problem, you need to understand how a projection matrix works: A projection matrix represents a frustum, shown in this image: As you can see, it looks a bit like a pyramid with the cap ...
Ian Young's user avatar
  • 2,669
2 votes

Vulkan - preallocating chunks of memory and resource memory requirements

Or is it safe to assume that if it's a device local heap it will always be viable for device local resources? If it were safe to assume that, Vulkan wouldn't have APIs that specifically allow you to ...
Nicol Bolas's user avatar
  • 26.1k
2 votes

Frame graph in Vulkan: from theory to implementation

Because i saw this post while wondering it myself i wanted to give an answer on how i implemented it, maybe it will be a use to someone. As you said yourself pipeline creation every frame doesn't make ...
Stefan's user avatar
  • 21
2 votes
Accepted

What could be causing my texture in ash Vulkan to render lighter?

Special thanks to a comment by DMGregory! The issue is caused because my Texture ImageView and my texture were using different formats. One was set to R8G8B8A_UNORM, and the other to R8G8B8A_SRGB. ...
Joseph Vargas's user avatar
2 votes

How to get height from a mesh

The height of an object relative to an underlying terrain is the distance from its position \${P}\$ (plus an optional offset \$C\$ of choice) and the position projection \$P'\$ onto the terrain: ...
liggiorgio's user avatar
  • 4,876
2 votes
Accepted

Vulkan SSBO Array Of Structs

I was doing 3 things wrong here. First, the parameters of my VkDrawIndexed call were swapped: ...
KKlouzal's user avatar
  • 252
2 votes
Accepted

Why is my texture moving?

vec3 w_o = normalize(eye - frag_pos); This line assumes frag_pos is expressed in the same space as ...
DMGregory's user avatar
  • 135k
1 vote

How do game engines implement multiple rendering platforms?

I think there are another two options: Angle, https://github.com/google/angle, or Dawn, https://dawn.googlesource.com/dawn. If your game is written by OpenGL, Angle can help you translate it into ...
whoami's user avatar
  • 31
1 vote

Vulkan dynamic UBO weird numbers

It's actually hard to say anything for sure without knowing a lot more about your code base, but do Render::UniformBufferObject and ...
James0124's user avatar
  • 230
1 vote

Building a unified interface for a swap chain in both DirectX 12 and Vulkan

The whole point of APIs like DirectX 12 and Vulkan is to minimize CPU overhead, and therefore they have extremely thin API abstractions. As such, wrapping them in a low-level API basically defeats ...
Chuck Walbourn's user avatar
1 vote
Accepted

Is a 3D renderer with 1000 FPS possible?

Sure, you could do that with e.g. C#, Java/Scala, C or Rust. But in order to run an engine at that frame rate, all of your per-frame processing - i.e. one game loop cycle - would need to consistently ...
Engineer's user avatar
  • 30.1k

Only top scored, non community-wiki answers of a minimum length are eligible