Forcing a color palette?
- Super Suit 12
- Topic Author
Less
More
I updated my version of reshade a while ago, and I don't see TuningPalette for the latest version.
I tried using the LUT shader and just using Aseprite to force the LUT.png file to use only the colors in the palette, and while this does something similar to what I want, it does this to gradients:
Upper is what it looks like ingame, lower is the same screenshot with the palette forced on it by Aseprite.
There's only one shade of grey in the palette, but as the color gets darker it starts to mix the colors.
Is there any good alternative to TuningPalette for this version, or is it updated and I just failed to find it?
I tried using the LUT shader and just using Aseprite to force the LUT.png file to use only the colors in the palette, and while this does something similar to what I want, it does this to gradients:
Upper is what it looks like ingame, lower is the same screenshot with the palette forced on it by Aseprite.
There's only one shade of grey in the palette, but as the color gets darker it starts to mix the colors.
Is there any good alternative to TuningPalette for this version, or is it updated and I just failed to find it?
Please Log in or Create an account to join the conversation.
- Super Suit 12
- Topic Author
Less
More
ok for about the past hour and a half, i've been trying to get a LUT file that's got an exact color for every color... But if I put the tile number over a certain amount, it starts getting an error "2147942487" somewhere between 64 and 128.
Please Log in or Create an account to join the conversation.
- FierySwordswoman
Less
More
6 years 2 months ago - 6 years 2 months ago #3
by FierySwordswoman
Replied by FierySwordswoman on topic Forcing a color palette?
uh
Just use GIMP or Photoshop or something to convert the png from RGB to Indexed.
LUT only using colors from the Solarized (link) color palette
EDIT: Why are links the same color as plain text in this forum? And why can you not even color them manually...
Just use GIMP or Photoshop or something to convert the png from RGB to Indexed.
LUT only using colors from the Solarized (link) color palette
EDIT: Why are links the same color as plain text in this forum? And why can you not even color them manually...
Last edit: 6 years 2 months ago by FierySwordswoman.
Please Log in or Create an account to join the conversation.
- Super Suit 12
- Topic Author
Less
More
Ah, thanks! Odd that Aseprite wouldn't save it as indexed when it's set to indexed color mode.
Please Log in or Create an account to join the conversation.
- Super Suit 12
- Topic Author
Less
More
6 years 2 months ago - 6 years 2 months ago #5
by Super Suit 12
Replied by Super Suit 12 on topic Forcing a color palette?
Bump. Probably should've actually tested what you said, but I lost interest in the game (I have an attention span of about five seconds )
Did what you said to index it through GIMP with only black and white, but I'm still getting some shades of grey inbetween.
EDIT: Looking at the Nostalgia shader, it seems like it would be a better idea to write some sort of program to pull colors out of an image and write up a new version of Nostalgia for each palette I want to use (this would also allow me to simply enable a different shader from my list, rather than swapping files around, and probably be faster anyways)
Did what you said to index it through GIMP with only black and white, but I'm still getting some shades of grey inbetween.
EDIT: Looking at the Nostalgia shader, it seems like it would be a better idea to write some sort of program to pull colors out of an image and write up a new version of Nostalgia for each palette I want to use (this would also allow me to simply enable a different shader from my list, rather than swapping files around, and probably be faster anyways)
Last edit: 6 years 2 months ago by Super Suit 12.
Please Log in or Create an account to join the conversation.
What you need to do aside from using a palette, is to reduce the colors the game can reproduce.
What most classic games (and probably aseprite) does is tweak the image to only load 256 colors from a palette (reduce the channel to 8 bit then apply the palette)
What most classic games (and probably aseprite) does is tweak the image to only load 256 colors from a palette (reduce the channel to 8 bit then apply the palette)
Please Log in or Create an account to join the conversation.
- greenhand
Less
More
I modified this version of the Nostalgia shader to fit the palette from Doom.
Enjoy!
Enjoy!
Warning: Spoiler!
#include "ReShade.fxh"
float4 PS_Nostalgia_DoomFX(float4 vpos : SV_Position, float2 texcoord : TEXCOORD) : SV_Target
{
float4 colorInput = tex2D(ReShade::BackBuffer, texcoord.xy);
float3 color = colorInput.rgb;
float3 palette[256]; //Palette from DoomF
//row 01
palette[0] = float3( 0., 0., 0. );
palette[1] = float3( 31., 23., 11. );
palette[2] = float3( 23., 15., 7. );
palette[3] = float3( 75., 75., 75. );
palette[4] = float3(255., 255., 255. );
palette[5] = float3( 27., 27., 27. );
palette[6] = float3( 19., 19., 19. );
palette[7] = float3( 11., 11., 11. );
palette[8] = float3( 7., 7., 7. );
palette[9] = float3( 47., 55., 31. );
palette[10] = float3( 35., 43., 15. );
palette[11] = float3( 23., 31., 7. );
palette[12] = float3( 15., 23., 0. );
palette[13] = float3( 79., 59., 43. );
palette[14] = float3( 71., 51., 35. );
palette[15] = float3( 63., 43., 27. );
//row 02 .
palette[16] = float3(255., 183., 183. );
palette[17] = float3(247., 171., 171. );
palette[18] = float3(243., 163., 163. );
palette[19] = float3(235., 151., 151. );
palette[20] = float3(231., 143., 143. );
palette[21] = float3(223., 135., 135. );
palette[22] = float3(219., 123., 123. );
palette[23] = float3(211., 115., 115. );
palette[24] = float3(203., 107., 107. );
palette[25] = float3(199., 99., 99. );
palette[26] = float3(191., 91., 91. );
palette[27] = float3(187., 87., 87. );
palette[28] = float3(179., 79., 79. );
palette[29] = float3(175., 71., 71. );
palette[30] = float3(167., 63., 63. );
palette[31] = float3(163., 59., 59. );
//row 03
palette[32] = float3(155., 51., 51. );
palette[33] = float3(151., 47., 47. );
palette[34] = float3(143., 43., 43. );
palette[35] = float3(139., 35., 35. );
palette[36] = float3(131., 31., 31. );
palette[37] = float3(127., 27., 27. );
palette[38] = float3(119., 23., 23. );
palette[39] = float3(115., 19., 19. );
palette[40] = float3(107., 15., 15. );
palette[41] = float3(103., 11., 11. );
palette[42] = float3( 95., 7., 7. );
palette[43] = float3( 91., 7., 7. );
palette[44] = float3( 83., 7., 7. );
palette[45] = float3( 79., 0., 0. );
palette[46] = float3( 71., 0., 0. );
palette[47] = float3( 67., 0., 0. );
//row 04
palette[48] = float3(255., 235., 223. );
palette[49] = float3(255., 227., 211. );
palette[50] = float3(255., 219., 199. );
palette[51] = float3(255., 211., 187. );
palette[52] = float3(255., 207., 179. );
palette[53] = float3(255., 199., 167. );
palette[54] = float3(255., 191., 155. );
palette[55] = float3(255., 187., 147. );
palette[56] = float3(255., 179., 131. );
palette[57] = float3(247., 171., 123. );
palette[58] = float3(239., 163., 115. );
palette[59] = float3(231., 155., 107. );
palette[60] = float3(223., 147., 99. );
palette[61] = float3(215., 139., 91. );
palette[62] = float3(207., 131., 83. );
palette[63] = float3(203., 127., 79. );
//row 05
palette[64] = float3(191., 123., 75. );
palette[65] = float3(179., 115., 71. );
palette[66] = float3(171., 111., 67. );
palette[67] = float3(163., 107., 63. );
palette[68] = float3(155., 99., 59. );
palette[69] = float3(143., 95., 55. );
palette[70] = float3(135., 87., 51. );
palette[71] = float3(127., 83., 47. );
palette[72] = float3(119., 79., 43. );
palette[73] = float3(107., 71., 39. );
palette[74] = float3( 95., 67., 35. );
palette[75] = float3( 83., 63., 31. );
palette[76] = float3( 75., 55., 27. );
palette[77] = float3( 63., 47., 23. );
palette[78] = float3( 51., 43., 19. );
palette[79] = float3( 43., 35., 15. );
//row 06
palette[80] = float3(239., 239., 239. );
palette[81] = float3(231., 231., 231. );
palette[82] = float3(223., 223., 223. );
palette[83] = float3(219., 219., 219. );
palette[84] = float3(211., 211., 211. );
palette[85] = float3(203., 203., 203. );
palette[86] = float3(199., 199., 199. );
palette[87] = float3(191., 191., 191. );
palette[88] = float3(183., 183., 183. );
palette[89] = float3(179., 179., 179. );
palette[90] = float3(171., 171., 171. );
palette[91] = float3(167., 167., 167. );
palette[92] = float3(159., 159., 159. );
palette[93] = float3(151., 151., 151. );
palette[94] = float3(147., 147., 147. );
palette[95] = float3(139., 139., 139. );
//row 07
palette[96] = float3(131., 131., 131. );
palette[97] = float3(127., 127., 127. );
palette[98] = float3(119., 119., 119. );
palette[99] = float3(111., 111., 111. );
palette[100] = float3(107., 107., 107. );
palette[101] = float3( 99., 99., 99. );
palette[102] = float3( 91., 91., 91. );
palette[103] = float3( 87., 87., 87. );
palette[104] = float3( 79., 79., 79. );
palette[105] = float3( 71., 71., 71. );
palette[106] = float3( 67., 67., 67. );
palette[107] = float3( 59., 59., 59. );
palette[108] = float3( 55., 55., 55. );
palette[109] = float3( 47., 47., 47. );
palette[110] = float3( 39., 39., 39. );
palette[111] = float3( 35., 35., 35. );
//row 08
palette[112] = float3(119., 255., 111. );
palette[113] = float3(111., 239., 103. );
palette[114] = float3(103., 223., 95. );
palette[115] = float3( 95., 207., 87. );
palette[116] = float3( 91., 191., 79. );
palette[117] = float3( 83., 175., 71. );
palette[118] = float3( 75., 159., 63. );
palette[119] = float3( 67., 147., 55. );
palette[120] = float3( 63., 131., 47. );
palette[121] = float3( 55., 115., 43. );
palette[122] = float3( 47., 99., 35. );
palette[123] = float3( 39., 93., 27. );
palette[124] = float3( 31., 67., 23. );
palette[125] = float3( 23., 51., 15. );
palette[126] = float3( 19., 35., 11. );
palette[127] = float3( 11., 23., 7. );
//row 09
palette[128] = float3(191., 167., 143. );
palette[129] = float3(183., 159., 135. );
palette[130] = float3(175., 151., 127. );
palette[131] = float3(167., 143., 119. );
palette[132] = float3(159., 135., 111. );
palette[133] = float3(155., 127., 107. );
palette[134] = float3(147., 123., 99. );
palette[135] = float3(139., 115., 91. );
palette[136] = float3(131., 107., 87. );
palette[137] = float3(123., 99., 79. );
palette[138] = float3(119., 95., 75. );
palette[139] = float3(111., 87., 67. );
palette[140] = float3(103., 83., 63. );
palette[141] = float3( 95., 75., 55. );
palette[142] = float3( 87., 67., 51. );
palette[143] = float3( 83., 63., 47. );
//row 10
palette[144] = float3(159., 131., 99. );
palette[145] = float3(143., 119., 83. );
palette[146] = float3(131., 107., 75. );
palette[147] = float3(119., 95., 63. );
palette[148] = float3(103., 83., 51. );
palette[149] = float3( 91., 71., 43. );
palette[150] = float3( 79., 59., 35. );
palette[151] = float3( 67., 51., 27. );
palette[152] = float3(123., 127., 99. );
palette[153] = float3(111., 115., 87. );
palette[154] = float3(103., 107., 79. );
palette[155] = float3( 91., 99., 71. );
palette[156] = float3( 83., 87., 59. );
palette[157] = float3( 71., 79., 51. );
palette[158] = float3( 63., 71., 43. );
palette[159] = float3( 55., 63., 39. );
//row 11
palette[160] = float3(255., 255., 115. );
palette[161] = float3(235., 219., 87. );
palette[162] = float3(215., 187., 67. );
palette[163] = float3(195., 155., 47. );
palette[164] = float3(175., 123., 31. );
palette[165] = float3(155., 91., 19. );
palette[166] = float3(135., 67., 7. );
palette[167] = float3(115., 43., 0. );
palette[168] = float3(255., 255., 255. );
palette[169] = float3(255., 219., 219. );
palette[170] = float3(255., 187., 187. );
palette[171] = float3(255., 155., 155. );
palette[172] = float3(255., 123., 123. );
palette[173] = float3(255., 95., 95. );
palette[174] = float3(255., 63., 63. );
palette[175] = float3(255., 31., 31. );
//row 12
palette[176] = float3(255., 0., 0. );
palette[177] = float3(239., 0., 0. );
palette[178] = float3(227., 0., 0. );
palette[179] = float3(215., 0., 0. );
palette[180] = float3(203., 0., 0. );
palette[181] = float3(191., 0., 0. );
palette[182] = float3(179., 0., 0. );
palette[183] = float3(167., 0., 0. );
palette[184] = float3(155., 0., 0. );
palette[185] = float3(139., 0., 0. );
palette[186] = float3(127., 0., 0. );
palette[187] = float3(115., 0., 0. );
palette[188] = float3(103., 0., 0. );
palette[189] = float3( 91., 0., 0. );
palette[190] = float3( 79., 0., 0. );
palette[191] = float3( 67., 0., 0. );
//row 13
palette[192] = float3(231., 231., 255. );
palette[193] = float3(199., 199., 255. );
palette[194] = float3(171., 171., 255. );
palette[195] = float3(143., 143., 255. );
palette[196] = float3(115., 115., 255. );
palette[197] = float3( 83., 83., 255. );
palette[198] = float3( 55., 55., 255. );
palette[199] = float3( 27., 27., 255. );
palette[200] = float3( 0., 0., 255. );
palette[201] = float3( 0., 0., 227. );
palette[202] = float3( 0., 0., 203. );
palette[203] = float3( 0., 0., 179. );
palette[204] = float3( 0., 0., 155. );
palette[205] = float3( 0., 0., 131. );
palette[206] = float3( 0., 0., 107. );
palette[207] = float3( 0., 0., 83. );
//row 14
palette[208] = float3(255., 255., 255. );
palette[209] = float3(255., 235., 219. );
palette[210] = float3(255., 215., 187. );
palette[211] = float3(255., 199., 155. );
palette[212] = float3(255., 179., 123. );
palette[213] = float3(255., 163., 91. );
palette[214] = float3(255., 143., 59. );
palette[215] = float3(255., 127., 27. );
palette[216] = float3(243., 115., 23. );
palette[217] = float3(235., 111., 15. );
palette[218] = float3(223., 103., 15. );
palette[219] = float3(215., 95., 11. );
palette[220] = float3(203., 87., 7. );
palette[221] = float3(195., 79., 0. );
palette[222] = float3(183., 71., 0. );
palette[223] = float3(175., 67., 0. );
//row 15
palette[224] = float3(255., 255., 255. );
palette[225] = float3(255., 255., 215. );
palette[226] = float3(255., 255., 179. );
palette[227] = float3(255., 255., 143. );
palette[228] = float3(255., 255., 107. );
palette[229] = float3(255., 255., 71. );
palette[230] = float3(255., 255., 35. );
palette[231] = float3(255., 255., 0. );
palette[232] = float3(167., 63., 0. );
palette[233] = float3(159., 55., 0. );
palette[234] = float3(147., 47., 0. );
palette[235] = float3(135., 35., 0. );
palette[236] = float3( 79., 59., 39. );
palette[237] = float3( 67., 47., 27. );
palette[238] = float3( 55., 35., 19. );
palette[239] = float3( 47., 27., 11. );
//row 16
palette[240] = float3( 0., 0., 83. );
palette[241] = float3( 0., 0., 71. );
palette[242] = float3( 0., 0., 59. );
palette[243] = float3( 0., 0., 47. );
palette[244] = float3( 0., 0., 35. );
palette[245] = float3( 0., 0., 23. );
palette[246] = float3( 0., 0., 11. );
palette[247] = float3( 0., 0., 7. );
palette[248] = float3(255., 159., 67. );
palette[249] = float3(255., 231., 75. );
palette[250] = float3(255., 123., 255. );
palette[251] = float3(255., 0., 255. );
palette[252] = float3(207., 0., 207. );
palette[253] = float3(159., 0., 155. );
palette[254] = float3(111., 0., 107. );
palette[255] = float3(167., 107., 107. );
float3 diff = color;
float dist = dot(diff,diff); //squared distance
float closest_dist = dist;
float3 closest_color = float3(0.0,0.0,0.0);
for (int i = 1 ; i <= 255 ; i++)
{
diff = color - (palette/255.0);
dist = dot(diff,diff); //squared distance
if (dist < closest_dist){ //ternary would also work here
closest_dist = dist;
closest_color = palette/255.0;
}
}
colorInput.rgb = closest_color; //return the pixel
return colorInput; //return the pixel
}
technique Nostalgia_DoomFX
{
pass Nostalgia__DoomFX_Pass
{
VertexShader = PostProcessVS;
PixelShader = PS_Nostalgia_DoomFX;
}
}
float4 PS_Nostalgia_DoomFX(float4 vpos : SV_Position, float2 texcoord : TEXCOORD) : SV_Target
{
float4 colorInput = tex2D(ReShade::BackBuffer, texcoord.xy);
float3 color = colorInput.rgb;
float3 palette[256]; //Palette from DoomF
//row 01
palette[0] = float3( 0., 0., 0. );
palette[1] = float3( 31., 23., 11. );
palette[2] = float3( 23., 15., 7. );
palette[3] = float3( 75., 75., 75. );
palette[4] = float3(255., 255., 255. );
palette[5] = float3( 27., 27., 27. );
palette[6] = float3( 19., 19., 19. );
palette[7] = float3( 11., 11., 11. );
palette[8] = float3( 7., 7., 7. );
palette[9] = float3( 47., 55., 31. );
palette[10] = float3( 35., 43., 15. );
palette[11] = float3( 23., 31., 7. );
palette[12] = float3( 15., 23., 0. );
palette[13] = float3( 79., 59., 43. );
palette[14] = float3( 71., 51., 35. );
palette[15] = float3( 63., 43., 27. );
//row 02 .
palette[16] = float3(255., 183., 183. );
palette[17] = float3(247., 171., 171. );
palette[18] = float3(243., 163., 163. );
palette[19] = float3(235., 151., 151. );
palette[20] = float3(231., 143., 143. );
palette[21] = float3(223., 135., 135. );
palette[22] = float3(219., 123., 123. );
palette[23] = float3(211., 115., 115. );
palette[24] = float3(203., 107., 107. );
palette[25] = float3(199., 99., 99. );
palette[26] = float3(191., 91., 91. );
palette[27] = float3(187., 87., 87. );
palette[28] = float3(179., 79., 79. );
palette[29] = float3(175., 71., 71. );
palette[30] = float3(167., 63., 63. );
palette[31] = float3(163., 59., 59. );
//row 03
palette[32] = float3(155., 51., 51. );
palette[33] = float3(151., 47., 47. );
palette[34] = float3(143., 43., 43. );
palette[35] = float3(139., 35., 35. );
palette[36] = float3(131., 31., 31. );
palette[37] = float3(127., 27., 27. );
palette[38] = float3(119., 23., 23. );
palette[39] = float3(115., 19., 19. );
palette[40] = float3(107., 15., 15. );
palette[41] = float3(103., 11., 11. );
palette[42] = float3( 95., 7., 7. );
palette[43] = float3( 91., 7., 7. );
palette[44] = float3( 83., 7., 7. );
palette[45] = float3( 79., 0., 0. );
palette[46] = float3( 71., 0., 0. );
palette[47] = float3( 67., 0., 0. );
//row 04
palette[48] = float3(255., 235., 223. );
palette[49] = float3(255., 227., 211. );
palette[50] = float3(255., 219., 199. );
palette[51] = float3(255., 211., 187. );
palette[52] = float3(255., 207., 179. );
palette[53] = float3(255., 199., 167. );
palette[54] = float3(255., 191., 155. );
palette[55] = float3(255., 187., 147. );
palette[56] = float3(255., 179., 131. );
palette[57] = float3(247., 171., 123. );
palette[58] = float3(239., 163., 115. );
palette[59] = float3(231., 155., 107. );
palette[60] = float3(223., 147., 99. );
palette[61] = float3(215., 139., 91. );
palette[62] = float3(207., 131., 83. );
palette[63] = float3(203., 127., 79. );
//row 05
palette[64] = float3(191., 123., 75. );
palette[65] = float3(179., 115., 71. );
palette[66] = float3(171., 111., 67. );
palette[67] = float3(163., 107., 63. );
palette[68] = float3(155., 99., 59. );
palette[69] = float3(143., 95., 55. );
palette[70] = float3(135., 87., 51. );
palette[71] = float3(127., 83., 47. );
palette[72] = float3(119., 79., 43. );
palette[73] = float3(107., 71., 39. );
palette[74] = float3( 95., 67., 35. );
palette[75] = float3( 83., 63., 31. );
palette[76] = float3( 75., 55., 27. );
palette[77] = float3( 63., 47., 23. );
palette[78] = float3( 51., 43., 19. );
palette[79] = float3( 43., 35., 15. );
//row 06
palette[80] = float3(239., 239., 239. );
palette[81] = float3(231., 231., 231. );
palette[82] = float3(223., 223., 223. );
palette[83] = float3(219., 219., 219. );
palette[84] = float3(211., 211., 211. );
palette[85] = float3(203., 203., 203. );
palette[86] = float3(199., 199., 199. );
palette[87] = float3(191., 191., 191. );
palette[88] = float3(183., 183., 183. );
palette[89] = float3(179., 179., 179. );
palette[90] = float3(171., 171., 171. );
palette[91] = float3(167., 167., 167. );
palette[92] = float3(159., 159., 159. );
palette[93] = float3(151., 151., 151. );
palette[94] = float3(147., 147., 147. );
palette[95] = float3(139., 139., 139. );
//row 07
palette[96] = float3(131., 131., 131. );
palette[97] = float3(127., 127., 127. );
palette[98] = float3(119., 119., 119. );
palette[99] = float3(111., 111., 111. );
palette[100] = float3(107., 107., 107. );
palette[101] = float3( 99., 99., 99. );
palette[102] = float3( 91., 91., 91. );
palette[103] = float3( 87., 87., 87. );
palette[104] = float3( 79., 79., 79. );
palette[105] = float3( 71., 71., 71. );
palette[106] = float3( 67., 67., 67. );
palette[107] = float3( 59., 59., 59. );
palette[108] = float3( 55., 55., 55. );
palette[109] = float3( 47., 47., 47. );
palette[110] = float3( 39., 39., 39. );
palette[111] = float3( 35., 35., 35. );
//row 08
palette[112] = float3(119., 255., 111. );
palette[113] = float3(111., 239., 103. );
palette[114] = float3(103., 223., 95. );
palette[115] = float3( 95., 207., 87. );
palette[116] = float3( 91., 191., 79. );
palette[117] = float3( 83., 175., 71. );
palette[118] = float3( 75., 159., 63. );
palette[119] = float3( 67., 147., 55. );
palette[120] = float3( 63., 131., 47. );
palette[121] = float3( 55., 115., 43. );
palette[122] = float3( 47., 99., 35. );
palette[123] = float3( 39., 93., 27. );
palette[124] = float3( 31., 67., 23. );
palette[125] = float3( 23., 51., 15. );
palette[126] = float3( 19., 35., 11. );
palette[127] = float3( 11., 23., 7. );
//row 09
palette[128] = float3(191., 167., 143. );
palette[129] = float3(183., 159., 135. );
palette[130] = float3(175., 151., 127. );
palette[131] = float3(167., 143., 119. );
palette[132] = float3(159., 135., 111. );
palette[133] = float3(155., 127., 107. );
palette[134] = float3(147., 123., 99. );
palette[135] = float3(139., 115., 91. );
palette[136] = float3(131., 107., 87. );
palette[137] = float3(123., 99., 79. );
palette[138] = float3(119., 95., 75. );
palette[139] = float3(111., 87., 67. );
palette[140] = float3(103., 83., 63. );
palette[141] = float3( 95., 75., 55. );
palette[142] = float3( 87., 67., 51. );
palette[143] = float3( 83., 63., 47. );
//row 10
palette[144] = float3(159., 131., 99. );
palette[145] = float3(143., 119., 83. );
palette[146] = float3(131., 107., 75. );
palette[147] = float3(119., 95., 63. );
palette[148] = float3(103., 83., 51. );
palette[149] = float3( 91., 71., 43. );
palette[150] = float3( 79., 59., 35. );
palette[151] = float3( 67., 51., 27. );
palette[152] = float3(123., 127., 99. );
palette[153] = float3(111., 115., 87. );
palette[154] = float3(103., 107., 79. );
palette[155] = float3( 91., 99., 71. );
palette[156] = float3( 83., 87., 59. );
palette[157] = float3( 71., 79., 51. );
palette[158] = float3( 63., 71., 43. );
palette[159] = float3( 55., 63., 39. );
//row 11
palette[160] = float3(255., 255., 115. );
palette[161] = float3(235., 219., 87. );
palette[162] = float3(215., 187., 67. );
palette[163] = float3(195., 155., 47. );
palette[164] = float3(175., 123., 31. );
palette[165] = float3(155., 91., 19. );
palette[166] = float3(135., 67., 7. );
palette[167] = float3(115., 43., 0. );
palette[168] = float3(255., 255., 255. );
palette[169] = float3(255., 219., 219. );
palette[170] = float3(255., 187., 187. );
palette[171] = float3(255., 155., 155. );
palette[172] = float3(255., 123., 123. );
palette[173] = float3(255., 95., 95. );
palette[174] = float3(255., 63., 63. );
palette[175] = float3(255., 31., 31. );
//row 12
palette[176] = float3(255., 0., 0. );
palette[177] = float3(239., 0., 0. );
palette[178] = float3(227., 0., 0. );
palette[179] = float3(215., 0., 0. );
palette[180] = float3(203., 0., 0. );
palette[181] = float3(191., 0., 0. );
palette[182] = float3(179., 0., 0. );
palette[183] = float3(167., 0., 0. );
palette[184] = float3(155., 0., 0. );
palette[185] = float3(139., 0., 0. );
palette[186] = float3(127., 0., 0. );
palette[187] = float3(115., 0., 0. );
palette[188] = float3(103., 0., 0. );
palette[189] = float3( 91., 0., 0. );
palette[190] = float3( 79., 0., 0. );
palette[191] = float3( 67., 0., 0. );
//row 13
palette[192] = float3(231., 231., 255. );
palette[193] = float3(199., 199., 255. );
palette[194] = float3(171., 171., 255. );
palette[195] = float3(143., 143., 255. );
palette[196] = float3(115., 115., 255. );
palette[197] = float3( 83., 83., 255. );
palette[198] = float3( 55., 55., 255. );
palette[199] = float3( 27., 27., 255. );
palette[200] = float3( 0., 0., 255. );
palette[201] = float3( 0., 0., 227. );
palette[202] = float3( 0., 0., 203. );
palette[203] = float3( 0., 0., 179. );
palette[204] = float3( 0., 0., 155. );
palette[205] = float3( 0., 0., 131. );
palette[206] = float3( 0., 0., 107. );
palette[207] = float3( 0., 0., 83. );
//row 14
palette[208] = float3(255., 255., 255. );
palette[209] = float3(255., 235., 219. );
palette[210] = float3(255., 215., 187. );
palette[211] = float3(255., 199., 155. );
palette[212] = float3(255., 179., 123. );
palette[213] = float3(255., 163., 91. );
palette[214] = float3(255., 143., 59. );
palette[215] = float3(255., 127., 27. );
palette[216] = float3(243., 115., 23. );
palette[217] = float3(235., 111., 15. );
palette[218] = float3(223., 103., 15. );
palette[219] = float3(215., 95., 11. );
palette[220] = float3(203., 87., 7. );
palette[221] = float3(195., 79., 0. );
palette[222] = float3(183., 71., 0. );
palette[223] = float3(175., 67., 0. );
//row 15
palette[224] = float3(255., 255., 255. );
palette[225] = float3(255., 255., 215. );
palette[226] = float3(255., 255., 179. );
palette[227] = float3(255., 255., 143. );
palette[228] = float3(255., 255., 107. );
palette[229] = float3(255., 255., 71. );
palette[230] = float3(255., 255., 35. );
palette[231] = float3(255., 255., 0. );
palette[232] = float3(167., 63., 0. );
palette[233] = float3(159., 55., 0. );
palette[234] = float3(147., 47., 0. );
palette[235] = float3(135., 35., 0. );
palette[236] = float3( 79., 59., 39. );
palette[237] = float3( 67., 47., 27. );
palette[238] = float3( 55., 35., 19. );
palette[239] = float3( 47., 27., 11. );
//row 16
palette[240] = float3( 0., 0., 83. );
palette[241] = float3( 0., 0., 71. );
palette[242] = float3( 0., 0., 59. );
palette[243] = float3( 0., 0., 47. );
palette[244] = float3( 0., 0., 35. );
palette[245] = float3( 0., 0., 23. );
palette[246] = float3( 0., 0., 11. );
palette[247] = float3( 0., 0., 7. );
palette[248] = float3(255., 159., 67. );
palette[249] = float3(255., 231., 75. );
palette[250] = float3(255., 123., 255. );
palette[251] = float3(255., 0., 255. );
palette[252] = float3(207., 0., 207. );
palette[253] = float3(159., 0., 155. );
palette[254] = float3(111., 0., 107. );
palette[255] = float3(167., 107., 107. );
float3 diff = color;
float dist = dot(diff,diff); //squared distance
float closest_dist = dist;
float3 closest_color = float3(0.0,0.0,0.0);
for (int i = 1 ; i <= 255 ; i++)
{
diff = color - (palette/255.0);
dist = dot(diff,diff); //squared distance
if (dist < closest_dist){ //ternary would also work here
closest_dist = dist;
closest_color = palette/255.0;
}
}
colorInput.rgb = closest_color; //return the pixel
return colorInput; //return the pixel
}
technique Nostalgia_DoomFX
{
pass Nostalgia__DoomFX_Pass
{
VertexShader = PostProcessVS;
PixelShader = PS_Nostalgia_DoomFX;
}
}
Please Log in or Create an account to join the conversation.
- minion4ever
Less
More
Try using Photoshop to convert png to RGB, I think it will help. I also advise you to use the service<!--td {border: 1px solid #ccc;}br {mso-data-placement:same-cell;}-->
create.vista.com/colors/palettes/peach/
to search for color palettes. There are a huge number of different types here, suitable for various tasks related to graphic design.
Please Log in or Create an account to join the conversation.