This repo contains the Public Extensions for the MonoGame Content Pipeline developed by Infinitespace Studios. All code is under the MS-PL licence.
This processor is designed to allow Mac OS and Linux developers compile shaders on their platforms. It does this by using a remote service on a Windows machine to compile the shader. There are currently three options for using this Processor
- Use the default service at https://pipeline.infinfitespace-studios.co.uk. This is currrently free, but hosting is not free so if this option is popular a donation might be requested.
- Take the Azure service code and host your own :)
- User the RemoteEffectServier to host the service on a local windows box.
Options 2) and 3) will require the RemoteAddress , RemotePort and Protocol properties of the Processor to be set in order to contact the service.
If you want to use the default service
-
Open your project and find the Packages Folder. Right click and select Add Packages.
-
This will open the Nuget search Dialog. Search for "InfinitespaceStudios.Pipeline" and add the Package.
-
Once the package has been added. Open the Content.mgcb file in the Pipeline Editor.
-
Select the "Content" node and then find the References property in the property grid. Double click the References property to bring up the Add References Dialog.
-
Search for the "InfinitespaceStudios.Pipeline.dll" and Add it by clicking on the "Add" button. Note this should be located in the "packages\InfinitespaceStudios.Pipeline.X.X.X\Tools" folder. Once that is done, Save the Content.mgcb. Close it an re open it (there is a bug in the Pipeline Tool). The select the .fx file you want to change.
-
Select the Processor property and in the drop down you should see "Remote Effect Processor - Infinitespace Studios". Select this Item.
-
If you are using the defaults just Save the Content.mcgb. Close the Pipeline tool and Build and Run you app. It should compile without any issues. If there is a problem with the .fx file the error will be reported in the build log.
If you are using a Custom Azure site or the Local Service on a Windows box you can use the RemoteAddress , RemotePort and Protocol properties to change the location of the server. Valid Protocol values are "http" and "https" if you have a secured service. The RemoteAddress can be a CNAME or IP address.