Разница в альфа-рендеринге между OpenGL и WebGLC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Разница в альфа-рендеринге между OpenGL и WebGL

Сообщение Anonymous »

Я визуализирую одну и ту же сцену, используя один и тот же код C++: один раз для встроенного OpenGL в Windows и один раз с помощью Emscripten для WebGL. Все в сцене выглядит точно так же, за исключением случаев, когда я что-то рендерю с альфа != 1.0. Разница выглядит следующим образом:
Изображение


Цвет синего куба: (0,0, 0,0, 1,0, 0,5)

Шейдер, используемый для рендеринга куба, ничего не делает, кроме рисования цвета.

Справа показано, как это выглядит с OpenGL, и это ожидаемый результат: синий цвет с половинной прозрачностью. Слева показано, как это выглядит с помощью Emscripten+WebGL. Похоже, что на самом деле отображается цвет (0,5, 0,5, 1,0, 0,5)

Я использую стандартную функцию смешивания:

Код: Выделить всё

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
Есть ли какая-то разница с альфой в WebGL? Что может стать причиной этого?

Подробнее здесь: https://stackoverflow.com/questions/353 ... -and-webgl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»