forked from sharpdx/SharpDX
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.txt
884 lines (710 loc) · 52.6 KB
/
ChangeLog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
SharpDX Change Log
==================
Previous Release notes:
--------------------------
Release Notes (2012-12-21)
--------------------------
General Information
A new version 2.4.2 of SharpDX is available today for download.
This version is a maintenance version, mainly fixing several issues and improving the SharpDX Toolkit.
This release is also introducing some breaking changes, so this is actually not what could be called a 'minor' release:
Replace all Viewport with a new global SharpDX.Viewport. The SharpDX.Direct3D11.Viewport with SharpDX.ViewportF.
Some enumerations names/class names has been renamed with more accurate CamelCase convention (In MediaFoundation, SharpDX.Direct2D1.RoundedRect renamed to RoundedRectangle, lots of D3D10/D3D11 MessageId enums now correctly named with camel case...etc.)
This release is integrating several patches made by the community on github. Thanks to all of them!
Changes and bugfixes
Please find below an auto-generated list of all changes and fixes from previous 2.4.1 version.
Build
Add Net35Plus defines to build project to allow usage of 3.5+ language features (extension methods...etc.) (changes)
Fix compilation error for DIRECTX11_1 target on desktop (changes)
Fix compilation error in sample (changes)
Fix compilation errors for Win8 platforms with latest DirectWrite update (changes)
Fix SharpDXWP8.sln (changes)
Update SharpDXWP8.sln to fix compilation errors (changes)
Direct3D
Replace all Viewport with new global SharpDX.Viewport. SharpDX.Direct3D11.Viewport with SharpDX.ViewportF. Add cast method from SharpDX.Viewport to ViewportF (changes)
Direct3D11
Fix issue #336. Remove some BlendState, DepthStencilState, RasterizerState constructors to avoid redundancy and conflicts in VB6 (changes)
Direct3D9
Fix issue #326. Fix incorrect marshaling of DisplayModeEx. (changes)
DirectWrite
Fix issue #324 Add missing implementation for DirectWrite1(changes)
DXGI
Add Output1.GetDisplayModeList1 method (changes)
Fix compilation error for DirectX11.0 (changes)
Samples
Fix issue #342. WP8 MiniCube SharpDXBase should use new SharpDX.ViewportF (changes)
Fix Win8 samples using new SharpDX.ViewportF (changes)
SharpDX
Add Color3.Black and Color3.White (changes)
Add Color4.Black and Color4.White (changes)
Add SharpDX.Win32.MessageFilterHook that provides IMessageFilter hook for a particular window HWND handle (changes)
Added missing commentary to Bool4. (changes)
Added new methods for random to MathUtil. (changes)
Change GetRandomXXX to NextXXX to match Random class naming. (changes)
Deactivate code Ray.GetPickRay as it is using a non accessible struct (changes)
Enclose MathUtil extension methods by #if NET35Plus (changes)
Fix issue #325. Explicit convert operator to Color3 was invalid (changes)
Utilities.LoadLibrary is now throwing DllNotFoundException if a native dll was not found from the path (changes)
Add clamp method for integers. (changes)
Add constructors for Color4 - fix issue 328 (changes)
Add Contains methods to DrawingRectangle. (changes)
Add Contains methods to DrawingRectangleF. (changes)
Add Contains methods to Rectangle. (changes)
Add Contains methods to RectangleF. (changes)
Add Matrix vectors. (changes)
Added GetPickRay method. (changes)
Fix bug inside Wrap - change to overload. (changes)
fix Issue 328 - Color3 ToString method bug fixed (changes)
fixes (changes)
fixing few grammatic errors (changes)
fixing few grammatic errors (changes)
fixing few grammatic errors (changes)
fixing some grammatic errors (changes)
fixing some grammatic errors (changes)
fixing some grammatic errors (changes)
Fixing some grammatic errors. (changes)
Make MathUtil static - add random extensions. (changes)
Merge branch 'pr/n15_Shqrdx' (changes)
Merge commit '889f0c926b9ae10ae378d65e1de800a76faef0c1' into newBranch3 (changes)
Merge pull request #12 from Shqrdx/patch-1 (changes)
Merge pull request #14 from Shqrdx/newBranch3 (changes)
Update Source/SharpDX/DrawingRectangleF.cs (changes)
Two simple gauss methods. (changes)
SharpGen
Change NamingRulesManager behavior for abbreviation. Breaking changes for somes enums/struct/class names that were previously not correctly CamelCase (changes)
Toolkit.Compiler
Add CompileOnlyIfNewer option to tkfxc command line. Make default to always compile. (changes)
Toolkit.Game
Added few comments to GameWindow (changes)
Fix issue #314. Add support for Window.ClientSizeChanged. Resize also the GraphicsPresenter swapchain, currently only supported under desktop (changes)
Fix issue #315. In window mode, mouse visible state is now only working on MouseEnter/MouseMove in the client area and not on the border/title bar. (changes)
Fix issue #320. Game.IsActive property is now set correctly according to Activated/Deactivated events. (changes)
Fix issue on Game.Run under WP8 that was setup as blocking instead of non blocking (changes)
Toolkit.Graphics
Add EffectConstantBuffer.Update method (changes)
Add RenderTarget2D.CreateDescription (changes)
Fix issue #317. Non 4x4 matrix were not uploaded correctly to constant buffers. (changes)
Fix issue #318. Add BasicEffect.Sampler property to allow changing the default sampler of a BasicEffect. (changes)
Fix issue #319. Plug all cleanup/Dispose methods for Toolkit Graphics and Game. (changes)
Fix issue #321. VertexInputLayout caching system was invalid, causing the same input layout used by different vertex shaders to failed. (changes)
Fix issue #327. Rename method to Texture.GetDataAsImage and add method Texture.SetData(Image) (changes)
Fix issue #330. A SpriteBatch.Draw method was not taking rotation into account (changes)
Fix issue #335. Using StructLayout.Explicit with fixed size and field offset was generating a wrong code (seems a bug in JIT), leading to a crash in EffectPass.Apply(). Change Explicit layout to sequential and remove field offset fixed this. (changes)
Fix issue with indexable resource array when compiling with SM5.0. Fix Effect bug for indexable variable bound to multiple slots. (changes)
Make GraphicsAdapter working even if we cannot retrieve the output display modes. (changes)
Optimize resource slot bindings by compacting consecutive slots in Effect/EffectPass. (changes)
Start to add ModelData. (changes)
WIC
Add SharpDX.WIC.ResultCode from WINCODEC_ERR_.* macros (changes)
XAudio2
Fix issue #333. SourceVoice.SubmitSourceBuffer was invalid with xWMA (changes)
Fix issue #338. Make first param of XAudio2.SetDebugConfiguration non optional (changes)
XInput
Add new Controller.GetState method to perform GetState and IsConnected in a same call. Add Controller.UserIndex value (changes)
--------------------------
Release Notes (2012-11-20)
--------------------------
General Information
A new version 2.4.1 of SharpDX is available today for download.
This version is a maintenance version, mainly fixing several issues and improving the SharpDX Toolkit.
PrimitiveBatch from DirectXTk has been ported to the Toolkit. Also, there is a new convenient method to draw a full screen quad using GraphicsDevice.DrawQuad. See details about changes in the Toolkit below.
Note about using the Toolkit effect compiler (tkfxc.exe): You can use either the version from:
The directory Bin\Net40Release if you have DirectX End-User Runtime June 2010 installed.
Or you can use directly Bin\Win8Desktop-net40 which is shipped with D3DCompiler_46.dll
Both versions can compiled shaders for all Windows (from Desktop, Windows RT and Windows Phone 8, except if you are using latest D3D11.1 features which are only available using d3dcompiler_46.dll)
As It was explained in a previous post, SharpDX is now accepting code contribution from the community. This release is integrating contributions from early contributors to SharpDX on github!
Concerning the support, I'm focusing my primary support for the core functions of the following API:
Direct3D11 (not Effect11 framework), DXGI, D3DCompiler, XAudio2 and Audio part of MediaFoundation.
The toolkit, the Toolkit.Graphics and compiler. The Toolkit.Game assembly has a lower priority (for non desktop platforms).
For other API, I strongly encourage the community to participate to fix bugs and/or add improvements, as they have a lower priority support now in SharpDX.
Concerning the forum, my personnal investement to respond to API usage has now a much lower priority, as explained in the "Changes in Support and Community" post.
Also, as indicated on the contact form, I will not respond to any private inquiry about SharpDX bug notice or API usage.
Changes and bugfixes
Please find below an auto-generated list of all changes and fixes from previous 2.3 version.
Code contributed by SharpDX Community
Added missing XAudio interop methods for WP8. (changes, changes)
Fix for Incorrect SetPixel and SetVertexShaderConstant (F and I arrays) where count were incorrectly *4 (changes)
Fix issue #305.[DX11] Missing functions in Direct3D11.EffectPass (changes, changes)
Fixed IDrawingSurfaceBackgroundContentProviderNative.PrepareResources to properly support desiredRenderTargetSize as an in/out var. (changes)
Merge branch 'master' into wp8 (changes)
Merge pull request #1 from jbriguet/master (changes)
Merge remote-tracking branch 'origin/master' (changes)
Updated fix for SetVertexShaderConstant (changes)
Added ColorConverter & Color4Converter (changes)
Added SourceType VideoCaptureGuid and AudioCaptureGuid in SharpDX.MediaFoundation.CaptureDeviceAttributeKeys (changes)
Fix mapping in MediaFoundation for various functions by using mf.dll (changes)
Build
Remove ProjectTypeGuids on SharpDX project, as it is conflicting when WP8 SDK is not installed. (changes)
Update README.markdown for github (changes)
SharpDoc
Remove assembly documentation in order to support same namespace declared in different assemblies. Now, namespaces are the top level topic item in the class library reference. (changes)
SharpDX
Fix issue #282. Matrix3x2.TransformationPoint was not valid. (changes)
Fix issue #283. Add new wrap methods to MathUtil (changes)
Fix issue #292. A regression bug was introduced in RenderForm that was preventing anykind of interaction with it. This patch fix a code that went to git by mistake. (changes)
SharpGitLog
Fix links (changes)
Toolkit
Add an exception to ContentManager.Load when there is no registered resolvers (changes)
Toolkit.Compiler
Add a check when missing a parenthesis, bracket, curly brace in FX file and generate a parsing error. (changes)
Toolkit.Game
Add better support for PreferredGraphicsProfile in GraphicsDeviceManager (changes)
Add IContentable to allow a GameSystem to Load and Unload content as in the game class. Add Content and GraphicsDevice property directly to accessible to a GameSystem. (changes)
Add support Activated, Deactivated and Exiting events for Desktop platform (they are not yet implemented for Windows RT and WP8) (changes)
Fix issue #281. Game.IsMouseVisible is now working on Desktop (bis) (changes)
Fix issue #281. Game.IsMouseVisible is now working on Desktop. (changes)
Fix issue #291. Allows PreferredBackBufferWidth / PreferredBackBufferHeight to be effectively used in non-fullscreen scenario. (changes)
Fix issue #309 crash on phone HW devices where the adapter is null because the attached adapter to the device is invalid (changes)
Fix issue #309. Allow null value for GraphicsDeviceInformation.Adapter. (changes)
Fix issue #310. Private variable in game was not initialized. (changes)
Toolkit.Graphics
Add BasicEffect.TextureView to allow ShaderResourceView instead of texture2D. Change BasicEffect.Texture to accept Texture2DBase (changes)
Add comments to PrimitiveBatch. Add automatic VertexInputLayout for vertices with known VertexElements. (changes)
Add comments to PrimitiveQuad / GraphicsDevice.DrawQuad (changes)
Add generic Texture.New method. Add equals/hashcode to TextureDescription (changes)
Add GraphicsDevice.Clear method similar to XNA (changes)
Add PrimitiveQuad and GraphicsDevice.DrawQuad for fullscreen quad primitive. Modify CustomEFfectContent sample to use the new DrawQuad method. (changes)
Add test and TextureInfo comment to SpriteBatch. (changes)
Fix access to unordered access view on texture. (changes)
Fix bug in GraphicsDevice.SetVertexBuffers. Test that PrimitiveBatch is running fine. (changes)
Fix compiling error typo in SpriteBatch (changes)
Fix GameWindow.AllowUserResizing (changes)
Fix issue #284. Sorting mode was not working on a particular SpriteBatch.Draw method. (changes)
Fix issue #286. SpriteBatch was not working with multiple instance. (changes)
Fix issue #289. Allows a pass to set a shader stage to null (changes)
Fix issue #296. Severe bug in effect that was preventing Effect to work properly with resource to bind. (changes)
Fix issue #301. SpriteEffects.FlipXXX modes are now working correctly (changes)
Fix issue #304. Add virtual to GameSystem.Initialize and fire events methods (changes)
Fix ordering of static/readonly members in SpriteBatch. Remove unused members. (changes)
Fix performance weird issue under x64 for SpriteBatch. Should now be on par with x86 (changes)
Initialzie the TextureSampler to use the default SamplerSate in BasicEffect in order to avoid invalid error messages when debugging the device (changes)
Modify SpriteBatch to allow ShaderResourceView instead of Texture2D, as it is much more versatile. (changes)
Move test for CustomEffect.CurrentTechnique to a upper level in SpriteBatch (changes)
Port PrimitiveBatch from DirectXTk. Not yet tested. (changes)
Remove DeviceCreationFlags.Debug from CustomEffectGame sample (changes)
Simplifies SpriteBatch immediate mode using same behavior as in DirectXTk (changes)
Update GraphicsDevice.GetOrCreateSharedData<T> to accept "object key" instead of "string key". (changes)
Toolkit.tkfxc
Fix issue #287. Add Redist D3DCompiler_46.dll to the build. Update tkfxc to use a dynamic path to load d3dcompiler dll for Win8Desktop-net40 version. (changes)
The command line compiler is now not compiling/writing the output if the input is not more recent (changes)
XAudio2
Fix issue #299. Add XAudio2 FX Reverb and VolumeMeter that were missing under DirectX11.1 (changes)
--------------------------
Release Notes (2012-10-31)
--------------------------
General Information
A new version 2.4 of SharpDX is available today for download with two major new features:
Adds support for Windows Phone 8: This new version provides full access to WP8 DirectX from .NET (Direct3D11, XAudio2, MediaEngine). It allows you to add 3D content seamlessly integrated into your XAML DrawingSurface very easily. Like SharpDX for Windows RT, you can develop a game using Direct3D from .NET without using C++.
New SharpDX.Toolkit (beta), a high level API that greatly simplifies access to Direct3D11 by providing a XNA like API with the full power Direct3D11. The toolkit allows you to develop a 3D application to target Windows Desktop, Windows RT or Windows Phone 8 using exactly the same code base.
This release includes also some breaking changes, enhancements, bug fixes...etc. Check the details below.
Windows Phone 8
Last year, SharpDX was released on Windows 8 Metro only one week after It was revealed. This year, we had the chance to get our hands on an early version of the Windows Phone 8 SDK, in order to port SharpDX safely and easily. SharpDX is proud to provide the full DirectX experience for .NET developers from Windows XP to Windows Phone 8 platform. This release includes:
Supports for Direct3D11.1/DXGI API. The SharpDX Toolkit (see below) is also able to target this platform.
Supports for XAudio2 API
Supports for MediaEngine API
Integration of Direct3D11 into XAML DrawingSurface (version using synchronized texture will be supported in next release)
This version has some minor restrictions and is not as perfect as we would expect due to some limitations in the Windows Phone 8 CLR Runtime that restricts ..NET usage. Mainly, WP8 doesn't allow to DllImport a function, so SharpDX on WP8 has the contraint to be platform dependent (x86, ARM) instead of being fully AnyCpu as previously. This is a known issue from WP8 CLR Team and will hopefully be fixed in next updates of WP8. Also, WP8 .NET is still suffering from some legacy WP7 Silverlight limitations that should also be fixed in next releases (for example, SharpDX cannot be used outside a Silverlight / XAML container, unlike on Windows RT where we can run an application without using XAML).
Apart from some restrictions of using a Direct3D11 API on a lower spec GPU, you can safely use the same Direct3D11 across Windows Desktop, Windows RT and WP8. This should open lots of exciting opportunities!
Toolkit for Games and Prototyping
SharpDX has been working hard to bring a higher level API on top of DirectX API and this now possible with SharpDX.Toolkit that is providing a Direct3D11 XNA like API. This beta version is now part of the distribution. If you are developing a Direct3D11 application, we highly suggest you to move to the Toolkit, as It provides a significant layer to ease the use of the Direct3D11 API and most importantly, to easily develop from Windows Desktop, Windows RT and WP8 using exactly the same code base!
The purpose of the toolkit is to target the DirectX and Windows platforms only and is not intended as a general cross platform game framework. The toolkit could be the perfect companion for:
Developing multimedia or game applications using Direct3D11.
Prototyping advanced Direct3D11 effects in C#.
This release includes the following features:
Full coverage of the Graphics API:
The toolkit provides a high level wrapper for each low level Direct3D11 classes: GraphicsDevice, Buffers (Vertex, Index, Structured, UnorderedAccess...etc.), Texture1D/2D/3D, TextureCube, RenderTargets, DepthStencilBuffer...etc. All these classes are handling creation of the resources and taking care of all ShaderResourceViews, RenderTargetViews, DepthStencilViews...etc. All Toolkit objects are castable to Direct3D11 raw objects.
Provides all GetData/SetData for textures, buffers...etc.
Provides an easy access to most of Direct3D11 Level 10-11+ features : Unordered Access (RWTextures, RWBuffers..etc.), Geometry Shaders, Tesselation...etc.
All stock states are available through the GraphicsDevice.BlendStates / RasterizerStates / DepthStencilStates
Texture and Image loading and saving (ported from DirectXTex and DirectXTk projects) supporting several image formats (DDS, JPG, PNG, BMP, GIF).
A complete Effect System, handling the most complex part of efficiently binding shaders into the pipeline, update and upload constant buffers, bind all resources. This Effect system is also providing some advanced features, like constant buffer pooling, shader pooling (share a particular shader bytecode across different effects)...etc. The Effect system is introducing a new syntax for handling techniques and passes, but is still very similar to legacy Effect system. It is also supporting basic syntaxes for legacy FX 2.0 and FX 5.0 Effect systems.
Port of all XNA StockEffects like the famous BasicEffect class.The API is compatible with XNA API, making it easy to port XNA samples to the toolkit.
Port of SpriteBatch and SpriteFont from DirectXTk. SpriteFont is supporting font file format generated from DirectXTk MakeSpriteFont, or BMFont AngelCode (binary format). SharpDX provides tkfont.exe as well (which is currently only a port of MakeSpriteFont). SpriteFont in SharpDX is also suporting kernings! (currently only available with AngelCode BMFont).
Supports of a modular ContentManager, XNA API compliant, but It provides plugin API for resolving streams (like loading resources not from the disk but from a zip or whatever) and pluggable readers (converter from binary streams to toolkit objects)
Supports the XNA like Game class infrastructure that allows you to use the same code base across different platforms. This is abstracting creation of graphics devices, graphics presenters (swapchain), native windows (on Windows Form, on Windows RT)....etc. You don't have to write specific code to run your game in Windows Desktop and Windows RT, this is the same code!
Four samples released that are running on Windows Desktop, Windows RT and Windows Phone 8
HelloWorld, a simple application that shows a basic usage of Game class
MiniCube, the popular SharpDX sample ported to the Toolkit, demonstrating how code is much simpler and less verbose than the raw API.
SpriteBatchAndFont, displaying 5000 sprites and using SpriteFont to draw some texts.
CustomEffect, shows how to use the effect system with a custom fx file.
As most of the effort in SharpDX development is now going into the toolkit in order to provides advanced features, you can expect the following features to be available in next releases of the Toolkit:
Port of PrimitiveBatch from DirectXTk.
Supports for Models/Mesh loading, animation, mesh rendering (usng assimp to support several popular formats).
Supports for Audio (dynamic audio, wav sound player and media like library for MP3/WMA...etc).
Supports for Input controllers (keyboard, mouses, touchscreen, gamepad... etc.)
Visual Studio project templates.
Possibly a simplified content pipeline manager integrated in VS
Unfortunately, there was a plan to provide a documentation of the Toolkit API for this beta, but there was not enough time left to finish and polish everything and to write this documentation, but unlike the DirectX API that has lots of books, resources on internet in C++, the toolkit needs defintely some documentation.
Changes and bugfixes
Please find below an auto-generated list of all changes and fixes from previous 2.3 version.
Build
Fix compilation error under Win8 with BinarySerializer (changes)
Fix issue #273. Signed assemblies for WinRT were not... signed in 2.3.x (changes)
Fix issue of signed assembly not fully valid. (changes)
Fix SharpDX.sln (changes)
Remove any non-AnyCpu configurations in csproj/sln files. (changes)
Remove Debug/Release targets (changes)
Update gitignore (changes)
Update release notes for 2.3.1 (changes)
Use standard msbuild for Win8 Metro instead of custom assembly resolving in order to be able to use WINRT API from SharpDX assembly. Prepare things for using IRandomAccessStream by adding a RandomStream extension. (changes)
Direct2D1
Fix issue #263. Use PropertyType.Blob instead of Array. (changes)
Direct3D10/11
Add ImageLoadInformation.Default field to get the default ImageLoadInformation correctly initialized. (changes)
Direct3D11
Add msdn doc link to Device. (changes)
Add ResourceView.ResourceAs<T> method. (changes)
Fix BlendState1 and RasterizerState1 constructors. (changes)
Fix Device.DeviceRemoveReason (changes)
Make Device.DeviceRemoveReason not throwing exceptions (changes)
Remove default values for OutputMergerStage.SetBlendState taking uint sample mask in order to avoid conflict with regular method (changes)
Update nuspec package for Effects assembly. (changes)
Direct3D11.1
Change BlendDescription1 and RasterizerDescription1 to BlendStateDescription1 and RasterizerStateDescription1. Add Default() method to both. (changes)
Direct3D9
Fix issue #223. Remove Sprite.Draw method using SharpDX.Rectangle. (changes)
Fix Sprite.Draw signature and revert it to using SharpDX.Rectangle (changes)
Remove overloaded method Draw (changes)
MediaFoundation
Add support for decoding compressed audio. Add two samples 1) DecodeAudioToWav and 2) a WPF Media Player. (changes)
Fix header comment in MediaType. (changes)
Start to add SourceReader support for audio decoding. (changes)
Update AudioDecoder to support IRandomAccessStream directly. (changes)
Samples
Add CustomEffect Toolkit sample. (changes)
Add Toolkit MiniCube samples for Desktop, WinRT, WinRTXaml (changes)
Add Win8 sample SimpleMiniCube. (changes)
Fix compilation path for HelloWorld.WinRT samples in Toolkit (changes)
Fix memory leak with SurfaceImageSourceTarget when a Xaml App was running in the background. (changes)
Try to fix Win8 samples sln (changes)
SharpDX
Add Component.Disposing method. (changes)
Add IComponent interface, IServiceRegistry and ObersableCollection. (changes)
Add TimerTick class. Add Utilities.Sleep portable method. RenderLoop is now accepting Control instead of only Forms. (changes)
Fix Alt key for RenderForm. (changes)
Fix bug in BinarySerializer.SerializeMemoryRegion (changes)
Fix bug in BoudingFrustum.Matrix not updating correctly frustum planes. (changes)
Fix exception message in DisposeCollector (changes)
Fix issue #258, FourCC struct was not returning the correct string. (changes)
Fix issue #264 errata. (changes)
Fix issue #264. BoundingFrustum.Contains was invalid. (changes)
IServiceRegistry/ServiceEventArgs should provide type of the interface and not only the implementation. (changes)
Remove all implicit conversion with System.Drawing in order to unify the API for all platforms (changes)
Simplify serialization for Nullable values. Add support for different type of Array Length encoding (dynamic, byte, short, uint). (changes)
SharpGen
Fix documentation summary and unmanaged link for properties with a getter and setter. The summary is now including "Gets or sets" instead of only "Gets". (changes)
Toolkit
Add ContentManager with IContentResolver for getting the Stream and IContentReader to read from the Stream and provide an instance of the resource. (changes)
Fix compilation error under Windows 8 (as usual, caused by the Type reflection mess introduced by WinRT, this is really annoying) (changes)
Update ContentManager to use IContentManager (that will be later accessible from a ServiceProvider through the Game class). (changes)
Toolkit.Game
Add new project SharpDX.Toolkit.Game (changes)
Add primarily working version of SharpDX.Toolkit.Game for Desktop. (changes)
Add SpriteBatchAndFont samples. Fix transform issues in SpriteBatch. Fix issue in ContentManager when loading sub-resources. (changes)
Add support for Game class running on a SwapChainBackgroundPanel. Add sample HelloWorld.WinRTXaml. (changes)
Add support for WinRT (non-xaml). Next is to add support for WinRT xaml. Add first sample HelloWorld using the SharpDX.Toolkit. (changes)
Remove font debugging in sample SpriteBatchAndFontGame (changes)
Start to work on Game classes. (changes)
Working on Game classes, starting desktop implem, not yet finished. (changes)
Toolkit.Graphics
Add 1st draft implem of SpriteBatch. (changes)
Add a method to take sprite mode with a direct effect. (changes)
Add GraphicsDevice.New() from an existing SharpDX.Direct3D11.Device (changes)
Add pooling of vertex buffer/index buffer in GraphicsDevice. Add GetOrCreateSharedData to GraphicsDevice.. (changes)
Add some checks to validate an effect (at least one technique, at least one pass). Set CurrentTechnique default to Techniques[0]. Also unlike XNA, you can apply a pass without setting the CurrentTechnique. It will replace it without complaining. (changes)
Add support for AngelCode BMFont. Add kerning support. Split SpriteFontData class. (changes)
Add support for loading directly spritefont file generated by DirectXTk.MakeSpriteFont tools. (changes)
Add support for SpriteFont, working directly with spritefont file generated from DirectXTk MakeSpriteFont.exe (changes)
Add support for Texture.GenerateMipMaps. (changes)
Fix bug in EffectData.Signature serializer. Fix bug in handling vertex input signature. (changes)
Fix bug when creating a ShaderResourceView for a Buffer. Fix issue where created views (srv/rtv) were not cached for buffers. (changes)
Handle correctly column/row major matrix (with auto-transpose) for effects. Add optimized paths for EffectParameter.SetValue(Matrix). Fix bug in Effect with shader signature. (changes)
Rename EffectGroup to EffectPool in make it a bit closer to the legacy EffectPool (though it is a bit different) (changes)
Replace boolean for isUnorderedAccess by using a TextureFlags enum (changes)
SpriteFont fix back kerning (changes)
Use constructor with GraphicsDevice in all subclass of GraphicsResource. (changes)
Use ObservableCollection<T> for ContentManager.Resolvers and Readers (changes)
Use row_major declaration for all matrices in order to avoid a transpose on the client side and keep shaders compatible with XNA. (changes)
Toolkit.tkfont
Add new tkfont utility directly ported from DirectXTk.MakeSpriteFont, in order to support future kerning features that will be added later. (changes)
Toolkit.tkfxc
Set target framework to 4.0 Client (changes)
XACT3
Fix issue #268. AudioEngineSettings.MasteringVoice should initialize MasteringVoicePointer. (changes)
XAudio2
Fix issue #272 in Voice.SetEffectChain/SetOutputVoices (changes)
--------------------------
Release Notes (2012-06-10)
--------------------------
SharpDX 2.2.0
This is a maintenance release, mainly to support new Windows 8 Release Preview. Starting with 2.2 version, SharpDX for Metro App is only compatible with Windows 8 Release Preview.
Lots of improvements and bug fixes, check the following details:
*************
Core
*************
Fix issue with Reflection.Emit not compatible with Win8 Release Preview. Using Linq.Expressions instead.
*************
Samples
*************
Win8
All samples have been ported to use new Windows 8 RP. Lots of small breaking changes
Add property DrawingPosition to CommonDX.SurfaceImageSourceTarget
*************
Sound API
*************
X3DAudio2
The project/assembly X3DAudio is removed and is now part of XAudio2. In order to use X3DAudio, you only have to reference XAudio2.
*************
Graphics API
*************
Direct3D11
New constants for ComputeShaderStage and PixelShaderStage
New UpdateSubresourceSafe method to support workaround for deferred context with non null resource region (see http://blogs.msdn.com/b/chuckw/archive/2010/07/28/known-issue-direct3d-11-updatesubresource-and-deferred-contexts.aspx)
Fix issue #195. DeviceContext.UpdateSubresource is now public
Update MiniCube to demonstrate how to handle resize and fullscreen
MediaFoundation
Project started. Not yet available but a MediaPlayer will be available soon for Windows 8 Metro App.
WIC
Fix bug in ComStreamShadow.Seek, newPosition can be null
*************
Build
*************
Add support for building all desktop with Windows SDK 7.1 (http://www.microsoft.com/en-us/download/details.aspx?id=8279) with Visual Studio 2010 installed
--------------------------
Release Notes (2012-05-10)
--------------------------
SharpDX 2.1.0
- Add full support for Windows 8 Consumer Preview / Beta. SharpDX assemblies are passing certification successfully.
- Add DirectX/XAML interop for Windows 8 Metro App by supporting interfaces ISurfaceImageSourceNative, IVirtualSurfaceImageSourceNative, IVirtualSurfaceUpdatesCallbackNative and ISwapChainBackgroundPanelNative.
- Add full support for Direct2D1 Effects and Custom user Effects for DirectX11.1/Win8 Metro
- Add several Win8 Metro Samples (Direct3D11.1 and Direct2D1), thanks to Jose Fajardo for his great contributions.
- SharpDX binaries are now splitted into 4 distributions:
- Normal, available for desktop application, based on DirectX SDK/Runtime June 2010
- Signed, signed normal assemblies
- DirectX11.1, available for desktop application, based on Windows 8 Consumer Preview
- Win8Metro, available for metro application, based on Windows 8 Consumer Preview
- SharpDX.XAPO is now integrated into SharpDX.XAudio2 assembly.
- SharpDX.Diagnostics is now integrated into SharpDX assembly.
- Lots of improvements and bug fixes, check the following details
****************
*** Core API ***
****************
- Add ComObject As<T> and Dispose<T> static methods
- Add ComObject.QueryInterface static method for Win8
- Add Int3 struct
- Add NativeFile.ReadAllBytes and ReadAllText methods
- Add method MathUtil.Clamp
- Fix issue #139 Check IsDisposed in Disposable finalizer
- Fix issue #158. Initblk should use unaligned and an int for the size under x64 as well as x86.
- Fix issue #164. Minor breaking changes: SharpDX.Diagnostics is removed. Description message for COM/HRESULT errors is now natively integrated into SharpDX. SharpDX.DXGI.DXGIError is renamed to ResultCode in order to be consistent with other APIs
- Improves error diagnostics under Win8, in ResultDescriptor, full description is now used from Win32 FormatMessageW as well as SharpDX knownledge of Api code.
- Major refactoring of COM callback internals (aka in SharpDX as Shadow classes) in order to support multiple COM inheritance
- Use common function to map Exception to HResult code. Modify SharpDXException to set Exception.HResult property
- Use custom TagAttribute as ObfuscationAttribute is not available under overstripped 4.5 Core profile Win8 (!)
- Use optimized code for CppObjectShadow.Dispose/ToShadow methods
- Remove internal usage of try/catch SharpDXException in favor of Result.Failure check
- Remove System.GC usage for Win8
********************
*** Graphics API ***
********************
[All DXGI/Direct3D]
- Fix issue #136 Remove invalid call to Marshal.Release in all DebugName property setters
[D3DCompiler]
- Add CompilationResult for ShaderBytecode.Compile in order to be able to return warnings, as well as errors if Configuration.ThrowOnShaderCompilationError is setup to false
- Fix loading using LoadLibrary/GetProcessAddress under Win8
- Use Result instead of HasErrors for shader CompilationResult
[DXGI]
- Add new methods for DXGI 1.2 Win8
- Add support for DirectX/XAML Win8 Interop with ISurfaceImageSourceNative, IVirtualSurfaceImageSourceNative, IVirtualSurfaceUpdatesCallbackNative and ISwapChainBackgroundPanelNative
- Fix PresentParameters to appear only in Win8 build
- Fix issue #162. Use SwapChainFlags enum for last parameter
- Fix issue #163. Check for null before disposing an adapter in DXGI.Factory(1).GetAdapterCount(1)
- Remove CheckError on EnumAdapters. Add convenience method for gettings adapters from factories
- Start to use new ResultDescriptor
[Direct2D1]
- Add Effect.SetInputEffect method
- Add TranformNode / Transform callbacks for Win8
- Add all builtin effects for Win8
- Add constructor for InputDescription. Change PropertyBindingAttribute to use string for min,max,default
- Add constructor for VertexRange
- Add missing factory.Create and deviceContext.Create object constructors for Direct2D Win8 Metro
- Add support for ComputeTransform, DrawTransform, SourceTransform
- Add support for Direct2D1.1 custom effects
- Add support for DrawingPointF, DrawingRectangleF, RectangleF for custom effect property bindings
- Add support for TransformGraph, ComputeInformation, DrawInformation, CommandList, CommandSink for Direct3D11.1 / Win8Metro
- Fix compilation errors introduce- by previous commit
- Fix #define for non-Win8 metro compilation
- Fix a bug in TransformShadow and add several convenience methods
- Fix build issue for SharpDX standard introduced by Win8 build
- Improved mapping for Win8 API, not finished
- Set some CustomEffect attributes parameter mandatory
- Start to add CustomEffect support under Win8
- XXXTransformShadow must inherit from other shadows
[Dircet3D10]
- Add bufferSize = 0 for Sprite constructor
- Fix issue #153. Effects is now providing an agnostic math API
[Direct3D11 / Direct3D11.1]
- Add new methods for Direct3D11.1 Win8
- Add reference to native Direct3D11.1 effects dll for x86/x64 platform
- Add dlls for Effects11 under Direct3D11.1 for x86, x64 and ARM
- Fix issue #152. Add Texture2D.SHProjectCubeMap function
- Fix issue #153. Effects is now providing an agnostic math API
- Fix issue #134. Add method EffectVariable.AsInterface()
- Fix issue #138. Add additional methods InvertTransform and ForwardTransform to FastFourrierTransform class
- Fix issue #165. Add support for uint sampleMask. Add default value to -1
- Make CompilationResultBase abstract
- Remove dependency to D3DCompiler under Win8 Metro
- Update doc for DeviceContext.UpdateSubresource
- Disable Effects framework in Win8 as d3dcompiler won't be allowed at runtime anyway
[Direct3D9]
- Add CompilationResult to ShaderBytecode
- Add support for Line
- Add SpriteFlags to Sprite.Begin
- Fix issue #143. Device.SetClipPlane is now using a Vector4 for the plane definition
- Fix issue #156. Reset is now accepting an array of PresentationParameters
- Fix issue #157. Add LoadVolumeFromMemory on Volume object
[Direct3D]
- Revert back old version of PixHelper as Color parameter seems to be used by NSight profiler (but not by PIX)
[WIC]
- Add constructor for ImagingFactory2 Win8
*****************
*** Input API ***
*****************
[DirectInput]
- Add Keyboard sample
******************
*** Sounds API ***
******************
[DirectSound]
- Fix issue #137. Fix typo for property DirectSound.IsCertified
[XAPO]
- Add SharpDX.XAPO to XAudio2. XAPO is no longer an individual assembly but is now part of SharpDX.XAudio2 assembly.
- Fix certification issue for XAPO on Win8 Metro
***************
*** Samples ***
***************
- Add simple sample with texture mapping on a rotating cube
- Add Direct2D MiniShape sample for Win8 Metro, unifinished.
- Add Direct2D sample for Win8. Integrate Direct2D in XAML interop samples.
- Add MiniCubeBrushXaml Win8 samples. Not finished yet.
- Add XAML-DirectX interop MiniCubeXaml sample for Win8 Metro. Refactor code to use DirectXBase as in C++ samples
- Remove all references to D3DCompiler in Win8
- Remove fxc.bat
- Remove old SharpDX.Diagnostics from all samples. Add missing D3D9 samples. Clean Win 8 samples
- Rename CustomPixelShader sample to D2DCustomPixelShaderEffect
- Change Win8 samples to use a common infrastructure
- Fix Dispose in MiniCube program
- Fix D2DCustomPixelShader
- Fix D2DCustomPixelShaderEffect RippleEffect sample for Win8 Metro \o/
- Fix Direct2D1 Custom Vertex Shader for Win8
- Fix Win8 samples with changes from DXGIError renamed to ResultCode
- Fix solution for Win8 samples
- Update Direct2D1 RippleEffect sample.
- Update samples for Win8 Metro. Add Direct3D11 CubeTexture sample
*****************
*** Internals ***
*****************
[Build]
- Fix build for all versions: Normal, Signed, Win8Beta and DirectX11.1 Desktop
- Fix build for configurations D3D11_1Debug/D3D11_1Release Direct3D11.1 without Metro
- Fix build for nuget-publish to continue even if symbolsource.org returns errors
- Fix problem after merge from master. Add back hidusage.h file
- Make distinction between Win8Metro (Net4.5 Core + Win8 Metro app certification restrictions) and Direct3D11.1 by using respective #define during build
- Add DisableFastUpToDateCheck to allow SharpGen to be called at each build. Fix VS2011 build issue
- Update build to support Direct3D11.1 assemblies outside Win8 Metro
[SharpCLI]
- Remove usage of MsBuild custom task for assembly patching, as MsBuild lock SharpCLI task and cannot be updated for each build. Projects are now using directly the SharpCLI command line which is mush safer.
[SharpGen]
- Fix xml preprocessor that was not working with nested ifdef/ifndef. Now preprocess run on deepest rules first
- Add support for parameter default values
- Handle C# params qualifier for array in code generator
--------------------------
Release Notes (2012-02-06)
--------------------------
SharpDX 2.0.4
* Build
- Add build infrastructure for nightly-builds
* SharpDX
- Bugfix #111, add proper handling of BlockAlign, SamplerPerBlock, AverageBytesPerSecond for WaveFormatAdpcm
- Bugfix #115, Add Disposing, Disposed events to DisposeBase. Change IsDisposed to public.
- Bugfix RenderLoop.Run is not running after FormClosed event in order to enable clean Dispose on Form
- Bugfix issue #131. Remove setters for Width/Height in Rectangle/RectangleF. Add X,Y properties. Improve RectangleF equals method.
- Bugfix issue #132. Provides a IStream implementation and a proxy to System.IO.Stream
- Fix Win8 build
- Fix issue #128. RenderLoop is using default Application.DoEvents in order to support Application.AddMessageFilter (use by RawInput). Old custom windows event message handler is available by setting RenderLoop.UseCustomDoEvents. RenderLoop is still compatible with Mono.
- Remove dependency to System.Drawing to improve Win8 certification
* D3DCompiler
- Bugfix issue #122. Integrate ShaderBytecode.Decompress methods from Fadi Alsamman
* Direct3D11
- Bugfix issue #122. Integrate ShaderBytecode.Decompress methods from Fadi Alsamman
- Bugfix issue #130. Add standard error codes to SharpDX.Direct3D11.ResultCode
- Integrate patch from issue #133. New methods FromXXX to load resources without using generics.
- Bugfix issue #129. Add FilterTexture method to Resource.
* Direct3D9
- Bugfix #116, Remove D3DXCheckVersion call from Direct3D(Ex) constructors in order to remove dependency to D3DX runtime
- Bugfix issue #123. Add Font and Sprite support. Add Direct3D9 DisplayFontApp sample.
- Bugfix issue #127. Set DataStream CanRead/CanWrite according to LockFlags.ReadOnly
* DirectWrite
- Bugfix #113 Handle empty indices/offsets/advances marshaling in GlyphRun
* SharpGen
- Fix issue #120, add better support for union with fixed arrays
- Use DllImport for all interop functions because Win8 Certification doesn't allow usage of custom LoadLibrary/GetProcAddress
--------------------------
Release Notes (2011-11-22)
--------------------------
SharpDX beta3 (2.0.3)
* Build
- Bugfix for Win8 Build under VS2011
- Add signed assembly build
* Core
- Add new Utilities.ClearMemory method using initblk opcode
- Bugfix issue #101, with DataStream.Create<T> method for creating DataStream from array
* Direct2D
- Add Factory1 for Win8
- Add Bitmap1, BitmapProperties1, CommandList, DeviceContext, Effect classes and constructors for Win8.
* Direct3D(9/10/11)
- Bugfix for issue #94, by removing release of allocated string
* Direct3D10/11
- Bugfix on Resource.FromFile<T> and FromMemory<T> methods to avoid premature dispose
* Direct3D9
- Bugfix issue #99, Suppress check for Device.TestCooperativeLevel. Add ResultCode D3D HRESULT error codes
- Bugfix issue #105, DrawUserPrimitives/DrawIndexedUserPrimitives by using correct size of vertex
* Direct3D10
- Bugfix issue #108, Correct typo for method Resource.CalculateSubResourceIndex
* Direct3D11
- Add faster specialized methods for InputAssemblerStage, RasterizerStage
- Bugfix issue #95, Add constant D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT to Device.MultisampleCountMaximum
* DirectSound
- Bugfix issue #109, Add None to LockFlags
- Bugfix issue #110, SoundBuffer.Write should use data.Length instead of 0
* XAudio2/DirectSound
- Bugfix WaveFormatExtensible marshalling
* XAudio2
- Add new constants for XAudio2 class (XAUDIO2_MAX_BUFFER_BYTES, XAUDIO2_MAX_QUEUED_BUFFERS... etc.)
- Bugfix issue #100, Rename field VoiceDetails.InputChannelCount. Rename correctly VoiceFlags and add type VoiceFlags to VoiceDetails.CreationFlags
* X3DAudio
- Bugfix issue #96, Remove FreeHGlobal from Emitter.
* WIC
- Bugfix Add better handling of MetadataQueryReader metadatas
- Bugfix issue #104, with sample RenderToWicApp by disposing the encoder.
SharpDX beta2 (2.0.2)
* This version is including several bug fixes, performance enhancement, Win8 certification for Metro style App and generated XML for API documentation.
* Win8 Certification Support
- SharpDX on Win8 is now compiled with .NET 4.5 Core profile and is passing successfully Windows Metro Style App certification.
* Build
- Improve build system to support cross .NET framework compilation from 2.0 to 4.5.
- In order to compile SharpDX for Win8, you need to have Visual Studio 2011, but you can compile from Visual Studio 2010 under Win7 and Win8.
- Fix build for path containing spaces.
- Turn-on by default generated XML documentation from MSDN
* Core
- Breaking changes in the API for Color4. Using more natural (red,green,blue,alpha) constructor instead of (alpha,red,green,blue). All usages are fixed. Add new Colors class to list predefined colors in the same way System.Drawing.Color
- Add SharpDX.IO.NativeFileStream to allow direct FileStream access from Win8
- Bugfix for methods using out array of com objects
- Rename SharpDX.Size to SharpDX.PointerSize
- Add new ComArray<T> class to support faster marshalling of array of ComObject for several methods in the API (mainly Direct3D11)
* Direct3D
- Add explicit DebugName property on all Device, DeviceChild for DXGI, Direct3D9, Direct3D10, and Direct3D11.
- Add new SharpDX.Direct3D.PIXHelper class and methods begin-end/marker providing usefull information under PIX debugger.
* Direct3D9
- Add support for all main APIs (Only XFile/Mesh loading is not supported)
* Direct3D10/11
- Add Equals method to InputElement
- Remove result check from Device.CheckFormatSupport. Add None value to FormatSupport.
* Direct3D11
- Add optimized methods for DeviceContext.CommonShaderStage.SetSampler(s)/SetShaderResource(s)/SetConstantBuffer(s)
- Add MultiCube sample for multithreading and deferred context benchmark. See http://code4k.blogspot.com/2011/11/direct3d11-multithreading-micro.html
- Use a common pattern for Texture1D, Texture2D, Texture3D constructors
- Add DeviceContext.IsAvailableData for Begin/End Query statistics. Add new GetData method.
- Add method DeviceContext.OutputMerger.ResetTargets to unset all binded Targets
* Direct2D1
- Move Matrix3x2 from Direct2D to SharpDX core assembly
* DirectInput
- ForceFeedback is now enabled.
- Sliders are now using correct flags
- Keyboard state is now properly returned.
* DXGI
- Change DXGIError to class using SharpDX.Result fields
* RawInput
- Fix wrong layout of RawMouse structure
- Add RawInput access from non-winform application like WPF
- Fix invalid values for WheelData/Buttons in MouseInfoInputEventArgs
* XAudio2
- Fix error for XAudio2 dll loading under Win8
* XInput
- Add XGamePadApp sample
- Fix UserIndex enumeration and Controller.IsConnected method.
--------------------------
Release Notes (2011-09-24)
--------------------------
SharpDX goes 2.0 beta
* Adding missing DirectX APIs including Direct3D9 (not finished yet for Beta but WPF Interop is working), DirectInput, RawInput, XInput, X3DAudio, XACT3, WIC (integrated with Direct2D1).
* API Support for upcomming Win8/DirectX11.1 (D3DCompiler 44, DXGI 1.2, Direct3D11.1, Direct2D1.1) and including support for DirectX Metro application in C#/.Net!
* New Samples (Direct3D10 WPF Interop, Direct3D11 MiniCube, WIC RenderToTarget, WIC EncodeDecode, XAudio2 play XWMA,ADPCM,WAV)
* New 2 Samples for Win8/Metro Preview (MiniCube and port of Win8 C++ DirectX Tutorial)
* NuGet Package available for all SharpDX 2.0 assemblies with symbols (enabling "source step into" debugging)
* Lots of bugfixes, apis simplification and helpers.
* Interop performance slightly improved for method calls.
* Full rewrite of SharpGen, the core technology of SharpDX, a genuine C# code generator directly from C++ Headers using now gccxml. SharpGen is now able to parse all Windows headers!
--------------------------
Release Notes (2011-02-17)
--------------------------
Release SharpDX 1.3
* Bugfix #17 [D3D10] Texture2D.Map and Texture3D.Map were mapping incorrectly texture into memory
* Bugfix #18 [D3D10] Device and Device1 constructors were overriding any DriverType argument with DriverType.Hardware
* Bugfix #19 [D3D11] Some methods in ComputeShader.SetUnorderedAccessView were not handling correctly last parameter uavInitialCounts (must be filled of -1)
* Bugfix in Mono [Core] Mono sizeof<T> IL instruction was not working preventing all DataStream class and other marshal scenarios to work. The bugfix is now available in Mono 2.10 version!
* Enhancement [Core] MessagePump was renamed to RenderLoop class and rewritten in order to run under Mono.
--------------------------
Release Notes (2011-02-05)
--------------------------
Release SharpDX 1.2.2
* Bugfix [Core] MessagePump.Run was unstable while adding Mono support. Revert to previous code.
* Bugfix #16 [D3D10/D3D11] SetShaderResource/SetConstantBuffer/SetSampler didn't handle null correctly
* Bugfix #15 [DirectWrite] Constructor StrokeStyle(Factory factory, StrokeStyleProperties properties) was not working (need to pass null for dashes instead of float[0])
* Bugfix #12 [Core] TypeConverters are now working with Vector3,Vector4
--------------------------
Release Notes (2011-01-27)
--------------------------
Release SharpDX 1.2.1
* Bugfix #14 [Core] Interop.Read/Write was broken on 32bit system
--------------------------
Release Notes (2011-01-26)
--------------------------
Release SharpDX 1.2 - Happy new year!
* New [Core] SharpDX is now compatible with Mono! (Although, there is a bug in Mono that prevents to use directly Application.Idle and Winform for Direct3D rendering but could be addressed with another solution)
* Fix [Generator] Less verbose warning when documentation plugin is not available
* New [Generator] New native interop system without using any dynamic assembly. SharpDX interop is faster than previous version, easier to integrate with MonoLinker and Obfuscator.
* New [DirectWrite] New backport from Windows 7.0 SDK of the DirectWrite Custom Layout sample
* New [DirectWrite] ShapingGlyphProperties.Justification is now using enum ScriptJustify
* Issue#10 [Direct3D11 / Direct3D10 ] Bugfix on missing ImageInformation.FromFile() / FromMemory method.
* Issue#9 [DirectWrite] Various bugfix : TextAnalysisSource methods, GlyphRun marshalling, bitfields support.
* New [DirectWrite] Simplify interfaces TextAnalysisSource/TextAnalyzer.
* Fix [DirectWrite] Bugfix on DrawGlyphRun, ClientDrawingEffect, easier support for ClientDrawingContext.
* New [DirectWrite] Added new DirectWrite Color Drawing Effect sample based on Fadi Alsamman initial port.
* Fix [DirectSound] Bugfix on DirectSound.GetDevices() / DirectSoundCapture.GetDevice() to retrurn all elements
* New [DirectWrite] Added missing method FontFace.GetGlyphRunOutline
* New [DirectWrite] Added FontFace missing property on GlyphRun
--------------------------
Release Notes (2010-12-19)
--------------------------
Release SharpDX 1.1
* [Core] Upgrade SharpDX to support .Net Frameworks 2.0 / 3.5 / 4.0
* [Core] Add DataBuffer for read/write random access to unmanaged memory
* [Core] Add DataStream specialized typed Read and Write methods for faster access
* [Core] Bugfix on method DataStream.Read(byte[] buffer, int offset, int count)
* [Core] Add Component class for next Framework infrastructure. Cleanup AssemblyInfo.cs for all SharpDX assemblies.
* [D3DCompiler] Bugfix on D3D_COMPILE_ENABLE_.* flags that were missing
* [Direct3D10/11] Bugfix mapping correction for Direct3D11/Direct3D10.1 RenderBlendDescription.RenderTargetWriteMask is now using ColorWriteMaskFlags
* [Direct3D10/11] Bugfix D3D10/11_FILTER enums with correct naming (MIN abbreviation for Minification was wrongly automatically translated to Minimum)
* [Direct3D11] Make Direct3D11.Device.ImmediateContext released when Device is released.
* [DXGI] Bugfix on DXGI.Output.GetDisplayModeList, failed if no display mode exist for a given mode
* [DXGI] Bugfix enum DXGI.Usage to use [Flags].
* [Generator] Use a lightweight T4 engine implementation to remove T4 engine dependency
* [Generator] Refactoring of various class in order to prepare next Generator version
--------------------------
Release Notes (2010-11-30)
--------------------------
Release SharpDX 1.0
* Initial version.
* Supports for Direct3D10, Direct3D10.1, Direct3D11, Direct2D1, DirectWrite, D3DCompiler, DXGI 1.0, DXGI 1.1, DirectSound, XAudio2, XAPO.