• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
DragonBooster

Will Learning Direct3D help Understanding Open GL Better?

13 posts in this topic

Hi guys.

 

Recently i have going through a lot of resources with learning Open GL, however it stil feels i do not understand how it works. When i try to memorize code that i did with Open GL and try to understand how it actaully works. The next day i seem to always forget it, and it kept annoying me.

 

I tried all of the resources in my other thread and read all of them thoroughly. But i still do not understand anything associated with Open GL.

 

Despite the fact that i did not like Direct3D in those previous threads, i never gave it a fair try so i decided to go with Open GL. However, i am lost in the sea with Open GL even through the rough schedule of learning Open GL 5 Hours a day.

 

However, Direct3D's Documentation is better and is much more understandable. So i was thinking, if i learn DirectX first, would that give me a headstart at learning Open GL? Currently to be honest, i have gotten nowhere so far with the current resources for Open GL. But i kind of got an understanding with Direct3D, especially after purchasing Introduction to game programming with Direct X10 which is one of the best book's for 3D game programming.

 

For example after learning C++, it became much easier to understand other programming languages for me (however i strongly prefer C++ as my main language). Would that be the same with DirectX and Open GL?

 

Or should i learn 3D computer graphics before going into any of them?

0

Share this post


Link to post
Share on other sites

Learning OpenGL if you already know DirectX is definitely easier, and it is very understandable to find OpenGL a pain to learn. There are a lot of options to make things easier (glew, glm, etc.), but at first glance it's just confusing and often a bit overwhelming. And the spec docs are definitely written under the assumption you have a basic grasp of the concepts already.

 

You could also use an engine like Unity and ignore the APIs at first. You'll likely pick up a lot of knowledge about how graphics work, and you'll also wind up having a better idea of how to manage the complexity in your own code if you opt not to use a graphics engine later. You'll also get to actually work on the game or whatever you're making quicker, which should help keep you motivated.

2

Share this post


Link to post
Share on other sites

Glad to know that i am on the right path because what you guys have just said is exactly what i was thinking of doing, Thanks a lot for your advice guys.

 

 

 

Or should i learn 3D computer graphics before going into any of them?

That would probably be the worst thing you can do.

Reading theory in books means nothing.  Hands-on interactive application is the only way to really learn graphics programming.

 

 

L. Spiro

Thank you for clearing that out.

 

I am a practical person that gets things done by doing, i am glad to know that graphics programming is mostly practical since that will accelarate the learning process for me. So again Thanks :).

0

Share this post


Link to post
Share on other sites

You could also use an engine like Unity and ignore the APIs at first. You'll likely pick up a lot of knowledge about how graphics work, and you'll also wind up having a better idea of how to manage the complexity in your own code if you opt not to use a graphics engine later. You'll also get to actually work on the game or whatever you're making quicker, which should help keep you motivated.

I was planning on using Unity since i could focus mostly just creating the game. However, I want to be able to be a strong programmer who understands how 3D game's work, i also like the idea of creating my own engine because you have complete control over what you do. That for me is a huge advantage for creating my own game/game engine. I understand however, that it will take me long to complete which i have no problem since i am very patient.

 

I may create my own game engine while at the same time programming on Unity.

1

Share this post


Link to post
Share on other sites

I was planning on using Unity since i could focus mostly just creating the game. However, I want to be able to be a strong programmer who understands how 3D game's work, i also like the idea of creating my own engine because you have complete control over what you do. That for me is a huge advantage for creating my own game/game engine. I understand however, that it will take me long to complete which i have no problem since i am very patient.

 

I may create my own game engine while at the same time programming on Unity.

 

 

That's certainly a good way to approach the situation. I think you'll find using Unity very educational. You'll probably find a lot of things you wish Unity did differently, and then you can do them differently in your own engine.

 

Just try to keep your goals in mind. If you find the benefits of creating your own engine disappear after you've learned more, don't be afraid to drop the engine work to focus more heavily on actually making and shipping a game.

1

Share this post


Link to post
Share on other sites

 

I was planning on using Unity since i could focus mostly just creating the game. However, I want to be able to be a strong programmer who understands how 3D game's work, i also like the idea of creating my own engine because you have complete control over what you do. That for me is a huge advantage for creating my own game/game engine. I understand however, that it will take me long to complete which i have no problem since i am very patient.

 

I may create my own game engine while at the same time programming on Unity.

 

 

That's certainly a good way to approach the situation. I think you'll find using Unity very educational. You'll probably find a lot of things you wish Unity did differently, and then you can do them differently in your own engine.

 

Just try to keep your goals in mind. If you find the benefits of creating your own engine disappear after you've learned more, don't be afraid to drop the engine work to focus more heavily on actually making and shipping a game.

 

Thank's a lot. I will keep creating my game engine, i stick to my words until i die. Currently i want to create a 3rd person game base and add more gameplay features later on.

 

Also you are right about using Unity. I am also going to program the game in Unity so i know how a game engine works. 

 

Thakn you all for your replies they helped me a lot :)

0

Share this post


Link to post
Share on other sites

You should be spending as much time as possible actually writing opengl code, if you are actually writing code that does things it really cements the concepts in your brain and it'll be hard for you to forget it, especially with your rigorous learning schedule. You didn't specifically say that you aren't writing a lot of code in addition to reading through your resources so if I'm mistaken I apologize

