MS API Code Pack - Will it support future versions of DirectX? - directx

I'm working on deciding between Managed DirectX (through MS API Codepack), SlimDX library (managed wrapper for DirectX), XNA (managed wrapper++ for Directx9 only), or unmanaged Directx (20%+ extra development time).
So, the MS API Codepack interests me, because it has support for DirectX. However, I get a feeling that they might not support future versions with the Codepack. My thinking is that they just wanted something to support the version of DirectX that ships with Windows 7.
Is MSI API Code Pack DirectX functionality going to be updated as DirectX progresses?
Thanks

There is no way to know this.
However, I will say, I've been using SlimDX for a while now, and it's very, very well thought out. The advantage there vs. the other options I've tried, include:
Support for DirectX 9, 9Ex, 10, and 11
Clean API - Very easy to port from DirectX samples, but still feels more like .NET
32 and 64 bit native versions
Kept very up to date with DX SDK releases (usually within a couple of weeks of a new SDK, there's a new SlimDX version)
The Windows API code pack has a nice wrapper included, but is problematic for me since it's DX10+ only, so no XP support.

Related

Is there a way to use DirectX 11 in Windows 7?

I was trying to start to learn programming in DirectX 11, but I'm still using Windows 7 OS. My IDE is Visual Studio Community 2019 and I've tried to create a DirectX 11 project, but I got the error message saying that I need to upgrade my system to Windows 10 to be able to use this feature. I've downloaded Microsoft Development Kit, SDK and another extensions VS offered to me thinking it would actually work, but it didnt. I'm sorry if this seems a silly question, but I'm new on this and I would find it a great help if someone is able to tell me what I'm doing wrong or if there is really not other way to program in DirectX 11 on windows 7.
As noted by Simon in the comments, the "DirectX" templates built-in to VS 2019 are for Universal Windows Platform (UWP) apps only which requires Windows 10.
I maintain a number of similar templates for UWP and Win32 for DirectX 11 & DirectX 12 on GitHub.
Windows 7 supports DirectX 11.0.
Windows 7 can support DirectX 11.1 "software features" but not "hardware features" with KB2670838. Basically this means you won't get D3D_FEATURE_LEVEL_11_1. See Microsoft Docs. Most any Windows 7 system that's updated from Windows Update should have it.
My Win32 templates assume you have DirectX 11.1 these days. For the details on handling DirectX 11.0, see this blog post.
VS 2019 can support targeting Windows 7 Service Pack 1 for Win32 desktop development. Officially Windows 7 RTM is not supported.
VS 2019 comes with the Windows 10 SDK which includes everything you need for basic Direct3D 11 system headers and libraries. You do not need the legacy DirectX SDK at all. That said, if your learning materials still reference legacy stuff like D3DX11, you can install it but beware there are some special setup details. See Microsoft Docs.
For XAudio2 on Windows 7 SP1, use the XAudio2Redist instead of the legacy DirectX SDK. For XInput, you can use the basic XInput 9.1.0 which is built-in to Windows 7.
You may want to take a look at the DirectX Tool Kit tutorials.

DXUT GetVersionEx error

I'm learning dx11 and I have been trying to import 3D models into my little game, I have been trying to copy the import method from the DX11 HLSL sample, so I copied the DXUT folder into my project, but for some reason It's giving me an that 'GetVersionEx' is depraciated. I am a begginer programmer, I looked into the problem and apparentl I should be using 'VerifyVersionInfo' I looked at examples but I don't know how to use them to fix it using that.
And I'm wondering why is this error is not coming up when I try to run the Sample.
The first thing to know is that the venerable DirectX SDK has been deprecated, and as you are using VS 2013 or VS 2015 based on the warning you are getting, you already have the Windows 8 SDK which has most of what you need to get started. See MSDN for more information, and take a look at this post and this post.
The warning you are getting from VS 2013/2015 about GetVersionEx is an unrelated but important issue. The fact that you are seeing it when building DXUT from the legacy DirectX SDK is because that code hasn't been updated since VS 2010 was shipped. See MSDN and this post.
You have a number of options for getting utility code for Direct3D 11.
The latest version of DXUT can be found at GitHub. This version does not require the legacy DirectX SDK to build and works with VS 2013 and VS 2015. For more on why you might or might not want to use DXUT can be found here.
Similarly the latest version of Effects for Direct3D 11 is on GitHub, and again works on VS 2013 / 2015. More information and a number of important disclaimers can be found here.
If you are starting fresh, I recommend you avoid using DXUT or FX11, and instead focus on using the DirectX Tool Kit. See the tutorials for it including the Rendering a model lesson.
For model and texture processing, you should see the DirectXMesh, DirectXTex, and Content Exporter projects.

DirectX SDK / VS2013 SDK setup

I am a beginning programmer university student and I want to apply myself outside of class with a side project. I wanted to start programming some simple directX stuff in C++ for practice and preparation for future classes.
However, I have Visual Studios 2013 installed and the DirectX SDK June version installed, and I can't seem to find any directX templates in visual studios. In tutorials I have watched, when a person goes into visual studios 2013 and clicks on "Visual C++", they have a lot more templates show up, including DirectX ones.
What step am I missing to be able to see these things in my Visual Studios 2013 professional?
Thank you in advance for the help!
There is no built-in templates for desktop DirectX, since you have installed the DirectX SDK, I recommend you use the Samples/Demos from the SDK(you can find it from DirectX Sample Browser), there is a sample called Empty Project, you can install that sample and write your code based on it.
There are only templates for DirectX Windows Store Apps. I cannot remember if it ever was DirectX Desktop templates in Visual Studio.
On a picture here you can see two default DirectX Windows Store Apps templates and new templates which you can to download.
Probably, in your tutorial there are some home made templates, or those which can be fond on a web. You can easily make your own template too.
If you really want to learn program for Desktop (and as you are trying to use DirectX SDK it is probably what you want), just follow the code that you can find in books and tutorials. Also it is a good idea not to copy any code, but to start your own projects(s) which will develop as long as you will develop your knowledge.
Note, that DirectX SDK was deprecated a while ago (latest version is dating June 2010). You must use Windows SDK for any new code. Though, you can compile old samples (which requires stuff not present in new SDK) with DirectX SDK. You could find interesting some of Q&A on that topic:
DirectX SDK vs Windows SDK: which one to use?
Working with Direct X and VS2012
and this blog on MSDN by Chuck Walbourn - MSFT :
Where is the DirectX SDK?
Where is the DirectX SDK (2013 Edition)?
Living without D3DX
Happy coding! ;)

