treeform, that’s neither constructive nor original, I’m always getting the same answer whenever I ask in IRC about a directx problem. Funnily, when I ask about a OpenGL problem I don’t get “then don’t use OpenGL”, and when I ask about a Panda problem in general, I don’t get “then don’t use Panda”. (The same thing happens if the problem somehow involves Windows.) In any case, I guess I’ll answer it once so that next time it happens I can refer to this post.
One of the reasons I use an engine like panda rather than learning an API is because that way I have access to two APIs, not using one of them kinda defeats the point.
It’s silly to stop using something just because you encounter a problem, do you do this frequently in your daily life? I doubt it, because if you did so, then you’d have a lot of problems getting anything done. What I’m saying is, if there’s a simple fix to this problem that involves a day or two of work then it’s worth it for me to fix it at the gain of keeping compatibility with two APIs.
Why would I want DirectX to start with? I’ll give you three reasons, sorted in descending order of significance.
Very important: Fall-back mode for troubleshooting. Say there’s some bug in my game, in Panda, in the graphic drivers or in the SO related to one of the APIs, and most of the times unexpected bugs fall in this category. In this case it’s very useful for the user to be able to choose an API, because most of the times simply doing so will allow them to avoid that particular bug, so it eases support enormously. I can tell them “I’ll look into it, in the meantime, start the game in DirectX/OpenGL”.
Important: Xbox. If it isn’t much of a problem I’d like to be able to keep DX support, because that would make it easier to port my stuff to the xbox if I’m in a position to do so in the future.
Less important: DirectX works better than OpenGL in Windows, specially in Vista and 7. Better startup time (my game starts up in 0.1 seconds with DirectX), marginally better framerate in some situations, and it works much better with crappy drivers. But this is minor…
If what you are suggesting is that DirectX doesn’t work well with Panda so I shouldn’t use it, well… Then maybe we should stop advertising DirectX support as a feature on the Panda homepage, don’t you think?