0

Share this post


Link to post
Share on other sites

You should be spending as much time as possible actually writing opengl code, if you are actually writing code that does things it really cements the concepts in your brain and it'll be hard for you to forget it, especially with your rigorous learning schedule. You didn't specifically say that you aren't writing a lot of code in addition to reading through your resources so if I'm mistaken I apologize

No problem, i was coding as much OpenGL as i could practically since i am mostly practical and learn things by doing, but most of the tutorials i just kind of did not understand properly, they did not explain everything in detail for me to understand so it was difficult for me to code with OpenGL and i felt i needed to learn 3D Computer Graphics in order to understand what is going on but that was not the case. For me OpenGL feels like Math's, you have to wait at a right time until you understand it.

 

I memorize something perfectly if I understand it, if i dont then i cannot progress and will be stuck on a road block. This is why i was able to code and learn quicker with Direct3D, it had a better documentation. Repetition does not help me learn, it rather De-Motivates me and makes anything i do boring so i immediatelly threw out repetition and have had a higher success rate without it.

Edited by Zero_Breaker
0

Share this post


Link to post
Share on other sites

Might be me, but I've not found OpenGL that bad to be honest. A lot of the deprecated commands require an extra i or another character for some reason which is annoying. But apart from that, it's been rather straight forward and when building a small engine I've not really used that much code to get a 3D GL renderer running.. It's mainly in the shaders and with LWJGL you can import multiple versions of the GL library, although I have had specific versions complain about overlapping.

 

Had a few culling issues, I some how managed to mess it up so when the cube spins it doesn't remove the cull which I sorted out and trying to sort out the flipped buffer in LWJGL was a bit of a pain even with direction. Apart from that all pretty much straight forward.!

 

I'd honestly try LWJGL and work though some tutorials on youtube, you may find it's not all that scary.

Edited by ShadowKGames
0

Share this post


Link to post
Share on other sites

Might be me, but I've not found OpenGL that bad to be honest. A lot of the deprecated commands require an extra i or another character for some reason which is annoying. But apart from that, it's been rather straight forward and when building a small engine I've not really used that much code to get a 3D GL renderer running.. It's mainly in the shaders and with LWJGL you can import multiple versions of the GL library, although I have had specific versions complain about overlapping.

 

Had a few culling issues, I some how managed to mess it up so when the cube spins it doesn't remove the cull which I sorted out and trying to sort out the flipped buffer in LWJGL was a bit of a pain even with direction. Apart from that all pretty much straight forward.!

 

I'd honestly try LWJGL and work though some tutorials on youtube, you may find it's not all that scary.

Thanks, for the suggestion but i am a C++/C#/C Programmer and i hate Java. But thank's anyway.

0

Share this post


Link to post
Share on other sites

 

Might be me, but I've not found OpenGL that bad to be honest. A lot of the deprecated commands require an extra i or another character for some reason which is annoying. But apart from that, it's been rather straight forward and when building a small engine I've not really used that much code to get a 3D GL renderer running.. It's mainly in the shaders and with LWJGL you can import multiple versions of the GL library, although I have had specific versions complain about overlapping.

 

Had a few culling issues, I some how managed to mess it up so when the cube spins it doesn't remove the cull which I sorted out and trying to sort out the flipped buffer in LWJGL was a bit of a pain even with direction. Apart from that all pretty much straight forward.!

 

I'd honestly try LWJGL and work though some tutorials on youtube, you may find it's not all that scary.

Thanks, for the suggestion but i am a C++/C#/C Programmer and i hate Java. But thank's anyway.

 

 

Well I work with C++ / C# / C / Lua and Java and it has little to do with using using OpenGL IMO. I have the framework ported to C++ and C# as well, it's more about getting the concept's down really, the syntax doesn't vary wildly enough to cause major issues if you know how to do it in one language.

 

Best of luck.

Edited by ShadowKGames
0

Share this post


Link to post
Share on other sites

 

 

Might be me, but I've not found OpenGL that bad to be honest. A lot of the deprecated commands require an extra i or another character for some reason which is annoying. But apart from that, it's been rather straight forward and when building a small engine I've not really used that much code to get a 3D GL renderer running.. It's mainly in the shaders and with LWJGL you can import multiple versions of the GL library, although I have had specific versions complain about overlapping.

 

Had a few culling issues, I some how managed to mess it up so when the cube spins it doesn't remove the cull which I sorted out and trying to sort out the flipped buffer in LWJGL was a bit of a pain even with direction. Apart from that all pretty much straight forward.!

 

I'd honestly try LWJGL and work though some tutorials on youtube, you may find it's not all that scary.

Thanks, for the suggestion but i am a C++/C#/C Programmer and i hate Java. But thank's anyway.

 

 

Well I work with C++ / C# / C / Lua and Java and it has little to do with using using OpenGL IMO. I have the framework ported to C++ and C# as well, it's more about getting the concept's down really, the syntax doesn't vary wildly enough to cause major issues if you know how to do it in one language.

 

Best of luck.

 

For me syntax matters a lot since i am also going to be creating an Abstraction layer, C++ is my prefered language that i am strong and best at with C# being second. But thanks a lot for the help. Could you maybe PM me the C++ port. It sounds interesting.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0