ПрограммированиеФорумГрафика

Unity: почему Linear Color Space смотрится по-разному на OpenGl и directX?

Страницы: 1 2 3 Следующая »
#0
17:24, 24 июня 2018

Привет всем!
Постепенно работаю над поддержкой directX согласно мануалам unity.
Может у меня руки кривые, может еще что не так, но заметил странность:
GammaColor Space-картинка смотрится одинаково на компах с OpenGL и DirectX.
Есть, правда, странная проблема: воокруг игрока рисуется полупрозрачный куб (куб не крутится при вращении камеры). Непонятно что это за куб, думал это скайбокс... Отключил скайбоксы, вообще все отключил, взял камеру с дефолтными настройками и все равно виден очень слабо заметный куб воокруг игрока.
Может у кого есть предположение что это за мэджик куб.

LinearColor Space-картинка смотрится по-разному на компах с OpenGL и DirectX. На компе с OpenGL картинка свелтее. И значительно так светлее... Нет, яркость экрана одинаковая, монитор тоже, компы работают на виртуалках, проверял каждый компонент RGB цвета на глаз и пипеткой - смотрятся одинаково, QualitySettings на обоих билдах один и тот же. А вот картинка игры разная. Особенно сильно бьет по глазам UI, он до того разный, что и слепой заметит серый текст вместо черного.
В чем может быть причина? Как это возможно исправить?

OpenGL:
OGL | Unity: почему Linear Color Space смотрится по-разному на OpenGl и directX?

DirectX:
directX | Unity: почему Linear Color Space смотрится по-разному на OpenGl и directX?

#1
19:41, 24 июня 2018

Alerr
Скрины чтоль дай

#2
20:17, 24 июня 2018

MrShoor
> Alerr
> Скрины чтоль дай

Сделал скрины черно-белого шахматного помещения.
OpenGL-картинка темнее в LinearColorSpace.

#3
20:21, 24 июня 2018

Alerr
Хмм.. либо проблема в освещении, либо mip уровни генерятся без учета sRGB в OpenGL
Похоже освещение чуть разное...

#4
21:23, 24 июня 2018

MrShoor
> Похоже освещение чуть разное...
Значения у directionalLight одно и то же. Удалял лигхтмапы на всякий случай, на скинах их нет.
В GammaColorSpace картинка одинаковая, во всяком случае на глаз разницы не видно.
Может у кого-то есть еще идеи...

#5
22:01, 24 июня 2018

Какая версия Unity? Какой шейдер? Используется ли пост-обработка? Если вместо текстуры использовать серый цвет (0.5, 0.5, 0.5), яркость тоже будет отличаться?
Стоит ли в настройках текстуры галочка sRGB (Color Texture)?

#6
22:33, 24 июня 2018

ENAleksey
> Какая версия Unity?
Пробовал на 2018.1.2f1 и 2018.1.6f1.
> Какой шейдер?
Шейдер постобработки относительно сложный. Для эксперимента я вообще взял просто камеру без всего и получил такой результат.
> Если вместо текстуры использовать серый цвет (0.5, 0.5, 0.5), яркость тоже будет отличаться?
Попробую, но думаю результат будет отличаться.
> Стоит ли в настройках текстуры галочка sRGB (Color Texture)?
Постобработка в OnRenderImage оперирует RenderTexture-ами, я не смотрел, посмотрю возможность установки sRGB = true. Но при чем тут это, когда просто камера без всего дает другой результат.

#7
22:42, 24 июня 2018

Alerr
> Шейдер постобработки относительно сложный
Я про шейдер освещения.
Alerr
> Постобработка в OnRenderImage оперирует RenderTexture-ами
Я про чёрно-белую текстуру шахматной доски.

#8
22:47, 24 июня 2018

ENAleksey
> Я про шейдер освещения.
Я не особо силен в освещении, оно вроде считается в самом surfaceShader, а он стандартный.

> Alerr
>> Постобработка в OnRenderImage оперирует RenderTexture-ами
> Я про чёрно-белую текстуру шахматной доски.
Да, стоит sRGB-галка.

Вывел просто серый цвет (0.5,0.5,0.5,1):
--- | Unity: почему Linear Color Space смотрится по-разному на OpenGl и directX?

Слева OpenGL, справа DirectX.

#9
23:01, 24 июня 2018

Alerr
Попробуй отключить sRGB и проведи гамма коррекцию сам https://habr.com/post/353632/

#10
23:30, 24 июня 2018

IBets
> Попробуй отключить sRGB и проведи гамма коррекцию сам https://habr.com/post/353632/
Провел коррекцию в пост-эффекте на компе с OpenGL. На компе с OpenGL, серый цвет стал (186,186,186), а на directX(коррекцию не прводил) (188,188,188).
Днем еще продолжу возиться. А какой прок от этой коррекции? Цвета-то можно подогнать, но разве за это не должна отвечать Unity и OpenGL/DirectX?

#11
23:34, 24 июня 2018

Alerr
Ну вот когда ты устанавливаешь sRGB она должна проводиться автоматически. Но где то косяк, не исключенно что в Unity. Обрати внимание все текстуры должны быть так же в sRGB

#12
11:10, 25 июня 2018

IBets
> Обрати внимание все текстуры должны быть так же в sRGB
Даже всякие маски?

#13
11:14, 25 июня 2018

Alerr
Diffuse текстуры обычно только

#14
11:36, 25 июня 2018

Может это мэджик куб высветляет картинку?

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.