Я пытаюсь понять, как включить профиль sRGB для буферов кадров по умолчанию на Android. В Android SDK неясно, как это сделать на практике. Например, здесь парень утверждает, что достаточно установить внутренний формат текстуры на sRGB. . Но он явно ошибается, потому что я попробовал это, и это ничего не меняет.
Хронос предоставляет это расширение как часть EGL. Я пытался добавить эти флаги в конфиги поверхности. :
final int EGL_GL_COLORSPACE_KHR = 0x309D;
final int EGL_GL_COLORSPACE_SRGB_KHR = 0x3089;
int attribs[] = {
EGL10.EGL_LEVEL, 0,
EGL10.EGL_RENDERABLE_TYPE,EGLExt.EGL_OPENGL_ES3_BIT_KHR,
EGL10.EGL_COLOR_BUFFER_TYPE, EGL10.EGL_RGB_BUFFER,
EGL10.EGL_RED_SIZE, 8,
EGL10.EGL_GREEN_SIZE, 8,
EGL10.EGL_BLUE_SIZE, 8,
EGL10.EGL_DEPTH_SIZE, maxDepth,
EGL10.EGL_SAMPLE_BUFFERS, 1,
EGL10.EGL_SAMPLES, 4,
EGL_GL_COLORSPACE_KHR ,EGL_GL_COLORSPACE_SRGB_KHR //
На самом деле, я обнаружил здесь и в других онлайн-демонстрациях, что эта настройка действительно используется. Кроме того, iOS позволяет настроить FBO по умолчанию на sRGB с флагом:
kEAGLColorFormatSRGBA8
Есть ли другой способ включения sRGB на устройстве Android, чем это расширение? (Конечно, другой альтернативой является гамма-коррекция в шейдере, но это именно то, чего я не хочу делать)
Подробнее здесь: [url]https://stackoverflow.com/questions/44589807/opengl-srgb-configuration-on-android[/url]
Я пытаюсь понять, как включить профиль sRGB для буферов кадров по умолчанию на Android. В Android SDK неясно, как это сделать на практике. Например, здесь парень утверждает, что достаточно установить внутренний формат текстуры на sRGB. . Но он явно ошибается, потому что я попробовал это, и это ничего не меняет.
Хронос предоставляет это расширение как часть EGL. Я пытался добавить эти флаги в конфиги поверхности. :
[code] final int EGL_GL_COLORSPACE_KHR = 0x309D; final int EGL_GL_COLORSPACE_SRGB_KHR = 0x3089; int attribs[] = { EGL10.EGL_LEVEL, 0, EGL10.EGL_RENDERABLE_TYPE,EGLExt.EGL_OPENGL_ES3_BIT_KHR, EGL10.EGL_COLOR_BUFFER_TYPE, EGL10.EGL_RGB_BUFFER, EGL10.EGL_RED_SIZE, 8, EGL10.EGL_GREEN_SIZE, 8, EGL10.EGL_BLUE_SIZE, 8, EGL10.EGL_DEPTH_SIZE, maxDepth, EGL10.EGL_SAMPLE_BUFFERS, 1, EGL10.EGL_SAMPLES, 4, EGL_GL_COLORSPACE_KHR ,EGL_GL_COLORSPACE_SRGB_KHR //
На самом деле, я обнаружил здесь и в других онлайн-демонстрациях, что эта настройка действительно используется. Кроме того, iOS позволяет настроить FBO по умолчанию на sRGB с флагом:
kEAGLColorFormatSRGBA8
Есть ли другой способ включения sRGB на устройстве Android, чем это расширение? (Конечно, другой альтернативой является гамма-коррекция в шейдере, но это именно то, чего я не хочу делать)
Я пытаюсь написать код на Python для отображения цвета, взятого из программы Swift. Однако этот цвет имеет расширенный формат SRGB. ExtendedSRGB аналогичен стандартному sRGB, за исключением того, что значения RGB могут выходить за пределы типичного...
У меня есть Google Pixel 7, который поддерживает дисплей с широкой гаммой. Я заметил, что когда я просматриваю цвета в браузере, например, посещая эту цветную страницу, и делаю снимок экрана, красный цвет sRGB # FF0000 преобразуется в Display P3 #...
Прежде всего, Я ОБЕЩАЮ, что прочитал массу об этом, в том числе и здесь, но, кажется, ничего подобного. У меня есть три значения для представления цвета, все в пространстве sRGB, и мне нужно преобразовать их в «обычный» RGB (где значения идут от 0...
Преобразованное изображение отображается в черно-белом виде, а не в цвете, поэтому я добавил параметр «-colorspace sRGB», чтобы решить эту проблему, но он не работает.
public function publish_remake_image()
{
Я разрабатываю приложение для Android (в Delphi), которое загружает изображение чистого красного цвета (#FF0000) в цветовом пространстве sRGB. Затем изображение декодируется в растровое изображение, при этом для inPreferredColorSpace установлено...