Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
144 changes: 144 additions & 0 deletions Tutorials/2dShaders/AllChapters.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "02-Hot-Reload-System", "02-Hot-Reload-System", "{5C8ECEB8-3113-41E1-9F86-CD33F50E900C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\02-Hot-Reload-System\MonoGameLibrary\MonoGameLibrary.csproj", "{53F894E0-1907-4EAE-A72D-A31D09D6912A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\02-Hot-Reload-System\DungeonSlime\DungeonSlime.csproj", "{632223D1-6067-40DB-9F2D-301621574301}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "03-The-Material-Class", "03-The-Material-Class", "{A959F3EE-A738-DA1E-8657-F797276622F9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\03-The-Material-Class\DungeonSlime\DungeonSlime.csproj", "{47ABB502-5EB7-4676-AC44-57466F64EA86}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\03-The-Material-Class\MonoGameLibrary\MonoGameLibrary.csproj", "{2712BAA4-87E6-4243-9798-A0747AFEEF53}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04-Debug-UI", "04-Debug-UI", "{8CCC4EC4-B284-4ECF-9C08-958C770F3259}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\04-Debug-UI\DungeonSlime\DungeonSlime.csproj", "{7F741013-A83D-4755-BF7F-CA7FE1D0D834}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\04-Debug-UI\MonoGameLibrary\MonoGameLibrary.csproj", "{5C713E76-6394-4D2B-913F-180ECD5FA4CF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "05-Transition-Effect", "05-Transition-Effect", "{31C31A95-F2DE-4879-B6BB-2A5EBACDE187}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\05-Transition-Effect\DungeonSlime\DungeonSlime.csproj", "{137FADC7-AFEF-41D3-9492-58E734982D38}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\05-Transition-Effect\MonoGameLibrary\MonoGameLibrary.csproj", "{38651908-A22C-4589-A884-07B09EAAF489}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "06-Color-Swap-Effect", "06-Color-Swap-Effect", "{77792598-E7A1-4C95-BC0B-49EBBEB0C4C7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\06-Color-Swap-Effect\MonoGameLibrary\MonoGameLibrary.csproj", "{1EA33E74-FB01-42D8-9922-182CBC2F3936}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\06-Color-Swap-Effect\DungeonSlime\DungeonSlime.csproj", "{0CF4EC16-238F-407C-9472-63EFF6C40CCC}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "07-Sprite-Vertex-Effect", "07-Sprite-Vertex-Effect", "{23616150-B165-4CFE-BC26-44ED64DE0565}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\07-Sprite-Vertex-Effect\MonoGameLibrary\MonoGameLibrary.csproj", "{1DC76E50-88F5-4ACC-9DF7-4353D5C4AA5F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\07-Sprite-Vertex-Effect\DungeonSlime\DungeonSlime.csproj", "{7AE4D6EA-583E-4046-B94C-0860CDDEBE5D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "08-Light-Effect", "08-Light-Effect", "{B43F0FC2-1923-4FFA-9E82-D8814BF3F974}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\08-Light-Effect\MonoGameLibrary\MonoGameLibrary.csproj", "{5671DA7C-B84C-4672-8ED7-766C43BE35F1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\08-Light-Effect\DungeonSlime\DungeonSlime.csproj", "{DBFBD5B7-BAC6-42D7-BFA5-70C4AB6F6F14}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "09-Shadows-Effect", "09-Shadows-Effect", "{BB01A8A7-B315-4E08-8A6F-2C49335FDF03}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\09-Shadows-Effect\MonoGameLibrary\MonoGameLibrary.csproj", "{D5D9227B-DB9A-4FC2-8D74-BA3C310105D5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\09-Shadows-Effect\DungeonSlime\DungeonSlime.csproj", "{811AC0B0-0858-4387-96D2-60D842299F68}"
EndProject

Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{53F894E0-1907-4EAE-A72D-A31D09D6912A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{53F894E0-1907-4EAE-A72D-A31D09D6912A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{53F894E0-1907-4EAE-A72D-A31D09D6912A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{53F894E0-1907-4EAE-A72D-A31D09D6912A}.Release|Any CPU.Build.0 = Release|Any CPU
{632223D1-6067-40DB-9F2D-301621574301}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{632223D1-6067-40DB-9F2D-301621574301}.Debug|Any CPU.Build.0 = Debug|Any CPU
{632223D1-6067-40DB-9F2D-301621574301}.Release|Any CPU.ActiveCfg = Release|Any CPU
{632223D1-6067-40DB-9F2D-301621574301}.Release|Any CPU.Build.0 = Release|Any CPU
{7F741013-A83D-4755-BF7F-CA7FE1D0D834}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7F741013-A83D-4755-BF7F-CA7FE1D0D834}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7F741013-A83D-4755-BF7F-CA7FE1D0D834}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7F741013-A83D-4755-BF7F-CA7FE1D0D834}.Release|Any CPU.Build.0 = Release|Any CPU
{5C713E76-6394-4D2B-913F-180ECD5FA4CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5C713E76-6394-4D2B-913F-180ECD5FA4CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5C713E76-6394-4D2B-913F-180ECD5FA4CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5C713E76-6394-4D2B-913F-180ECD5FA4CF}.Release|Any CPU.Build.0 = Release|Any CPU
{47ABB502-5EB7-4676-AC44-57466F64EA86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{47ABB502-5EB7-4676-AC44-57466F64EA86}.Debug|Any CPU.Build.0 = Debug|Any CPU
{47ABB502-5EB7-4676-AC44-57466F64EA86}.Release|Any CPU.ActiveCfg = Release|Any CPU
{47ABB502-5EB7-4676-AC44-57466F64EA86}.Release|Any CPU.Build.0 = Release|Any CPU
{2712BAA4-87E6-4243-9798-A0747AFEEF53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2712BAA4-87E6-4243-9798-A0747AFEEF53}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2712BAA4-87E6-4243-9798-A0747AFEEF53}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2712BAA4-87E6-4243-9798-A0747AFEEF53}.Release|Any CPU.Build.0 = Release|Any CPU
{137FADC7-AFEF-41D3-9492-58E734982D38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{137FADC7-AFEF-41D3-9492-58E734982D38}.Debug|Any CPU.Build.0 = Debug|Any CPU
{137FADC7-AFEF-41D3-9492-58E734982D38}.Release|Any CPU.ActiveCfg = Release|Any CPU
{137FADC7-AFEF-41D3-9492-58E734982D38}.Release|Any CPU.Build.0 = Release|Any CPU
{38651908-A22C-4589-A884-07B09EAAF489}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{38651908-A22C-4589-A884-07B09EAAF489}.Debug|Any CPU.Build.0 = Debug|Any CPU
{38651908-A22C-4589-A884-07B09EAAF489}.Release|Any CPU.ActiveCfg = Release|Any CPU
{38651908-A22C-4589-A884-07B09EAAF489}.Release|Any CPU.Build.0 = Release|Any CPU
{1EA33E74-FB01-42D8-9922-182CBC2F3936}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1EA33E74-FB01-42D8-9922-182CBC2F3936}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1EA33E74-FB01-42D8-9922-182CBC2F3936}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1EA33E74-FB01-42D8-9922-182CBC2F3936}.Release|Any CPU.Build.0 = Release|Any CPU
{0CF4EC16-238F-407C-9472-63EFF6C40CCC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0CF4EC16-238F-407C-9472-63EFF6C40CCC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0CF4EC16-238F-407C-9472-63EFF6C40CCC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0CF4EC16-238F-407C-9472-63EFF6C40CCC}.Release|Any CPU.Build.0 = Release|Any CPU
{1DC76E50-88F5-4ACC-9DF7-4353D5C4AA5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1DC76E50-88F5-4ACC-9DF7-4353D5C4AA5F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1DC76E50-88F5-4ACC-9DF7-4353D5C4AA5F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1DC76E50-88F5-4ACC-9DF7-4353D5C4AA5F}.Release|Any CPU.Build.0 = Release|Any CPU
{7AE4D6EA-583E-4046-B94C-0860CDDEBE5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7AE4D6EA-583E-4046-B94C-0860CDDEBE5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7AE4D6EA-583E-4046-B94C-0860CDDEBE5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7AE4D6EA-583E-4046-B94C-0860CDDEBE5D}.Release|Any CPU.Build.0 = Release|Any CPU
{5671DA7C-B84C-4672-8ED7-766C43BE35F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5671DA7C-B84C-4672-8ED7-766C43BE35F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5671DA7C-B84C-4672-8ED7-766C43BE35F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5671DA7C-B84C-4672-8ED7-766C43BE35F1}.Release|Any CPU.Build.0 = Release|Any CPU
{DBFBD5B7-BAC6-42D7-BFA5-70C4AB6F6F14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DBFBD5B7-BAC6-42D7-BFA5-70C4AB6F6F14}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DBFBD5B7-BAC6-42D7-BFA5-70C4AB6F6F14}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DBFBD5B7-BAC6-42D7-BFA5-70C4AB6F6F14}.Release|Any CPU.Build.0 = Release|Any CPU
{D5D9227B-DB9A-4FC2-8D74-BA3C310105D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D5D9227B-DB9A-4FC2-8D74-BA3C310105D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D5D9227B-DB9A-4FC2-8D74-BA3C310105D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D5D9227B-DB9A-4FC2-8D74-BA3C310105D5}.Release|Any CPU.Build.0 = Release|Any CPU
{811AC0B0-0858-4387-96D2-60D842299F68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{811AC0B0-0858-4387-96D2-60D842299F68}.Debug|Any CPU.Build.0 = Debug|Any CPU
{811AC0B0-0858-4387-96D2-60D842299F68}.Release|Any CPU.ActiveCfg = Release|Any CPU
{811AC0B0-0858-4387-96D2-60D842299F68}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{53F894E0-1907-4EAE-A72D-A31D09D6912A} = {5C8ECEB8-3113-41E1-9F86-CD33F50E900C}
{632223D1-6067-40DB-9F2D-301621574301} = {5C8ECEB8-3113-41E1-9F86-CD33F50E900C}
{7F741013-A83D-4755-BF7F-CA7FE1D0D834} = {8CCC4EC4-B284-4ECF-9C08-958C770F3259}
{5C713E76-6394-4D2B-913F-180ECD5FA4CF} = {8CCC4EC4-B284-4ECF-9C08-958C770F3259}
{47ABB502-5EB7-4676-AC44-57466F64EA86} = {A959F3EE-A738-DA1E-8657-F797276622F9}
{2712BAA4-87E6-4243-9798-A0747AFEEF53} = {A959F3EE-A738-DA1E-8657-F797276622F9}
{137FADC7-AFEF-41D3-9492-58E734982D38} = {31C31A95-F2DE-4879-B6BB-2A5EBACDE187}
{38651908-A22C-4589-A884-07B09EAAF489} = {31C31A95-F2DE-4879-B6BB-2A5EBACDE187}
{1EA33E74-FB01-42D8-9922-182CBC2F3936} = {77792598-E7A1-4C95-BC0B-49EBBEB0C4C7}
{0CF4EC16-238F-407C-9472-63EFF6C40CCC} = {77792598-E7A1-4C95-BC0B-49EBBEB0C4C7}
{1DC76E50-88F5-4ACC-9DF7-4353D5C4AA5F} = {23616150-B165-4CFE-BC26-44ED64DE0565}
{7AE4D6EA-583E-4046-B94C-0860CDDEBE5D} = {23616150-B165-4CFE-BC26-44ED64DE0565}
{5671DA7C-B84C-4672-8ED7-766C43BE35F1} = {B43F0FC2-1923-4FFA-9E82-D8814BF3F974}
{DBFBD5B7-BAC6-42D7-BFA5-70C4AB6F6F14} = {B43F0FC2-1923-4FFA-9E82-D8814BF3F974}
{D5D9227B-DB9A-4FC2-8D74-BA3C310105D5} = {BB01A8A7-B315-4E08-8A6F-2C49335FDF03}
{811AC0B0-0858-4387-96D2-60D842299F68} = {BB01A8A7-B315-4E08-8A6F-2C49335FDF03}
EndGlobalSection
EndGlobal
28 changes: 28 additions & 0 deletions Tutorials/2dShaders/src/02-Hot-Reload-System/DungeonSlime.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "DungeonSlime\DungeonSlime.csproj", "{88BD3FF9-D3D6-4680-A274-F866E0DFCAC4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "MonoGameLibrary\MonoGameLibrary.csproj", "{AB85CEEE-6D97-4438-AEC4-797D2806F44A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{88BD3FF9-D3D6-4680-A274-F866E0DFCAC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{88BD3FF9-D3D6-4680-A274-F866E0DFCAC4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{88BD3FF9-D3D6-4680-A274-F866E0DFCAC4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{88BD3FF9-D3D6-4680-A274-F866E0DFCAC4}.Release|Any CPU.Build.0 = Release|Any CPU
{AB85CEEE-6D97-4438-AEC4-797D2806F44A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AB85CEEE-6D97-4438-AEC4-797D2806F44A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AB85CEEE-6D97-4438-AEC4-797D2806F44A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AB85CEEE-6D97-4438-AEC4-797D2806F44A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"version": 1,
"isRoot": true,
"tools": {
"dotnet-mgcb": {
"version": "3.8.3",
"commands": [
"mgcb"
]
},
"dotnet-mgcb-editor": {
"version": "3.8.3",
"commands": [
"mgcb-editor"
]
},
"dotnet-mgcb-editor-linux": {
"version": "3.8.3",
"commands": [
"mgcb-editor-linux"
]
},
"dotnet-mgcb-editor-windows": {
"version": "3.8.3",
"commands": [
"mgcb-editor-windows"
]
},
"dotnet-mgcb-editor-mac": {
"version": "3.8.3",
"commands": [
"mgcb-editor-mac"
]
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@

#----------------------------- Global Properties ----------------------------#

/outputDir:bin/$(Platform)
/intermediateDir:obj/$(Platform)
/platform:DesktopGL
/config:
/profile:Reach
/compress:False

#-------------------------------- References --------------------------------#


#---------------------------------- Content ---------------------------------#

#begin audio/bounce.wav
/importer:WavImporter
/processor:SoundEffectProcessor
/processorParam:Quality=Best
/build:audio/bounce.wav

#begin audio/collect.wav
/importer:WavImporter
/processor:SoundEffectProcessor
/processorParam:Quality=Best
/build:audio/collect.wav

#begin audio/theme.ogg
/importer:OggImporter
/processor:SongProcessor
/processorParam:Quality=Best
/build:audio/theme.ogg

#begin audio/ui.wav
/importer:WavImporter
/processor:SoundEffectProcessor
/processorParam:Quality=Best
/build:audio/ui.wav

#begin effects/grayscaleEffect.fx
/importer:EffectImporter
/processor:EffectProcessor
/processorParam:DebugMode=Auto
/build:effects/grayscaleEffect.fx

#begin fonts/04B_30_5x.spritefont
/importer:FontDescriptionImporter
/processor:FontDescriptionProcessor
/processorParam:PremultiplyAlpha=True
/processorParam:TextureFormat=Compressed
/build:fonts/04B_30_5x.spritefont

#begin fonts/04b_30.fnt
/copy:fonts/04b_30.fnt

#begin fonts/04B_30.spritefont
/importer:FontDescriptionImporter
/processor:FontDescriptionProcessor
/processorParam:PremultiplyAlpha=True
/processorParam:TextureFormat=Compressed
/build:fonts/04B_30.spritefont

#begin images/atlas-definition.xml
/copy:images/atlas-definition.xml

#begin images/atlas.png
/importer:TextureImporter
/processor:TextureProcessor
/processorParam:ColorKeyColor=255,0,255,255
/processorParam:ColorKeyEnabled=True
/processorParam:GenerateMipmaps=False
/processorParam:PremultiplyAlpha=True
/processorParam:ResizeToPowerOfTwo=False
/processorParam:MakeSquare=False
/processorParam:TextureFormat=Color
/build:images/atlas.png

#begin images/background-pattern.png
/importer:TextureImporter
/processor:TextureProcessor
/processorParam:ColorKeyColor=255,0,255,255
/processorParam:ColorKeyEnabled=True
/processorParam:GenerateMipmaps=False
/processorParam:PremultiplyAlpha=True
/processorParam:ResizeToPowerOfTwo=False
/processorParam:MakeSquare=False
/processorParam:TextureFormat=Color
/build:images/background-pattern.png

#begin images/logo.png
/importer:TextureImporter
/processor:TextureProcessor
/processorParam:ColorKeyColor=255,0,255,255
/processorParam:ColorKeyEnabled=True
/processorParam:GenerateMipmaps=False
/processorParam:PremultiplyAlpha=True
/processorParam:ResizeToPowerOfTwo=False
/processorParam:MakeSquare=False
/processorParam:TextureFormat=Color
/build:images/logo.png

#begin images/tilemap-definition.xml
/copy:images/tilemap-definition.xml

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#if OPENGL
#define SV_POSITION POSITION
#define VS_SHADERMODEL vs_3_0
#define PS_SHADERMODEL ps_3_0
#else
#define VS_SHADERMODEL vs_4_0_level_9_1
#define PS_SHADERMODEL ps_4_0_level_9_1
#endif

Texture2D SpriteTexture;

// A value between 0 and 1 that controls the intensity of the grayscale effect.
// 0 = full color, 1 = full grayscale.
float Saturation = 1.0;

sampler2D SpriteTextureSampler = sampler_state
{
Texture = <SpriteTexture>;
};

struct VertexShaderOutput
{
float4 Position : SV_POSITION;
float4 Color : COLOR0;
float2 TextureCoordinates : TEXCOORD0;
};

float4 MainPS(VertexShaderOutput input) : COLOR
{
// Sample the texture
float4 color = tex2D(SpriteTextureSampler, input.TextureCoordinates) * input.Color;

// Calculate the grayscale value based on human perception of colors
float grayscale = dot(color.rgb, float3(0.3, 0.59, 0.11));

// create a grayscale color vector (same value for R, G, and B)
float3 grayscaleColor = float3(grayscale, grayscale, grayscale);

// Linear interpolation between he grayscale color and the original color's
// rgb values based on the saturation parameter.
float3 finalColor = lerp(grayscale, color.rgb, Saturation);

// Return the final color with the original alpha value
return float4(finalColor, color.a);
}

technique SpriteDrawing
{
pass P0
{
PixelShader = compile PS_SHADERMODEL MainPS();
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<XnaContent xmlns:Graphics="Microsoft.Xna.Framework.Content.Pipeline.Graphics">
<Asset Type="Graphics:FontDescription">
<FontName>04B_30.ttf</FontName>
<Size>17.5</Size>
<Spacing>0</Spacing>
<UseKerning>true</UseKerning>
<Style>Regular</Style>
<CharacterRegions>
<CharacterRegion>
<Start>&#32;</Start>
<End>&#126;</End>
</CharacterRegion>
</CharacterRegions>
</Asset>
</XnaContent>
Binary file not shown.
Loading