Should I wait for Directx 12 to buy Luna's book

Started by
14 comments, last by Alundra 8 years, 5 months ago

Hello everyone,

I'm planning to start out with game programming.

I have a C++ background, but my mathematical qualities are not that

big yet.

Although the last thing, I decided to start off with 3D programming,

as I have way more interest in making 3D games so I think it will be easier to

keep couraged. (If I'm not ready for it yet, I will find it out and start wioth learning 2D).

I want to buy the famous book of Frank Luna: Game Introduction to 3D Game Programming with DirectX

Currently his last book is about Directx 11, but he is writing a book about Directx 12.

Now my question is: Should I wait with buying the book until when the version about Directx 12 is out,

or are the things I learn in Directx 11 interchangeable with Directx 12? (Or with it be more of a waste).

(To be clear: this question is not about the money, more about the good usage of the spare free time

I have.)

Thanks

Advertisement

Well the book does seem to be 50% off right now and Luna does cover everything you need to know so I say get the DX12 book. On the otherhand D3D12 is more complicated than D3D11 so it takes alot more to get the most basic examples running... so D3D11 is easier to get into. Also there is the fact that D3D12 is windows 10 only so you're limiting yourself to people with windows 10. So learning D3D11 is still recommended, and somethings you learn in 11 will make 12 seem more familiar to you and therefore easier to learn.

-potential energy is easily made kinetic-

One might note that Amazon indicates that the D3D11 and D3D12 versions of the book are "frequently bought together."

Though I'm not sure that's all that necessary; they likely cover 80% the exact same material, as most of graphics has very little to do with the API itself.

Sean Middleditch – Game Systems Engineer – Join my team!

more about the good usage of the spare free time I have.

Frank Luna's books are the best books you can get to learn DirectX, I also seen the D3D12 book and I will surely buy it like I have the D3D11 version.

Now you say "Game Programming" and you say "starting", On this case I can't recommend you that and I can only recommend you another way.

The other way I recommend you is to use Unity Engine or Unreal Engine to understand how all things works.

Once you have more experience you can begin to learn more advanced.

I can only recommend you to do step by step to win time.

Well the book does seem to be 50% off right now and Luna does cover everything you need to know so I say get the DX12 book. On the otherhand D3D12 is more complicated than D3D11 so it takes alot more to get the most basic examples running... so D3D11 is easier to get into. Also there is the fact that D3D12 is windows 10 only so you're limiting yourself to people with windows 10. So learning D3D11 is still recommended, and somethings you learn in 11 will make 12 seem more familiar to you and therefore easier to learn.

Appreciate the heads up on the 50% off, was holding off but pulled the trigger once I saw that.

In my opinion D3D12 is a bridge too far. Also for myself, even though I've created a simple (but working/ used) 3d engine and a few games. I would suggest picking up the D3D11 book and start from there. The first chapters will also teach you on basic 3d math (vectors, matrices, planes, rays etc.).

In the future if you want, you could continue with the d3d12 book. The positive think (I think) is that both use the same math library (DirectXMath).

Crealysm game & engine development: http://www.crealysm.com

Looking for a passionate, disciplined and structured producer? PM me


In the future if you want, you could continue with the d3d12 book.

Yeah but as SeanMiddleditch points out most of the material is the same between the two books.

-potential energy is easily made kinetic-

Yep, but the stuff that differs might be to complex if you're not yet experienced with d3d11

Crealysm game & engine development: http://www.crealysm.com

Looking for a passionate, disciplined and structured producer? PM me

Are you sure you don't want to ever port your game to anything other than Windows? Nowadays, with basicly every platform and device supporting some version of OpenGL, DX is truly useful only if you are making an AAA game engine.

Also, this knowledge will become useless very soon, I used do work with DX and everything I have learned is worthless now (it was DX5 :D) while my ancient 10 years old knowledge of OpenGL is still acceptable, my terribly outdated code still compiles :)

The difference of performance is not really that big between DX and OpenGL and, especially for learning purposes, GL gives you more flexibility.

Note: me not trying to start the DX vs OpenGL discussion, just mentioning the option to consider.

Stellar Monarch (4X, turn based, released): GDN forum topic - Twitter - Facebook - YouTube

As a practical matter (that is: because you want to write your own complex rendering engine) you probably shouldn't learn either. Nowadays there are plenty of very capable, very inexpensive (and mostly free-to-start) game engines such as Unity or Unreal Engine 4. If your goal is to get products out the door, whether you're an experienced team or lone newbie, one of these options (or the many others) is your most expedient and cost-effective route. Many major studios today (perhaps most) license their engine technologies from others because they don't have the experience on staff, can't afford the effort, or can better use the resources they do have elsewhere; or because they can't take on the risk of an unproven engine, or because even if they succeed they can't just hire new people who are experienced in their proprietary technology -- in short, even game studios have a hard time making the economics of it work out.

Especially if your math/graphics background is shallow, as you say, then what you might benefit from going directly to OpenGL or DirectX3D (regardless of version) is beyond you, and will likely remain so for years. OpenGL or Direct3D are not the language you want to be speaking when what you really want are recipes for getting things done -- they're the wrong level of abstraction for reaching that end. They're the language you speak to write rendering engines, they're not the language you speak to write games.

If you're doing it to educate yourself or you're doing it to satisfy a curiosity, then by all means go right ahead. Just be aware that by all practical and tangible measures, rolling your own complex engine is almost certainly foolhardy. For my money, rolling your own engine is really only viable when you know that existing solutions don't meet your needs, when either A) your needs are actually so straight-forward that the complexity or philosophy of existing solutions would work against you, or B) your needs are actually so complex/novel/stringent that no existing solution meets (or could reasonably be made to meet) your needs.

I say all this somewhat begrudgingly as someone who takes pride in building my own solutions, and having extremely high standards for solutions I'd simply adopt.

throw table_exception("(? ???)? ? ???");

This topic is closed to new replies.

Advertisement