2014-02-12 2 views
0

Я использую PowerVR sgx sdk, а аппаратная платформа - это чип Ti DM8168 с linux, работающим на нем. Я делаю демонстрацию openGL ES2 и обнаружил, что фон демонстрации openGL всегда является черным. Я также скомпилируйте QT lib с помощью openGL sdk и сделайте демо Qt с QGLWidget, но фон QGLWidget также черный.Как сделать openGL ES2 фоном прозрачным

glClearColor (0.0f, 0.0f, 0.0f, 0.0f), не работает.

сначала открыть fb0, а что-нибудь покрасить.

затем открыть GL painting.This будет охватывать весь экран.

В Qt-демоверсии QGLWidget всегда имеет фоновое покрытие виджета позади него. Интерфейс Qt не может повлиять на отображение openGL.

Демоверсия powerVR не говорила об этом. Кажется, что это сложная вещь в встроенной системе.

Я хочу, чтобы это как это изображение, фон - это меню Qwidget, а квадрат - объект openGL в QGLWidget, а база данных QGLWidget прозрачна.

Отец, QT всегда напрямую разглаживает экран openGL, поэтому разрастающийся контент покрывает фреймбуфер, где отображаются другие виджеты под слоем.

enter image description here

ответ

0

Это не жесткий и возможно. Приложение OpenGL (ESx) всегда обращается либо к (полноэкранному) фреймбуферу (при использовании оконной системы NULL, и к автономному приложению openGLESx), либо к окну Qt при использовании QWS, как в вашем случае.

Чтобы быть в состоянии сделать это окно прозрачным, вы можете сделать ниже:

(1) Нарисуйте все, что вы должны быть прозрачными, на одной из плоскостей в ДСС в DM8x

(2) Draw фоновая (непрозрачная) рамка на нижнюю плоскость в DSS

Теперь вы можете использовать глобальную настройку альфа для каждой плоскости, чтобы управлять тем, как отображается верхний слой. Для примера этого подхода см. Ниже нить.

http://e2e.ti.com/support/embedded/linux/f/354/t/70597.aspx

+0

Благодаря first.But Qt демонстрационный пример, я положил QGLWidget на другой нормальный QWidget.The Backgound из QGLWidget накроет нормального one.Put в два слоя не будет влиять на фоне backgound.Set QWS не влияет на backgound QGLWidget. –

Смежные вопросы