# DirectX11 2D Book

## Recommended Posts

Hi,

can someone suggest me a DirectX Book which is specified on 2D programming? (or isn't it like XNA where 2D and 3D are "pretty" splited?).
It should be written for DirectX11.

Regards Helgon

##### Share on other sites
(Hopefully I get this right)
Pretty much any book about DirectX will have 2D practice / tutorials in it. As far as a book just made for "2D Programming" I wasn't able to find one while looking. I'm sure someone else here has seen one and hopefully they'll jump in here soon. Besides that book, you could also try these online tutorials: http://www.rastertek.com/tutindex.html

Hopefully that helped.

##### Share on other sites
Are you wanting to learn Direct2D or 2D rendering via Direct3D?

Direct2D can do bitmaps and all that jazz, but its really more oriented towards vector-style 2D Graphics.

If you do 2D via Direct3D, then you have to deal with the 3D API, setting up your pipeline and whatnot, but everything simplifies when you drop the z-axis from your game logic/rendering (even if you still use it to z-order sprites, etc), and you can hide all the details in a wrapper class just once if you like, and never have to look at it again. There's probably also a plethora of 2D engines already built on Direct3D 11, or which can be readily ported from Direct3D 10.

Most good Direct3D books that aren't aimed at experts will have a few chapters that are applicable, which is generally good enough coverage. I don't think there's been a dedicate book on the topic since Focus on 2D in Direct3D, which was DX9-era, I think. If you can get a copy of that, the concepts should apply, but the code won't just copy and paste into Direct3D 11.

##### Share on other sites
[quote name='Ravyne' timestamp='1354135857' post='5005068']
If you do 2D via Direct3D, then you have to deal with the 3D API, setting up your pipeline and whatnot, but everything simplifies when you drop the z-axis from your game logic/rendering (even if you still use it to z-order sprites, etc), and you can hide all the details in a wrapper class just once if you like, and never have to look at it again.
[/quote]

Or you can just use [url="http://directxtk.codeplex.com/"]SpriteBatch[/url], and call it day. Edited by MJP

##### Share on other sites
[quote name='Ravyne' timestamp='1354135857' post='5005068']
Are you wanting to learn Direct2D or 2D rendering via Direct3D?

Direct2D can do bitmaps and all that jazz, but its really more oriented towards vector-style 2D Graphics.

If you do 2D via Direct3D, then you have to deal with the 3D API, setting up your pipeline and whatnot, but everything simplifies when you drop the z-axis from your game logic/rendering (even if you still use it to z-order sprites, etc), and you can hide all the details in a wrapper class just once if you like, and never have to look at it again. There's probably also a plethora of 2D engines already built on Direct3D 11, or which can be readily ported from Direct3D 10.

Most good Direct3D books that aren't aimed at experts will have a few chapters that are applicable, which is generally good enough coverage. I don't think there's been a dedicate book on the topic since Focus on 2D in Direct3D, which was DX9-era, I think. If you can get a copy of that, the concepts should apply, but the code won't just copy and paste into Direct3D 11.
[/quote]

Thanks for the answer. To be honest i didn't even know that there is something called Direct2D. In fact that's what i wanted but after reading your post i realized that setting it up in 3D environment just without the Z-Axis is a better solution.

Can u post some of the older Directx9 books which cover this topic (2D Games in Direct3D)? I think it would help to get into it. The porting is not the problem.

Regards Helgon Edited by ~Helgon

##### Share on other sites
Helgon,

I would HIGHLY recommend following MJPs advice and going with SpriteBatch. I have just finished up (well almost) a several months journey getting my spriting working well in D3D11. I have never used SpriteBatch, but I assume it is efficient and easy to use. Send me a PM if youd like to see my code.

##### Share on other sites
[quote name='KingofNoobs' timestamp='1354182655' post='5005244']
Helgon,

I would HIGHLY recommend following MJPs advice and going with SpriteBatch. I have just finished up (well almost) a several months journey getting my spriting working well in D3D11. I have never used SpriteBatch, but I assume it is efficient and easy to use. Send me a PM if youd like to see my code.
[/quote]

Hi, yeah i would like to see your code (to get a feeling)

and the SpriteBatch really seems to be pretty nice. At least even if i wanna do it totally by my self i can have look there how they done it.

Is it made by Microsoft (http://directxtk.codeplex.com/) or is it a project of someone? Edited by ~Helgon

##### Share on other sites
As other people already pointed out Spritebatch in DirectX 11 looks pretty nice. Unfortunately I haven't tried it yet, but it looks really neat. Here is some simple documentation, i didn't look too much into it, but it seems fairly simple and there are some further reading in it as well(which I haven't read).

http://directxtk.codeplex.com/wikipage?title=SpriteBatch

Hopefully this can be of any help. If you do anything nice I would love to see the result as well!

##### Share on other sites
So.. no suggestions of any Directx9 books which cover doing a 2D Game in Direct3D ?

##### Share on other sites
[quote name='~Helgon' timestamp='1354204963' post='5005338']
Is it made by Microsoft ([url="http://directxtk.codeplex.com/"]http://directxtk.codeplex.com/[/url]) or is it a project of someone?
[/quote]

It was developed by a Microsoft employee (Shawn Hargreaves, who used to work on the XNA Framework), but I don't think it counts as an "official" Microsoft project or anything like that. Either way it totally works, and it has a very similar feature set to the SpriteBatch in XNA (which many many people successfully used to make their 2D games).

## Create an account

Register a new account

• ### Forum Statistics

• Total Topics
628383
• Total Posts
2982383

• 10
• 9
• 15
• 24
• 11