PDA

View Full Version : Working with shaders using lookup data



nirali
05-15-2015, 07:06 AM
I have lookup data(256 values) provided by one software and I want to use this data with shader as written below:

7999745,8000001,8000258,8066051,8066308,8132357,81 32614,8198407,..........

Fragment Shader code:


precision highp float;

uniform sampler2D inputImageTexture;
uniform sampler2D inputImageTexture2;
varying vec2 textureCoordinate;
uniform float uAmount;

void main() {
vec4 color = texture2D(inputImageTexture, textureCoordinate);
vec2 pos = vec2((color.r + color.g + color.b)/ 3.0, 0.0);
vec4 dstColor = texture2D(inputImageTexture2, pos);

gl_FragColor = mix(
color,
dstColor,
uAmount);
}

Help me to pass this data to sampler2D inputimageTexture2.
I am thinking that these should converted to rgb(image texture) somehow, so I can pass this to sampler2D.

Dark Photon
05-15-2015, 07:16 AM
Is your question/problem with how to create and populate the data for a 2D texture, or how to bind this texture to a shader program so that it can read from it?

Also, since the 2nd texture coordinate you are using to index inputImageTexture2 is 0, you could just use a 1D texture instead. This seems to match your data and usage better.

nirali
05-15-2015, 07:43 AM
inputImageTexture: is simple uiimage.
inputImageTexture2: is lookup data image.

I already pass uiimage to inputImageTexture and now want to pass lookup data to inputImageTexture2 as texture. then blend both image.

Shader values(count: 256):
7999745,8000001,8000258,8066051,8066308,8132357,81 32614,8198407,8198664,8264457,8264969,8330762,8331 019,8396812,8397069,8463118,8463375,8529168,852942 5,8595218,8595730,8661523,8661780,8727573,8727830, 8793879,8794136,8859929,8860186,8925979,8926491,89 92284,8992541,9058334,9058591,9059104,9124897,9125 154,9190947,9191204,9257252,9257509,9323302,932355 9,9389352,9389865,9455658,9455915,9521708,9521965, 9588013,9588270,9654063,9654320,9720113,9720626,97 86419,9786676,9852469,9852726,9918774,9919031,9984 824,9985081,10050874,10051387,10117180,10117437,10 183230,10183743,10183999,10249792,10250049,1031584 2,10316355,10382148,10382405,10448198,10448455,105 14503,10514760,10580553,10580810,10646603,10647116 ,10712909,10713166,10778959,10779216,10845264,1084 5521,10911314,10911571,10977364,10977877,11043670, 11043927,11109720,11109977,11176025,11176282,11242 075,11242332,11308125,11308638,11308895,11374688,1 1374945,11440738,11441250,11507043,11507300,115730 93,11573350,11639399,11639656,11705449,11705706,11 771499,11772011,11837804,11838061,11903854,1190411 1,11970160,11970417,12036210,12036467,12102260,121 02772,12168565,12168822,12234615,12234872,12300921 ,12301178,12366971,12367228,12433277,12433278,1243 3535,12433536,12433793,12499330,12499587,12499588, 12499845,12565382,12565639,12565896,12565897,12566 154,12631691,12631948,12631949,12632206,12697743,1 2698000,12698001,12698258,12698515,12764052,127643 10,12764311,12764568,12830105,12830362,12830363,12 830620,12830621,12896414,12896671,12896672,1289692 9,12962466,12962723,12962724,12962981,12962982,130 28775,13028776,13029033,13029290,13094827,13095084 ,13095086,13095343,13095344,13161137,13161138,1316 1395,13161396,13227189,13227446,13227447,13227704, 13227705,13293498,13293499,13293756,13293757,13359 550,13359807,13359808,13360065,13360066,13425859,1 3425860,13426117,13426119,13491912,13491913,134921 70,13492427,13492428,13558221,13558222,13558479,13 558480,13624273,13624274,13624531,13624532,1362478 9,13690582,13690583,13690840,13690841,13756634,137 56635,13756892,13756893,13757151,13822688,13822945 ,13823202,13823203,13888996,13888997,13889254,1388 9255,13889512,13955049,13955306,13955307,13955564, 14021357,14021358,14021615,14021616,14021873,14087 410,14087667,14087668,14087925,14153719

Alfonse Reinheart
05-15-2015, 07:52 AM
BTW, just so we're all on the same page, that is OpenGL ES's GLSL code, right?

Also, what is a "uiimage"?