   Visual C++ NET and DirectX: What the...??
  Hold your horses, men.I asked my professor about learning Win32 API and gradually learn DirectX 10, and he said:Quote:Stop whining about Win32 API, it sucks. For God's sakes, quit nagging on me.It was my fault for being pesky about it for the past 3 hours straight. My bad, sorry. :(Quote:If you want to learn DirectX, first, learn Visual C++.NET, then move up to DirectX. Win32 API is full of hard-to-read codes and blahblahblah, and might as well give up on using that.And so this leads to the question:What should I do? Start over? Does the Visual C++.NET support OpenGL? I mean, after trying to build up my skills in C++, what my professor quoted shattered them into tiny atomic-sized fragments.If C++.NET doesn't support OpenGL, what should I do!? This is the end of the world for me...My life, my purpose, gone!!Win32 API and DirectX are one and the same. They are hardcoded to the original version of C++, which Microsoft decided to give up on it.After realizing that Visual C++.NET is easier to read and easier to use DiectX for, I think I could figure out myself. But, the point is OpengGL.Visual C++.NET and DirectX, yes, they are related, in a way I felt O_o. I'm, really am suppose to do DirectX, or OpenGL in Visual C++.NET? Something like that...   
  Visual Studio (Visual C++.NET is the IDE, Version 7? I don't know) does support OpenGL. You can use the Win32 API or use a library that hides the details for you, like creating window, switching to fullscreen mode etc...Take a look at SDL or SFMLThe Win32 API can give you a headache but it doesn't hurt to learn the basics.   ;  The Win32 api isn't perfect, but all you'll likely do if you're focusing on learning DX10 is create a window and maybe do some filesystem or thread related things. It's not the end of the world.Besides, even if you would use OpenGL (which you can do fine in VStudio) you would still encounter the api.   ;  Or C# with OpenGL? Much easier and it will probably make your teacher very happy :)   ;  Don't take your prof's views on the topic too seriously.He surely has an edge when it comes to theory and academics, but in my experience practical knowhow has never inhabited the interior of university walls. Especially when it comes anywhere near game industry...   ;  C++ .Net? Or was he talking about C++/CLI? which is a difference... but you can use OpenGL/DX with both   ;Quote:Original post by qCringC++ .Net? Or was he talking about C++/CLI? which is a difference... but you can use OpenGL/DX with bothYes, it's C++.NET.   ;Quote:Original post by tom_mai78101Hold your horses, men.I asked my professor about learning Win32 API and gradually learn DirectX 10, and he said:Quote:Stop whining about Win32 API, it sucks. For God's sakes, quit nagging on me.It was my fault for being pesky about it for the past 3 hours straight. My bad, sorry. :(Quote:If you want to learn DirectX, first, learn Visual C++.NET, then move up to DirectX. Win32 API is full of hard-to-read codes and blahblahblah, and might as well give up on using that.And so this leads to the question:What should I do? Start over? Does the Visual C++.NET support OpenGL? I mean, after trying to build up my skills in C++, what my professor quoted shattered them into tiny atomic-sized fragments.If C++.NET doesn't support OpenGL, what should I do!? This is the end of the world for me...My life, my purpose, gone!!Win32 API and DirectX are one and the same. They are hardcoded to the original version of C++, which Microsoft decided to give up on it.After realizing that Visual C++.NET is easier to read and easier to use DiectX for, I think I could figure out myself. But, the point is OpengGL.Visual C++.NET and DirectX, yes, they are related, in a way I felt O_o. I'm, really am suppose to do DirectX, or OpenGL in Visual C++.NET? Something like that...What the hell are you talking about? Both you and your professor need to chill out and take a dose of reality.For your professor's part, it's true that Win32 is a bit of a mess and its a C-API in what has largely become a C++ world, but the same could be said of OpenGL, which also has a C interface. In any event, no professor with half a brain should be telling you that *any* API is worthless -- certainly not the native interface to the worlds most popular operating system. That said, there are lots of other GUI toolkits (wxWidgets, WinForms for Managed code, others) and you shouldn't be hung up on Win32 -- if the course isn't geared to teach it, then its only going to annoy the professor if you keep harping on about it.Now, you have some big misunderstandings to clear up yourself --Firstly, C++ is a language, nothing more or less. There is no such "language" as "Visual C++", ".Net" or otherwise. Visual C++ is a GUI and related tools for C++ development -- originally it was a separate product, but now when you hear Visual C++ people generally mean the C++-geared parts of Visual Studio, unless they're talking about Express.OpenGL, DirectX, and even Win32 are no more tied to "Visual C++" than any other library, which is exactly what they are after all. DirectX and Win32 are tied to the Windows platform, true, but that's completely orthagonal to C++. They certainly aren't hard-coded into anything -- in fact, the main philosophy behind the C++ language is to include as little as possible in the core language itself -- which is why even strings and all the important data structures come in the standard library, rather than being built into the language, as many (possibly most?) languages do.You also seem to be confused about the difference between native code and managed code (.Net runtime code), and their imagined relationship to Visual C++ and this Visual C++ .Net you keep talking about. "Visual C++ .net", the product, was merely an attempt to brand Visual C++ with .net, which, for some reason, was Microsoft's big branding push shortly after the year 2000 -- I'm suprised they didn't go whole-hog and do everything -- WindowsXP.Net, Hotmail.Com.Net -- and this created a lot of confusion. "Visual C++ .Net" contained the necessary tools to create both managed and unmanaged code, just as all subsequent versions (which dropped the ".net" portion of their moniker) also include.   ;  Oh...I'm just lost in words.   