I've given some thought this week to what platform I'm going to utilise for my project's application and I've decided to go with DirectX rather than XNA or OpenGL. To help me decide, I made a small note of the pros and cons that concerned me for each platform.
OpenGL: I'm familiar with the API, having used it in both second and third year and it's a good platform for graphics applications. However, I intend to use shaders in my application and the shader support in OpenGL is not great. There is no error checking in glsl shaders, it's more a case of going through the shader line by line until you find the line that caused the problem. In general, I am far more comfortable with HLSL than GLSL and I think that using GLSL would only cause more stress.
XNA: XNA has great shader support and error checking, and C# is close enough to C++ to be easily learnt. However, I'm not too comfortable with all aspects of the API, mainly because my previous experience with it was as part of a group, so most of the framework I were using was constructed by other people - (my main focus there was the shaders).
DirectX: Good shader support (not as good as XNA when it comes to error checking but not bad) and I'm quite familar with the API. I will be able to reference some aspects of the framework from my third year directx coursework. I think that really, DirectX is the middle ground, between OpenGL and XNA.
(Hopefully I won't change my mind about this.)
No comments:
Post a Comment