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.
Related
Environment: Windows 10 (fresh install), using Monogame 3.6 (same goes for 3.5 for this matter) on DirectX projects.
Problem: I can’t hear any sound effect unless I reinstall DirectX.
Before reinstalling DirectX, there is no exception or status information I could use to trace why the sound is not audible. After reinstalling, it just works. Same code, even same binary.
I don’t want my users to have to reinstall DX. This will be awkward as Win10 comes with DX pre-installed.
So I wonder if someone knows which additional DX libraries I may include in project folder so that the sound effects are audible without reinstalling DX?
It's important to understand that you cannot "Install DirectX" on Windows 10 or any version of Windows back to Windows XP Service Pack 2. The DirectX End-User Runtime package (a.k.a DXSETUP) doesn't actually install Direct3D, DirectPlay, DirectSound, etc. It doesn't even include the CABs needed to install DirectX on older versions of Windows.
Not So Direct Setup
The version of "DirectX" installed is only ever updated via Windows Update, installing a new version of Windows, or some kind of Service Pack. Windows 10 includes all supported components of DirectX 9.0c, DirectX 10.x, DirectX 11.x, and DirectX 12.0 as part of the OS.
Direct3D 11 Deployment for Game Developers
What the DirectX End-User Runtime package does install is the various legacy side-by-side helper components: D3DX9, D3DX10, D3DX12, XAUDIO2.7 or earlier, XINPUT 1.3 or earlier, XACTENGINE, and the legacy Managed DirectX 1.1 assemblies. That's it. Furthermore, it installs about 100 MB of these things including every version that has ever shipped for both x86 and x64, which means your game is never going to use most of them. Likely Monogame is set up to use XAudio 2.7 which is the last version of XAudio to support Windows 7. As such, it needs just a handful of CABs from DXSETUP.
KB179113: How to install the latest version of DirectX
XAudio2 and Windows 8
Finally, the DXSETUP files that shipped in the end-of-life DirectX SDK (June 2010) are actually not the latest version of the DirectX End-User Runtime. I fixed a number of bugs in an online only April 2011 refresh.
DXSETUP Update
Anybody know if delphi xe7 compatible with windows 10?
Embarcadero says that XE8 is compatible. But tells nothing about XE7.
Yes, you can install XE7 on Windows 10, and the executables that it produces are compatible with Windows 10.
Embarcadero have been producing a lot of marketing recently that implies that you need XE8 to do Windows 10 development. Truth be told, you can use any version of Delphi beyond Delphi 1. Of course the newer versions make life easier, and clearly you need XE2 or later to target 64 bit executables.
So far as I can see, the only Windows 10 specific feature that is offered with XE8 is a Windows 10 style. That was what I took from a conversation with Marco Cantú on the subject. I guess that would be useful for FMX targets. If you are targeting classic VCL apps, and use the standard system theme, then this is of no interest. There's no point at all in faking the system style when you can let the system give you the true style. My old Delphi 6 applications, built with Mike Lischke's theme manager code, look and feel on Windows 10 identical to an application built with XE8.
Although Embarcadero says that XE8 is compatible with Windows 10, I'm unable to install or load our existing bpl projects using XE8 with Windows 10.
I moved to XE8 because our projects wouldn't build with Windows 10 using XE4.
You can install and run Delphi XE7 on a Windows 10 machine. And of course you can compile your projects on Windows 10.
But there were no enhancements made in the VCL or FireMonkey towards the new operating system. There is no official support for Windows 10. Your applications may not look and feel 100% like other applications do on Windows 10. But they can still be run as long as long as they don't use any old API that is no longer supported on Windows 10.
You can install and run Delphi XE7 on a Windows 10 machine.
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! ;)
I want to make a application for windows phone 8 OS in delphi 2010.
Delphi does not target Windows Phone. At the moment, as of XE5, Delphi targets:
Desktop Windows, x86 and x64 (not WinRT)
Mac OSX, x86
iOS
Android (ARM)
There is no support for Windows Phone and to the best of my knowledge, none is in the offing. The Delphi cross-platform strategy is based on FireMonkey and that's not easy to take to Windows Phone.
As for Delphi 2010, that supports but a single platform: desktop Windows x86.
If you want to use Pascal to make Windows Phone apps then Oxygene from RemObjects is what you need. If that's not attractive to you then the MS tooling based on C# is the most obvious option that remains.
Simply you can't. You need to use the Windows Phone SDK which only works with Visual Studio.
If you install the SDK, you get a free Visual Studio Express for Windows Phone, who you can use to develop any type of app (free or not)
Is it possible to use Delphi XE5 or RAD Studio XE5 to create apps for Windows 8 RT (ARM based tablets) and Windows Phone 8, using the same code (Firemonkey) as for Android and iOS?
I searched Embarcadero's website on windows development but it goes a long way to avoid mentioning Windows 8 RT and Windows Phone 8. It states that
Your apps will run on Windows desktops and x86 based tablets with Intel and Intel Atom hardware such as Microsoft Surface Professional, Slate tablets from HP, Asus and others, as well as AMD processor based tablets from Acer, Samsung and more.
Does this mean that Windows 8 RT and Windows Phone 8 are not supported by Delphi/RAD Studio XE5?
Delphi XE5 cannot produce apps that run on WinRT or Win Phone 8.
Work is being done on Windows ARM/RT, Linux Server, TBD.
Take a look Embarcadero RAD Studio Roadmap
http://edn.embarcadero.com/article/42544
To confirm David's accepted answer, I just received a response from Embarcadero support:
Yes, you are correct we DO NOT support Win8 RT or WinPhone8 with Firemonkey. We have not seen a huge demand for these platforms, if there is an increase in demand they might be support, but at the moment we are not supporting them sorry.
So it does not sound like they have any plans to support those platforms in the near future.