Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
It shouldn't be too hard, simply use Mono to build the port.
Depending on if you are using Raw D3D or middleware, depends on how much work to change rendering backends. (As well as if your code properly abstracts the rendering pipeline.)
It's pretty much the same stuff that has to be done to port to PS4, Wii U and Android.
As of how much work it really is top port, it really depends on your rendering middleware and how it's written. There are plenty of libraries to port lightweight rendering systems that will convert your context calls and shaders. Sometimes your shader handling software will port the shaders for you. Sometimes if you have substantial middleware it will have OpenGL output already and you won't have to worry about any of that.
To put it in english, the only thing that needs to be converted is the rendering layer.
Specifically, the models and textures can stay the same but the shaders need to be somehow converted to "GLSL" code or "ARB" bytecode format (there are plenty of Free Open Source utilities to do this, they may be built into your IDE depending on which one you use, and may be in the C# libraries you are using), and the handling of setting of command queues and framebuffers to the video card (context control) also needs to be adapted. (This may be in the C# rendering libraries you are using, so you may need to do nothing here either.)
Mono, is basically a ECMA CIL specification stack for other platforms (basically another implementation of the same standard as .Net). It includes drop in replacement libraries for almost all the standard .Net Foundation libraries, including XSP, if that is the middleware you are using. It also includes additional libraries of it's own which can be run on .Net (Most notably GTK# and a shim interface to the popular Cairo 2D rendering library.). It usually will run drop in replacement, although sometimes it will run into problems with coding bugs that didn't cause problems on .Net.
Thanks for explaining the situation, and let me know you are considering it.
Yeah, that's the situation of course....but it is an interesting topic.
They are generally considered a "desktop computing" compiler targets.
It does take some added work. Linux actually takes less work to target, contrary to popular belief. This is because it can often be built from a VM inside your Windows build machine (or visa versa) OS X does not have this option due to Apple's tight controls tying it's OS to it's hardware.
Both Linux and OS X do have the advantage of having high-profile technically adept users as a primary target, generally increasing the value of each customer when it comes to word of mouth advertising.
I can give you a list of companies that have the exemption for Mac and Linux already in their contracts:
Unreal 4, (UDK unfortunately does not), Havok, Unity3D, id and Source Engine platforms all don't have added fees for Mac and Linux. The modules markets from Unreal, Havok and Unity 3D all treat all desktop platforms as a unified license target. id and Source engine don't have such markets last I checked.
If you are unsure, just contact the devs.