I've been doing research in computer graphics for a while, mostly in C# using some DirectX wrapper (SlimDX, SharpDX). I've thinking to switch into C++ and OpenGL for a while, because I think DirectX is more suited to commercial applications, whereas OpenGL is more used in academic research, and of course in search for better performance. I also want to consider the impact of publishing research based on commercial vs. open source tools. What would be the ups and downs of this switch? Any other suggestion?