Is it possible to integrate Lua to Delphi and run on windows phone

I have a Mac app needs to migrate to windows. The app was created using objc and Lua.
I use Delphi to develop app for Windows.
Is it possible to integrate Lua to Delphi in and develop for windows phone7?
Welcome any comment
Thanks
To answer your first question, YES you can use Lua in Delphi. Simon J. Stuart has an incredible blog/website where he has created a number of really useful stuff for Delphi developers. His Lua4Delphi suite will help you integrate Lua scripting into your Windows application. Go to: http://www.lakraven.com/ or http://www.simonjstuart.com to check out the rest of Simon's stuff ... highly recommended!
With regards to the second part of your question (writing a Delphi app for WP7), that would be NO ... you're out of luck there (as Mason mentioned above).
It's definitely possible to integrate Lua with Delphi, but good luck getting it to run on Windows Phone 7. WP7 will only run apps built in the Silverlight or XNA frameworks.
Windows Phone 7 is not possible now, and is not likely to be possible in the near future, using Delphi, or even with Delphi Prism. Key elements of Microsoft's WP7 SDK are limited to the two current .NET core languages (C# and Vb.net). If Microsoft decided to help out remObjects a little bit, then a delphi Prism targetting Windows Phone 7 could become a possibility, but that is out of RemObject's hands, and its unlikely that Microsoft will be interested in helping them join in on the WP7 platform. Perhaps with sufficient engineering dollars, someone could figure out a way to force their way into the WP7 SDK.
Lua is a pretty simple C library, and it should be possible to put it into a DLL and load it into your delphi program. You could write your application in windows, with delphi, and use LUA scripting, and if you find a .NET "lua interpreter", like LUA.net, you might investigate integrating that into a WP7 app that you wrote entirely in C#.

Can I use Delphi or C++Builder for Windows Mobile 6.1 Development?

I'm curious about what it takes to program for mobile devices (Windows Mobile 6.1) and if I can use the IDE's we're already used to (RAD Studio 2009).
Is there a Mobile Development Community around where Delphi or C++Builder users can learn from?
Are there differences in development techniques, like: Drivers, Memory Limits, Device Specific Considerations and others?
Links to Documentation and Tutorials are always awesome!
Thanks!
You can do Compact Framework development in Delphi.NET (Prism?) but not natively in 2009.
It was a hot topic in the community a few years ago when I was involved, and it basically came down to resources, cost of implementation and potential license fees that made it not worth doing for Borland (as they were at the time).
That may have changed now, but reading the 2009 feature sheet it appears not...
Edit: It appears there is no designer support for CF in Prism.
If you prefer using Pascal you can use FreePascal to develop for Windows Mobile 6.1

Resources