У меня есть мультисэмпловый fbo, и я хочу перевернуть его по вертикали в другой мультисэмпловый fbo. Я пробую что-то простое:
#version 400 core
out vec4 FragColor;
in vec2 TexCoords;
uniform sampler2DMS textureMS;
void main()
{
FragColor = texelFetch(textureMS, ivec2(TexCoords), gl_SampleID);
}
В официальном документе говорится, что как только вы используете gl_SampleID, фрагмент будет выполняться один раз для каждого образца i, хотя он должен работать.
Что такое TexCoords
, координаты пикселей или диапазон [0, 1]? texelFetch
требует координат пикселей и выполняет поиск одного текселя. Возможно, вы ищете gl_FragCoord
- texelFetch(textureMS, gl_FragCoord.xy, 0)
. Но вопрос неясен.
FragColor = texelFetch (textureMS, vec2 (0, 1) -TexCoords, gl_SampleID);
Николь, ты был прав, вопрос был непонятен. Просто это не работало. Я не понимал, что такое координаты, и использовал координаты [0, 1]. Большое спасибо
Непонятно, в чем проблема.