float stripple = texture2D(u_strippleTexture, vec2(v_texCoord,0.)).r;
if ( stripple < 0.5 )
discard;
gl_FragColor = v_color;
}
Есть вот такой фрагментный шейдер (речь про OpenGL ES 2.0). Можете пожалуйста объяснить, что он делает и как?
ну он просто заливает цветом с одномерной мамкой
немного подробней можно?)
Давай ты будешь конкретные вопросы задавать. По этому шейдеру можно целое эссе написать, если захотеть (но не хочется)
берет значение из красного канала текстуры, если оно больше 0.5 - пиксель объекта рендерится как обычно, если меньше - пиксель не рендерится и соответсвенно в меше будет дырка, понятно?
Есть текстура, есть текстурные координаты. Из текстуры получаем значение цвета в координатах vtexCoord. Из этого цвета достаем значение красного канала. Если значение меньше 0.5 - ничего не рисуем, иначе рисуем цветом, который в v_color
не в меше, а в полигоне
Обсуждают сегодня