What are you actually trying to render?
For cross-platform, OpenGL is clearly, undoubtedly, the way to go. The problem with opengl that it doesn't take long for nontrivial things to take a really long time to implement.
I've personally used Ogre3d a lot, and love it.
I didn't realize earlier that winforms was available with Mono. Apparently Mono has winforms drivers for Linux, Windows, and Mac. Oversight on my part. Moonlight has been around for a couple years now and isn't beta anymore. Although the version they're on is 2.0 Preview, 2.0 stable shouldn't be much longer. Silverlight is available on Mac and there's no need for Moonlight there.
but how does it do performance wise? or compared to winforms?
1) Go WinForms, keep it simple, code it in such a way that you can swap out that layer for something based on another technology later, if it's worth the trouble to.
2) I messed with an early version of Ogre quite a while ago and it seemed pretty cool. Almost forgot about that.
Yeah, I'm conflicted too.
Does standard GDI+ not fit into this design?
Edit: I was wondering? How hard would it be to maket the front end have animated buttons? I know the skinning would be harder. Using flash is definatly not the answer, due to its performance on slower pc's
I guess a real question to start with is whats the minimum PC requirements? Everyone wants fast front ends. But without knowing the minimum PC speed, how do you judge what fast is. This is one of those projects where you throw better code to fix problems not better hardware. Most paid programmers i know like to just put in a faster CPU or more memory to fix problems.
So a graphics engine that runs on say 1GHZ CPU with integrated video should run at bearable speeds to the end user. Perferably run DVD video from inside the front end as well. I'm sure we can hunt down some free DVD decoder drivers. So i would say point out the minimum requirements so everyone coding knows what the software will be running on.
Also, like i said in another thread, .NET 3.5 a minimum requirement? 1GHZ? 512GB ram? on board video? opengl suport? 98/98SE/XP/Vista(32/64)/windows 7(32/64)?
Um, I guess this is where you put something witty.WITTY
My Web site, in the design stage. http://home.comcast.net/~cstrachn
Modified RRSkinEditor http://www.mp3car.com/vbulletin/rr-skins/65723-rrskineditor-bugs-fixes-comments-current-progress-outdated.html
It would hopefully be able to be built for both 32 and 64 bit.
So what am i aiming for - code it as fast as possible and see where you land. Every bit of code should be designed to execute as fast as possible even on slow hardware - with really only one exception I can think of (which may be what your referring to). That would be when it comes to the UI Rendering engine. When figuring out things like transitions and effects, the target hardware plays a huge part. On that note - the idea would be a rendering slider in the settings menu with a range from performance to appearance. With the slider all the way to performance, no effects are performed and this will be where we attain great performance even on slower systems.
With that done - we get the build out and let people test it out on different setups and use their feedback to establish a minimum requirement. Any hardware capable of maintaining 20fps with the slider on performance will be said to meet the minimum requirements. Any hardware capable of maintaining 20fps with the slider on appearance will be said to meet the recommended requirement.
As far as required software, etc. For now we will be saying .net 3.5 or the mono equivalent. Any os capable of running either of those frameworks should work. The aim is to have no dependencies outside the framework....however, should there need to be they will be included in the OS specific installer.
I would either do it using moonlight/silverlight, or clutter-sharp
Either one is going to be awesome and give you the cross-platform goodness you desire. Clutter is OpenGL powered and would probably run faster than moonlight. But moonlight may save you lines of code.
I think Clutter is a better way to go over pure OpenGL, but there may be other C# OpenGL toolkits out there...
Former author of LinuxICE, nghost, nobdy.
Current author of Automotive Message Broker (AMB).
Works on Tizen IVI. Does not represent anyone or anything but himself.
Some highlights if this works out:
- Multi-touch support
- fast rendering on every major platform
- UTF-8 Rendering for full multi-language support