|1 Week Ago|
I Am Here
Cyberspace, Viet Nam
What's a good API to learn?
Hi, I've never programmed 3D cards before, but I think the time has come where I'll have to bite the bullet and do so. How do I approach it? I'll have to start right from the basics - ie. where 3D cards were 20 years ago, I think, or is there some way to "skip ahead"? I'm a little confused with all the terminology - as I understand it, I have to use either DirectX, or OpenGL, with the latter being replaced by Vulkan, am I right? I'm on a Linux system, so the former is out. So it'll have to be the latter. What I want to do is program for the web (so it'll be WebGL?), but I'm also kind of curious about CUDA (AND the AMD equivalent, forget what it's called), and I would LOVE to get into realtime raytracing, now that the hardware's here!! (I probably have no clue what I'm talking about ) So - how do I do these? What's the API to learn? Can I pick it up with Youtube tuts?
Just to state, I'll be starting off on all these with my ooooooold 3D card, so I hope I can do that.
Thanks for your help.
|17 Minutes Ago|
Since you're having trouble getting a response. I'll give you my thoughts.
But the fact that you're a Linux user might make what I say worthless. Because I'm a Windows user.
Vulkan is not going to replace OpenGL any time soon. It's probably only going to be used for big projects where OpenGL is struggling to get good performance.
I think you're still safe to invest time learning OpenGL for a while. It's probably going to take several years for it to catch on and be popular for smaller projects.
www.opengl-tutorial.org has a series of tutorials that start from making a window with a simple triangle...on up to more advanced stuff.
OpenGL uses old fashioned ugly looking code. With lots of old style memory handling syntax. So it's a bit of a tough thing to slog through.
It's also a little bit hard to go from making a triangle to making something more substantial. There's a lot of learning in between.
The other thing that I found very rough to deal with when I started out is the fact that OpenGL examples use 3rd party libraries ( Glut, Free-Glut, GLEW, etc...)
One person might use GLUT in their code. While another used GLEW. And each of these libraries needs to be set up with your IDE and compiler.
I found it to be a very frustrating experience. Most newbies just want to get started writing code. But these 3rd party libraries are an obstacle you'll need to to get past first.
A lot of people throw up their hands and give up and don't even get to the point of writing code because of this 3rd party library mess.
Since your main focus is WebGL. I think you would get to where you want to go much, much easier and faster using three.js.
Three.js uses WebGL to do all the heavy lifting. But the code is much simpler to write. And it handles a lot of the complex 3d stuff for you.
The problem is you're on Linux. And I have no idea if three.js works on that OS.
|reply share thread|