Jump to content

View more

Image of the Day

Adding some finishing touches...
Follow us for more
#screenshotsaturday #indiedev... by #MakeGoodGames https://t.co/Otbwywbm3a
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.


Sign up now

Advises for graphics APIs to learn

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.


  • You cannot reply to this topic
9 replies to this topic

#1 Mr_Fox   Members   

805
Like
0Likes
Like

Posted 19 February 2017 - 10:42 PM

Hey Guys,

 

I have being playing around directx since dx9 to dx12, and haven't touch any other graphics APIs yet. For all those years, I really enjoy developing dx with all its helping tools/libs: dx debuglayer, GPU-validation layer, GPUView, VSGD, and recently, the PIX. Now I have to switch to use mac os (and ios maybe?) exclusively in the near future. So I need to pick up another compatible graphics API to play with. What I really enjoy is DX12 style lower level APIs, and have heard that there are maybe only two choices for me: Vulkan (not sure mac os support it or not?) and Metal.

 

Since I haven't touched either APIs, I really wish to know what you guys think of it: is it in a mature state for beginner? (I remember when I work on my first DX12 project when DX12 just coming out, driver bugs drives me crazy....) are there any good GPU debug tools available for the API? (does Metal get renderDoc support?) are there any good profiling tools? (like GPUView for DX) are there plenty of tutorials/samples on the internet for beginners?

 

Also it will be great if anyone could talk about the general pros and cons for using Vulkan/Metal on apple devices.

 

Thanks in advance 



#2 Infinisearch   Members   

2913
Like
3Likes
Like

Posted 21 February 2017 - 02:11 PM

Vulkan isn't supported on Mac, so your only option is Metal.

 

edit - and opengl but you said you wanted low level.


Edited by Infinisearch, 21 February 2017 - 04:07 PM.

-potential energy is easily made kinetic-

#3 TheChubu   Members   

9377
Like
0Likes
Like

Posted 21 February 2017 - 07:09 PM

does Metal get renderDoc support?
Cant you like just look at RenderDoc's project page?

https://github.com/baldurk/renderdoc

(spoilers: "No immediate plans").

And as Infinisearch said, a big con of Vulkan in OSX and iOS is that it isn't even there, at all. So you have that going for you.


"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

 

My journals: dustArtemis ECS framework and Making a Terrain Generator


#4 ncsu121978   Members   

1308
Like
0Likes
Like

Posted 21 February 2017 - 07:13 PM

edit - and opengl but you said you wanted low level.

 

I know Vulkan and Metal are *really* low level, but are we at the point where opengl is considered NOT low level?



#5 Infinisearch   Members   

2913
Like
1Likes
Like

Posted 21 February 2017 - 07:30 PM

I know Vulkan and Metal are *really* low level, but are we at the point where opengl is considered NOT low level?

Then what API do you consider high-level?  Most things are handled for you in Opengl aren't they?  That makes it high level to me.  Also I wouldn't call Vulkan "*really* low level" I would call it lower level then previous API's.  It's constructs are still IHV agnostic... so it not that low level. 


-potential energy is easily made kinetic-

#6 Mr_Fox   Members   

805
Like
0Likes
Like

Posted 21 February 2017 - 07:52 PM

Cant you like just look at RenderDoc's project page? https://github.com/baldurk/renderdoc
Sorry for my laziness,  I thought since I already ask a lot, it may not be super annoying to add such easy-to-find question, maybe someone work for renderdoc could reveal their real 'future plan' in this thread......

but are we at the point where opengl is considered NOT low level?
well, I really wish to be exposed to explicit resource barrier (handling resource transition by myself) which IIRC is not available in openGL 

#7 Mr_Fox   Members   

805
Like
0Likes
Like

Posted 21 February 2017 - 08:02 PM

So it seems 'cross-platform' Vulkan could only work on windows, linux/unix (for desktop/laptop)? Feel really bad to see that 'cross-platform' is narrowing down....  

 

If I got it correctly writing driver for Vulkan should be easier than writing for OpenGL( since lots responsibilities is moving from driver to developer) Why mac os have opengl support but not Vulkan? (I don't have any experience with mac before....)



#8 TheChubu   Members   

9377
Like
2Likes
Like

Posted 21 February 2017 - 08:17 PM

Because in OSX it isn't up to the vendors. Apple supplies the "frontend" of the API, thus for example, you only get the OpenGL versions Apple supports, nothing more, nothing less.

Its the same for Vulkan. They dont want it in their OS.


"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

 

My journals: dustArtemis ECS framework and Making a Terrain Generator


#9 Infinisearch   Members   

2913
Like
1Likes
Like

Posted 21 February 2017 - 08:50 PM

Why mac os have opengl support but not Vulkan?

Because backwards compatibility... as in before metal (which is relatively new) the 3d api for mac's was opengl.  Then they decided to support the in house metal instead of vulkan. 


-potential energy is easily made kinetic-

#10 JoeJ   Members   

2489
Like
1Likes
Like

Posted 22 February 2017 - 05:13 AM

There is a VK port on top of Metal, and for now it's free:
https://moltengl.com/purchase/




Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.