0
Я использую текстуры Altas и этот вершинный шейдер, чтобы сделать текстуру на четырехугольник:OpenGLES компенсирующие текстурные координаты в шейдере
"uniform mat4 uMVPMatrix;" +
"attribute vec4 vPosition;" +
"attribute vec4 a_Color;" +
"attribute vec2 a_texCoord;" +
"varying vec4 v_Color;" +
"varying vec2 v_texCoord;" +
"uniform vec4 u_newColor;" +
"void main() {" +
" float offset = 0.33;" +
" gl_Position = uMVPMatrix * vPosition;" +
" v_texCoord.x = a_texCoord.x + offset;" +
" v_texCoord.y = a_texCoord.y + offset;" +
" v_Color = u_newColor;" +
"}";
Все работает отлично и я вынести на треть к текстура, показывающая среднюю плитку 9 в атласе. Кроме того, я хочу, чтобы «смещение» было переменной, т. Е. Я хочу изменить его в зависимости от того, какой «плитки» мне нужен в атласе текстуры.
Как это возможно?
Спасибо за быстрый ответ. Это именно то, что я пытался, однако текстура больше не видна, независимо от значений, которые я задал. Я где-то читал, что «смещение» должно быть постоянным? – user3725725
смещение должно быть между 0 и 1, чтобы получить результат, который вы изначально пытались «0,33, 0,33» для значений «xTile» и «yTile» –