source: trunk/src/testing/shader/blockGeneration.frag @ 4

Revision 4, 899 bytes checked in by ajaworski, 13 years ago (diff)

Added modified SAGE sources

Line 
1// Generating RLE Sequence for RLE compression
2//
3// author : Byungil Jeong
4//
5
6uniform sampler2D colorMap;
7uniform vec2            winSize;
8uniform vec2            blockSize;
9uniform float           blockPixels;
10uniform vec2            blockDim;
11
12void main(void)
13{
14   const vec2 offset = vec2(1.0 / winSize.x, 1.0/winSize.y);
15        const vec4 zeroColor = vec4(0.0);
16       
17   vec2 texCoord = gl_TexCoord[0].xy;
18        vec2 pixelCoord = floor(texCoord*winSize);
19        float pixelIdx = pixelCoord.y * winSize.x + pixelCoord.x;
20        float blockIdx = floor(pixelIdx/blockPixels);
21        vec2 blockPos = vec2(mod(blockIdx,blockDim.x), floor(blockIdx/blockDim.x));
22        float innerIdx = mod(pixelIdx,blockPixels);
23        vec2 innerPos = vec2(mod(innerIdx,blockSize.x), floor(innerIdx/blockSize.x));
24       
25        vec2 finalPos = blockPos*blockSize + innerPos;
26        vec2 myCoord = texCoord + (finalPos - pixelCoord)*offset;
27        vec4 myColor = texture2D(colorMap, myCoord);
28
29        gl_FragColor = myColor;
30}
Note: See TracBrowser for help on using the repository browser.