Я использую рендеринг на экране для 2D-текстуры. В моем первом шейдере будут отображаться значения YUV, а второй шейдер фрагмента считывает YUV из внеэкранной текстуры. Во втором шейдере я управляю U и V и делаю его между -0,5 до 0,5 диапазона. Но они зажимаются от 0 до 1 (положительные), как только я пытаюсь это сделать. Все мои отрицательные значения становятся 0.Android: отрицательные значения для внеэкранной текстуры зажаты до 0
Найдено этот вопрос здесь:
GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA,
width, height, 0, GLES20.GL_RGBA,
GLES20.GL_UNSIGNED_BYTE, null)
Если я использую GL_FLOAT вместо GL_UNSIGNED_BYTE, это даст мне ошибку в формате цвет не соответствует. По ссылке https://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexImage2D.xml выглядит так, как будто все поддерживаемые форматы будут зажимать до 0-1 диапазона. Как получить отрицательные значения и в следующей текстуре.
Установлено, что я могу использовать другие форматы изображений, такие как GL_R16F, но ни один из них не поддерживается в ссылке/в GLES20.