Developing a small-ish game -- I have one Windows 10 pc and one Windows XP 64-bit SP3 pc. I'm keeping the XP one downgraded primarily to ensure that anything I write works correctly on older computers as well (so I know that other people with older computers could run it without issue)
In school we learned that you "should" write in a cross-platform way, i.e. use OpenGL if you don't want your game to be Windows-only. If it's OK that it's only for Windows, then D3D is fine.
I ended up using a couple (2 or 3) functions from Windows.h, but they are functions that aren't totally crucial, like ZeroMemory, so, I could replace/remove them. However, I understand that simply taking out all OS-dependent code isn't all you need to do to make your program cross-platform. In fact, from what I understand, Macs don't even run Exe's, they run something else equivalent to Exe's. I assume the same is for Linux, too.
I have only ever used Visual Studio/Notepad++ (and I'm using VS 2010 Express, but I have one or two other versions available, I just don't use them). How would I go about making a game that runs on both Windows and Mac, then? Do I need another IDE? Do I need a physical Mac? Do I need to buy any kind of license (for Mac tools)?