(07-17-2015, 12:22 AM)TheShyGuy Wrote: ...I just found it too =/. Well, if you ever move to studio, heres some important code:I'd more readily move to studio if some of the scripts i use werent completely incompatible with it. ;-;
[spoiler=Vertex Shader]
//
// Simple passthrough vertex shader
//
attribute vec3 in_Position; // (x,y,z)
//attribute vec3 in_Normal; // (x,y,z) unused in this shader.
attribute vec4 in_Colour; // (r,g,b,a)
attribute vec2 in_TextureCoord; // (u,v)
varying vec2Texcoord;
varying vec4Colour;
void main()
{
vec4 object_space_pos = vec4( in_Position.x, in_Position.y, in_Position.z, 1.0);
gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;
Colour = in_Colour;
Texcoord = in_TextureCoord;
}
[/spoiler]
[spoiler=Fragment or pixel Shader]
// Simple passthrough fragment shader
//
varying vec2Texcoord;
varying vec4Colour;
uniform sampler2D Palette;
//size of palette image, in pixels.
uniform vec2 PaletteImageSize;
void main()
{
//Use 255 if not intel.
//texture2D() returns colors in range [0,1]. Put them back into the range[0,255],
//where the value refers to the exact pixel X,Y.
vec4 indexPixel = texture2D( gm_BaseTexture,Texcoord) * vec4(256);
//Comment out these conditionals if not intel.
if(indexPixel.r >= 128.0)indexPixel.r--;
if(indexPixel.g >= 128.0)indexPixel.g--;
if(indexPixel.b >= 128.0)indexPixel.b--;
if(indexPixel.a >= 128.0)indexPixel.a--;
//convert the pixel coords into UV coords in the range [0,1],
// as expected by texture2D()
vec2 paletteCoords = vec2(indexPixel.x,indexPixel.y) / PaletteImageSize;
//issue: gamemaker stores all images into a "Texture page",
//thus, the above coords are incorrect.
//fix: externally loaded palette images
gl_FragColor = texture2D( Palette, paletteCoords);
}
[/spoiler]
Notes:
gm_BaseTexture and Palette refer to sampler textures that are externally loaded sprites since GM will auto batch sprites into a "Texture Page". When that happens, GM will change the UV coords to something unexpected. But, I need to know the exact UV coords of the palette image, so instead I externally load sprites to reserves the original UV coords.
The drawn sprite (gm_BaseTexture) is an indexed sprite, where each pixel's color.r (indexPixel.x) refers to the x coordinate of the correct color within the palette (domain [0,255]) and color.g (indexPixel.y) refers to the y coordinate of the correct color within the palette (domain [0,255]).
___
I'm just typing this up for other people and for my own reference. If you ever move to GM Studio or any other graphics library (OpenGL, Direct X), you can still refer to the above to draw sprites with arbitrary palettes.
| Important Announcement |
| Forum has been made read-only. Please click here for more information or here to return to The Spriters Resource. |
|
Weapon Alpha
|
|
|
|
« Next Oldest | Next Newest »
|
| Messages In This Thread |
|
Weapon Alpha - by Valo - 06-24-2015, 12:38 PM
RE: Weapon Alpha - by TheShyGuy - 06-24-2015, 02:08 PM
RE: Weapon Alpha - by Valo - 06-24-2015, 03:48 PM
RE: Weapon Alpha - by Bombshell93 - 06-24-2015, 06:15 PM
RE: Weapon Alpha - by Kelvin - 06-25-2015, 08:20 AM
RE: Weapon Alpha - by Silversea - 06-26-2015, 06:55 PM
RE: Weapon Alpha - by Valo - 06-27-2015, 03:14 AM
RE: Weapon Alpha - by Valo - 06-27-2015, 11:39 AM
RE: Weapon Alpha - by Kitsu - 06-27-2015, 03:33 PM
RE: Weapon Alpha - by Valo - 06-27-2015, 04:28 PM
RE: Weapon Alpha - by Kitsu - 06-27-2015, 02:14 PM
RE: Weapon Alpha - by Valo - 06-27-2015, 02:20 PM
RE: Weapon Alpha - by Kitsu - 06-27-2015, 02:27 PM
RE: Weapon Alpha - by Valo - 06-27-2015, 02:41 PM
RE: Weapon Alpha - by Kitsu - 06-27-2015, 02:54 PM
RE: Weapon Alpha - by Valo - 06-27-2015, 02:57 PM
RE: Weapon Alpha - by Kitsu - 06-27-2015, 04:53 PM
RE: Weapon Alpha - by Valo - 06-27-2015, 05:34 PM
RE: Weapon Alpha - by Valo - 06-27-2015, 11:07 PM
RE: Weapon Alpha - by Bombshell93 - 06-28-2015, 12:07 AM
RE: Weapon Alpha - by Kitsu - 06-28-2015, 01:27 AM
RE: Weapon Alpha - by Valo - 06-28-2015, 01:42 AM
RE: Weapon Alpha - by Kitsu - 06-28-2015, 09:53 AM
RE: Weapon Alpha - by Gors - 06-28-2015, 11:05 AM
RE: Weapon Alpha - by Valo - 06-28-2015, 12:26 PM
RE: Weapon Alpha - by Bombshell93 - 06-28-2015, 12:25 PM
RE: Weapon Alpha - by Bombshell93 - 06-28-2015, 12:37 PM
RE: Weapon Alpha - by Valo - 06-28-2015, 12:40 PM
RE: Weapon Alpha - by Bombshell93 - 06-28-2015, 01:38 PM
RE: Weapon Alpha - by Valo - 06-29-2015, 01:03 PM
RE: Weapon Alpha - by Bombshell93 - 06-29-2015, 08:17 PM
RE: Weapon Alpha - by Valo - 06-29-2015, 08:36 PM
RE: Weapon Alpha - by Gors - 06-30-2015, 01:30 PM
RE: Weapon Alpha - by Valo - 06-30-2015, 03:30 PM
RE: Weapon Alpha - by Valo - 07-01-2015, 02:18 PM
RE: Weapon Alpha - by Bombshell93 - 07-01-2015, 02:47 PM
RE: Weapon Alpha - by Valo - 07-01-2015, 04:10 PM
RE: Weapon Alpha - by Bombshell93 - 07-01-2015, 05:43 PM
RE: Weapon Alpha - by Valo - 07-01-2015, 06:16 PM
RE: Weapon Alpha - by Bombshell93 - 07-01-2015, 07:28 PM
RE: Weapon Alpha - by Valo - 07-03-2015, 12:02 AM
RE: Weapon Alpha - by Bombshell93 - 07-03-2015, 12:28 AM
RE: Weapon Alpha - by Valo - 07-03-2015, 11:55 AM
RE: Weapon Alpha - by Bombshell93 - 07-03-2015, 12:57 PM
RE: Weapon Alpha - by Valo - 07-03-2015, 05:41 PM
RE: Weapon Alpha - by Bombshell93 - 07-03-2015, 06:15 PM
RE: Weapon Alpha - by Valo - 07-03-2015, 06:28 PM
RE: Weapon Alpha - by Bombshell93 - 07-03-2015, 06:43 PM
RE: Weapon Alpha - by Valo - 07-05-2015, 12:01 AM
RE: Weapon Alpha - by TheShyGuy - 07-05-2015, 12:33 AM
RE: Weapon Alpha - by Valo - 07-05-2015, 12:51 AM
RE: Weapon Alpha - by TheShyGuy - 07-05-2015, 05:35 PM
RE: Weapon Alpha - by Valo - 07-05-2015, 07:00 PM
RE: Weapon Alpha - by TheShyGuy - 07-05-2015, 07:33 PM
RE: Weapon Alpha - by Valo - 07-08-2015, 10:05 PM
RE: Weapon Alpha - by Kitsu - 07-09-2015, 02:15 PM
RE: Weapon Alpha - by Valo - 07-09-2015, 07:58 PM
RE: Weapon Alpha - by Gors - 07-10-2015, 06:10 PM
RE: Weapon Alpha - by TheShyGuy - 07-10-2015, 07:03 PM
RE: Weapon Alpha - by Valo - 07-11-2015, 09:57 PM
RE: Weapon Alpha - by Valo - 07-12-2015, 07:31 PM
RE: Weapon Alpha - by Bombshell93 - 07-12-2015, 09:18 PM
RE: Weapon Alpha - by Valo - 07-13-2015, 04:18 PM
RE: Weapon Alpha - by Valo - 07-16-2015, 08:55 PM
RE: Weapon Alpha - by Quirby64 - 07-16-2015, 09:27 PM
RE: Weapon Alpha - by Valo - 07-16-2015, 09:31 PM
RE: Weapon Alpha - by Bombshell93 - 07-16-2015, 09:29 PM
RE: Weapon Alpha - by TheShyGuy - 07-16-2015, 10:57 PM
RE: Weapon Alpha - by Valo - 07-16-2015, 11:39 PM
RE: Weapon Alpha - by TheShyGuy - 07-17-2015, 12:22 AM
RE: Weapon Alpha - by Valo - 07-17-2015, 12:25 AM
RE: Weapon Alpha - by Bombshell93 - 07-17-2015, 06:27 AM
RE: Weapon Alpha - by Valo - 07-17-2015, 08:02 AM
RE: Weapon Alpha - by Bombshell93 - 07-17-2015, 09:01 AM
RE: Weapon Alpha - by Valo - 07-17-2015, 09:21 AM
RE: Weapon Alpha - by Valo - 07-17-2015, 07:49 PM
RE: Weapon Alpha - by Bombshell93 - 07-17-2015, 09:00 PM
RE: Weapon Alpha - by TheShyGuy - 07-17-2015, 09:36 PM
RE: Weapon Alpha - by Valo - 08-07-2015, 01:58 PM
RE: Weapon Alpha - by Valo - 08-12-2015, 06:22 PM
RE: Weapon Alpha - by Bombshell93 - 08-12-2015, 06:41 PM
RE: Weapon Alpha - by Valo - 08-12-2015, 10:41 PM
RE: Weapon Alpha - by StarSock64 - 08-14-2015, 12:13 AM
RE: Weapon Alpha - by Valo - 08-14-2015, 12:33 AM
RE: Weapon Alpha - by StarSock64 - 08-14-2015, 04:40 AM
RE: Weapon Alpha - by Valo - 08-15-2015, 01:04 AM
RE: Weapon Alpha - by Valo - 08-15-2015, 10:36 PM
RE: Weapon Alpha - by Mag - 08-15-2015, 10:57 PM
RE: Weapon Alpha - by TheShyGuy - 08-15-2015, 10:58 PM
RE: Weapon Alpha - by Valo - 08-15-2015, 11:15 PM
RE: Weapon Alpha - by TheShyGuy - 08-16-2015, 03:02 AM
RE: Weapon Alpha - by Mag - 08-16-2015, 12:57 PM
RE: Weapon Alpha - by Valo - 08-16-2015, 02:11 PM
RE: Weapon Alpha - by Valo - 08-20-2015, 07:17 PM
RE: Weapon Alpha - by Valo - 08-26-2015, 10:31 PM
RE: Weapon Alpha - by Mat(Nerah) - 08-31-2015, 12:35 PM
RE: Weapon Alpha - by Valo - 08-31-2015, 06:47 PM
RE: Weapon Alpha - by Mat(Nerah) - 08-31-2015, 07:57 PM
RE: Weapon Alpha - by Valo - 08-31-2015, 10:00 PM
RE: Weapon Alpha - by Mat(Nerah) - 08-31-2015, 11:02 PM
RE: Weapon Alpha - by TheShyGuy - 09-01-2015, 09:43 AM
RE: Weapon Alpha - by Silversea - 09-04-2015, 12:07 AM
RE: Weapon Alpha - by Valo - 09-04-2015, 07:49 AM
RE: Weapon Alpha - by Valo - 09-05-2015, 09:28 PM
RE: Weapon Alpha - by Gors - 09-05-2015, 10:01 PM
RE: Weapon Alpha - by TheShyGuy - 09-05-2015, 10:27 PM
RE: Weapon Alpha - by Valo - 09-05-2015, 11:19 PM
RE: Weapon Alpha - by TheShyGuy - 09-06-2015, 12:52 AM
RE: Weapon Alpha - by Valo - 09-06-2015, 07:53 PM
RE: Weapon Alpha - by Mat(Nerah) - 09-06-2015, 08:02 PM
RE: Weapon Alpha - by Valo - 09-06-2015, 08:30 PM
RE: Weapon Alpha - by Struggleton! - 09-06-2015, 08:01 PM
RE: Weapon Alpha - by TheShyGuy - 09-07-2015, 03:28 PM
RE: Weapon Alpha - by Valo - 09-07-2015, 06:04 PM
RE: Weapon Alpha - by Silversea - 09-08-2015, 11:35 PM
RE: Weapon Alpha - by Valo - 09-09-2015, 04:09 PM
RE: Weapon Alpha - by Valo - 09-12-2015, 04:31 PM
RE: Weapon Alpha - by StarSock64 - 09-13-2015, 06:46 PM
RE: Weapon Alpha - by Valo - 09-18-2015, 07:37 PM
RE: Weapon Alpha - by Silversea - 09-20-2015, 01:44 PM
RE: Weapon Alpha - by Valo - 09-20-2015, 03:28 PM
RE: Weapon Alpha - by Mat(Nerah) - 09-20-2015, 03:35 PM
RE: Weapon Alpha - by Valo - 09-20-2015, 04:06 PM
RE: Weapon Alpha - by Valo - 10-10-2015, 09:53 PM
RE: Weapon Alpha - by Valo - 02-27-2016, 01:01 AM
RE: Weapon Alpha - by TheSkyGuy - 03-08-2016, 06:27 PM
RE: Weapon Alpha - by TheShyGuy - 03-08-2016, 08:16 PM
RE: Weapon Alpha - by TheSkyGuy - 03-08-2016, 09:39 PM
RE: Weapon Alpha - by Valo - 03-09-2016, 02:51 PM
RE: Weapon Alpha - by TheSkyGuy - 03-09-2016, 06:13 PM
RE: Weapon Alpha - by Valo - 03-09-2016, 10:54 PM
RE: Weapon Alpha - by TheSkyGuy - 03-10-2016, 12:10 AM
RE: Weapon Alpha - by Silversea - 04-29-2016, 10:41 AM
|
Users browsing this thread: 2 Guest(s)


Texcoord;