How can I learn OpenGL
Is it a waste to learn OpenGL?
What I have gathered on the internet and in various sources is that DirectX has largely got the graphics API domain under control. To be honest, I've given DirectX10 learning a chance, but I just can't stand the way things get initialized. it was very difficult to really learn the actual 3D part.
OpenGL makes a lot more sense from my point of view, but I'm not sure I want to invest time in something that "doesn't last". I don't keep up with the latest news or know much about the "war" between OpenGL and DirectX. Will OpenGL when that said is going to disappear soon? What I like about OpenGL is that there are a lot more resources (whether through books / tutorials / examples) than for DirectX, so it's a lot easier to learn.
So is it still a good time to learn OpenGL or is DirectX just the future? Now I know there are 100,000 topics that are better talked about, but that's not my question. I'm just asking if OpenGL will stick with it.
Now I know there are 100,000 better things to do, but I'm not asking that, I'm just asking if OpenGL will stick with it.
Technology never just disappears - once it reaches critical mass, it will last for a long time, even if it is never actively developing again. It will take a long time for the statement "It is a waste of time to learn OpenGL" to come true.
While I find your motivation and reasoning somewhat suspicious, there is nothing wrong with learning OpenGL, and it will allow you to learn just as much about 3D graphics theory and programming as D3D would. In fact, it might be worth using as a learning medium, even if it would be useless as a practical platform, as the basic concepts are carried over between APIs. As long as it helps you acquire these concepts, it is a good choice.
This is a question that only you can really answer. But,
- Do you really want to do something and find OpenGL more fun or productive? Then you might want to learn OpenGL.
- Will learning OpenGL make learning DirectX difficult later if you needed or wanted to? I do not think so.
I don't think anyone can predict who you will stay with. I would say use what is best for your purpose now and you can always pick the other up later. I've only used DirectX just because it suited my purposes, but if I'd found that OpenGL was easier for me to use in my game, I would have used it.
If you have it with pleasure use or achieve something with it, it is not a waste.
Open GL is the basis for Web GL, and while Web GL is still in its infancy, it will be useful to know when it becomes widespread. Coupled with the fact that it is generally more cross-platform than DirectX (covered in other answers), it will eventually be one of the options for creating a 3D web browser game.
In answer to your question, if WebGL becomes the standard, OpenGL will be around for a good long time.
Not entirely useless. It should be noted that Mac systems still only support OpenGL and only up to OpenGL 2.1. This means that every game you see on a Mac (including some source engine games like Portal, Left 4 Dead, Left 4 Dead 2) was written using OpenGL. Given that Valve was able to tailor the source engine to OpenGL 2.1 and do some amazing things with it, you're probably pretty safe starting there.
Initialization code is a tiny fraction of all code dealing with a subsystem like this renderer. You're throwing away the superior object orientation and benefit of DirectX because you don't like the first two hundred lines. I don't want to sound like I'm trivializing your opinion here, but the reality is that compared to all of the code you write dealing with each rendering subsystem, not to mention the other subsystems needed, the Initialization is a triviality.
Second, you could always try DX9 - it's a lot, much less than DX10.
It is unlikely that OpenGL will no longer be an actively developed or targeted technology in the near future. Compared to platforms on which every API is available, D3D primarily offers Xbox, Windows, and Windows Phone 7. OpenGL works on Windows as well as Mac OS X and Linux. OpenGL ES is available for Android and iOS.
If you're just looking for skills to get a well-paying job, you'll likely need to learn DX, as most mainstream game developers target Windows and / or Xbox. Although the fast growing mobile game market increases the relevance of OpenGL ES skills.
When you start out in graphics programming, technology matters, but when you get familiar with it, only the concepts matter, and they're the same with Direct3D or OpenGL. Since programmable pipeline programming is becoming the standard as opposed to fixed function pipeline, the part where you interact with the graphics API is a small part of the overall work.
The other thing is that OpenGL is really big on cell phones. It's called OpenGL ES, and it is exactly like OpenGL 4.1 / 4.0 / 3.3 / 3.2 on many levels.
You can be a good game programmer without touching OpenGL or DX. All you need to learn is how to use a good game engine like Unity properly. However, if you want to take it a deeper level and understand how the game engine works, then you should learn OpenGL. You won't gain much of it in terms of "quality" so it will be for educational purposes.
So my advice is that you learn to use a game engine because you are likely doing exactly what you will be doing in your career (pro or indie) and also learning a graphics library like OpenGL for educational purposes only. (or if you want to create or modify a game engine)
I'm sure others have already given you many of the different reasons why you should learn OpenGL and why it will definitely stay that way, but here's another groundbreaking reason: Valve recently started developing and closing Linux support. What does that mean? Well, it means most developers will be using OpenGL.
Even now, OpenGL is getting most of its features faster, it is supported on many different platforms, and many agree that this is the future.
Here is the bump. DirectX is limited to Microsoft-based systems such as Windows and XBox consoles.
OpenGL, on the other hand, runs on almost everything in one version or another.
As for "should you learn", if you intend to be a graphics programmer, the simple answer is, learn both, and if you want to write a lightning-fast renderer, learn Mantle / Vulkan (not for the faint of heart). .
However, if all you want to do is make games, don't bother. You will learn to develop with Unity or Unreal much more productively.
It looks like you are in the "Twiddling your Thumb" phase, not the "What should we use to code our next engine?" Phase. I wouldn't recommend learning OpenGL or Direct3D.
Instead of staring at the mountains of things you think you are learning, find a high-level library that makes it easier for you and begin.
You need to be familiar with high-level concepts like vector math, texture mapping, and so on before you can be productive with OpenGL. So choose a library like Ogre3D, Unity, Panda3D, etc. that makes sense for your platform and start building. Once you get it to do and not stare , you can see what to learn next, which makes sense.
I bet OpenGL or Direct3D will come up very late on this list of things to learn.
As can be seen from today's news (GL4.3 / ES3), OpenGL is no longer gone and it's still worth investing in. If you want to target Linux or Max OS, you need OpenGL and ES is completely dominant in the mobile domain.
That being said, in the long term, you should think seriously about learning both APIs as knowing both will be better for your personal development. The only real question is what do you need to learn first? Since OpenGL is easier for you, this is the decision you made.
- What are some crown tattoo designs
- Why is Russia a capitalist country
- What is the state coat of arms of Chhattisgarh
- Why is augmented reality overtaking virtual reality?
- Who has been in control of Jerusalem the longest?
- Which religion has the most gods?
- How is the Irish government then and now
- Hate being middle aged
- What is the use of mega technology
- What role does art play in life
- What bra size do women wear
- Why is OMG considered objectionable
- What are the benefits of Medicare Australia
- Homotroll is a bad word
- What is a school library
- Who are some famous atheists
- Which websites are good for learning Java
- Who writes a poem
- What does Thomson Reuters do
- Why do some successful people commit suicide?
- What is the human journey
- What does the nomination of a ship mean
- Is life boring or comfortable?
- Why are people extroverted