9 ms·
Vulkan Tutorial
- musha68k 10y agoThanks for that very promising tutorial, I am looking forward to read/work through it on my next day off!
- datenwolf 10y agoYes, very good work, indeed. I sidebar-ed it in the Vulkan subreddit.
- Bambo 10y agoAll credit to the original author, https://while.io/ https://while.io/
- legulere 10y ago> the advantage of being fully cross-platform I would scratch the fully, it's not on iOS or macOS
- hellofunk 10y agoDetails: https://www.reddit.com/r/vulkan/comments/462lwi/vulkan_coming_to_os_x_and_ios/ https://www.reddit.com/r/vulkan/comments/462lwi/vulkan_comin...
- rdsnsca 10y agoPretty sure that version of Vulkan will be running on top of Apple's Metal.
- pjmlp 10y agoNeither on any Android < Android N, or any console produced by Sony, Nintendo and Microsoft.
- TillE 10y ago> or any console produced by Sony, Nintendo and Microsoft I suspect that'll change. Sony and Microsoft are both using more or less standard AMD GPUs, and game (engine) developers will demand it.
- pjmlp 10y agoNo, indies will demand it. AAA studios are doing quite fine with the current API that are even lower than Vulkan. Indies with FOSS background seem to have a hard time to grasp how the games industry works in terms of IP, technology stacks and outsourcing for platform ports.
- shmerl 10y agoThat will change when pressure will grow. Same as ActiveX was driven out by standard Web technologies. Lock-in freaks will try to resist, but they can only delay it. > No, indies will demand it. > AAA studios are doing quite fine with the current API that are even lower than Vulkan. Meaning of "AAA" is totally mixed up, so there is no point to use this term without explaining what you mean. Indie might mean independent indeed, but what AAA stands for is completely ambiguous. You might mean projects with big budgets, but they can be independent as well (Star Citizen), so you can't use it as some universal category. For the reference Star Citizen is going to use Vulkan. Regardless of what "AAA" is supposed to mean, they will use whatever will cut their costs to do the job well enough. And cross platform options surely will, if they'll be available.
- pjmlp 10y agoI see you all the time posting these Quixotic comments, then I get to attend GDC and see what everyone that matters in the industry actually thinks.
- shmerl 10y agoI see you still are a fan of lock-in. Calling it "fine" and saying that's how it's supposed to be is not helpful. "Industry" which thinks backwards doesn't need to be shown as an example. It's not the "industry", it's monopolistic participants who use lock-in to control the market. Progress is driven by competition, not by monopolistic lock-in stagnation.
- shmerl 10y agoIt can be fully cross platform, as long as developers can access the system and its GPU. It doesn't include sick systems which are walled gardens and on purpose prevent cross platform technologies.
- vardump 10y agoAt least it's the most cross platform low level graphics API. DirectX 12 is Windows only and Metal is iOS/macOs only. Hopefully we'll get a standard API for graphics one day. Lack of it is holding us back. Maybe Vulkan can be the TCP of graphics APIs. Something that provides stable foundations for building fancy graphics stacks on top.
- 01Michael10 10y ago> I would scratch the fully, it's not on iOS or macOS Vulkan is mostly certainly cross-platform and it's only Apple stopping it from being available on their closed platform.
- psydk 10y agoMy question will probably sound naïve because of my lack of knowledge of the Macintosh, but Macintosh hardware nowadays seems to be the same than PCs. So what prevent Intel, AMD or nVidia to propose a driver for this platform in the same way they do it for Linux and Windows? Is there a legal reason? A technical reason?
- inDigiNeous 10y agoMy limited guess as a OpenGL developer on Os X is that it has something to do with Apple prodividing a software OpenGL -implementation also, so maybe they don't want to pour in the work in that to support the more recent advances in OpenGL ? Or maybe they're just focusing on the Metal -implementation, and iOS more specifically. Currently the OpenGL stack is years behind on OS X compared to Windows or Linux, Os X supports only version 4.1 (released in 2010) with some 4.2 extensions thrown in. I've yet to come across a good reason. If somebody knows, would be nice to know also.
- sangnoir 10y ago> I've yet to come across a good reason. If somebody knows, would be nice to know also. It's not a good reason, but a reason nevertheless: it's fair to say Apple likes to lock in developers to its platform[1]. Encouraging the use of Metal and discouraging OpenGL increases the lock-in effect. 1. My Google skills are failing me, but a few years ago there was a blog-post by an app developer who used to get lots of support from Apple while their featured app was iOS-exclusive. The day the app was ported it to Android, Apple stopped responding to their queries.
- deleted 10y ago[deleted]
- deleted 10y ago[deleted]
- HugoDaniel 10y agoIs testing and debugging still a problem ? How many years until they get it right ?
- shmerl 10y agoVery interesting, thanks for posting. I'll take a closer look. Unlike some other tutorials, it offers Linux example.
- nothis 10y agoJesus christ. I understand that Vulkan is very, very niche but as someone who doesn't know much more than the basics of maybe setting up an OpenGL window to draw anything, the "drawing a triangle part" just seems insane! I knew this is some hardcore, hardware-level stuff usually only ever touched by rendering engine programmers but I figured, if I had some super special niche case that could be sped up by Vulkan, I could maybe "give it a try". But this? 800 lines of code to draw a triangle! I never knew the difference to OpenGl was this extreme!
- bitmapbrother 10y ago>But this? 800 lines of code to draw a triangle! Developers that deal with high performance graphics want as much control as possible with their rendering pipeline. Vulkan gives them this control. Developers complained about the overhead that OpenGL and DirectX (before 12) imposed on their rendering pipeline and these bottlenecks would always be in the API of these graphics libraries. When you need to render a frame in 16ms or 30ms you can't afford precious milliseconds being wasted by bloated and inefficient API calls. Vulkan was created to address the years of complaints AMD received from game developers. So, while you may think that's a lot of code, a game developer would think otherwise.
- webkike 10y agoWell obviously there's a lot more boiler plate than OpenGL, but Vulkan's goal isn't to replace OpenGL in cases like yours. And honestly, 800 lines of configuration is probably a godsend for people who want it, considering there's not much of a leap in terms of number of lines between drawing a triangle and drawing... well, anything else.
- Rusky 10y agoIt's 800 lines including setup code, not 800 lines of code solely to draw a triangle.
- SolarNet 10y agoIt's the difference between the C standard runtime library (OpenGL), where you can call `read` and calling the kernel directly via custom system calls to implement the functionality of read (Vulkan). And like many modern applications, this power is necessary (like OCamal uni-kernels that re-implement system calls for high performance servers). Virtual reality can barely work on cutting edge graphics cards, even then the quality has to be low; to say nothing of augmented reality (which also uses the cards for image processing).