Jump to content

  • Log In with Google      Sign In   
  • Create Account


Just getting my hands dirty. Questions for starting out.


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
3 replies to this topic

#1 Dimension10   Members   -  Reputation: 123

Like
0Likes
Like

Posted 07 June 2013 - 01:56 PM

Hello all. I just now joined this site, and I had a few questions before I start getting my hands too dirty in game development.

 

(You can just skip over Goal and Knowledge. They're just there to give context.)

 

///////////////////////////////////////////////////////////////

Goal:

 

-I would like to design custom 3D engines, as well as GUI's to make game development more of a GUI experience. I used .werkkzeug for quite some time, and have become rather fond of the interface.

 

To me, creating my own sets of graphics methods is more interesting than the actual game development.

 

Knowledge:

 

-I know a lot of the concepts already, such as rasterization, shaders, normal mapping, tesselation, deferred rendering, etc. I'm especially interested in Voxel-based Global Illumination. What I lack is the actual implementation.

 

-I've been spending the summer learning C++, including object-oriented programming.

 

-I have some math under my belt: Differential/Integral/Mulltivariable Calculus, Linear Algebra, and two semesters of Differential Equations.

///////////////////////////////////////////////////////////////////////////////////////////

 

 

Okay, so here are my questions:

 

1) Which would you recommend: DirectX or OpenGL? Which is generally easier to work with, and what are the differences?

 

2) I notice that DX projects have some brutal initialization. It looks like 20+ headers and sources just to make a window. I understand some of the stages, but is this normally all done manually, or is it more common to start off with a framework, and add in what you need?



Sponsor:

#2 Kjell Andersson   Members   -  Reputation: 364

Like
2Likes
Like

Posted 07 June 2013 - 04:38 PM

Without starting a flame war, I prefer DirectX, mostly because I'm used to it and know the in-and-outs of it better than OpenGL.

 

Historically DirectX gave your more control and adopted new graphic card features quicker than the OpenGL standard did. OpenGL supported new features through extensions that were provided by the different hardware producers and made it a pain to support all the different graphic cards that were out there.

 

Today when you can do much work on your own in shaders the difference is not as big as it used to be. The main difference is that DirectX is only for the Windows platform. If you are to do 3D programming on other platforms than Windows (e.g. Android) you will have to use OpenGL or some higher abstraction of it.

 

To answer your second question - yes, the DirectX initialization and overhead work is quite brutal, but have gotten better over the years. This is connected to by first remark above - it gives you control. If you download the DirectX SDK (part of the Windows SDK nowadays) there are examples and tutorials supplied with the SDK that helps you with the mundane work of setting up DirectX. You will get started with actual graphics coding quickly, so don't worry about the initialization so much.



#3 Dimension10   Members   -  Reputation: 123

Like
0Likes
Like

Posted 07 June 2013 - 07:25 PM

Okay, thanks. Initialization is the #1 part I'm afraid of. I'm watching John C Murphy's tutorials on YT, and it's an insane amount of stuff to remember. It seems like to be decently efficient at DX programming, you would need all of the initialization done in some sort of pre-made template, then access a "Game()" function of sorts to actually get the programming done. That way all of the actual game information can be consolidated elsewhere.

 

But the farther I go into this video, the less likely that seems possible.

 

Also, while the DX SDK is included with the Windows SDK, which is included with VS2012, it lacks the headers and library files needed for almost all of the tutorials online. Namely, d3dx11.h and DxErr.h. They are completely missing, so I had to download the SDK anyway.



#4 Steve_Segreto   Crossbones+   -  Reputation: 1406

Like
-1Likes
Like

Posted 08 June 2013 - 12:49 AM

I've got a beginner DirectX demo with source code that you can examine...

 

https://dl.dropboxusercontent.com/u/8974528/BigWorldToShare.zip






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.



PARTNERS