2014-02-12 5 views
0

PowerVR sgx sdk를 사용하고 있으며 하드웨어 플랫폼은 Linux가 실행되는 Ti DM8168 칩입니다. OpenGL ES2 데모를 만들고 OpenGL 데모의 배경이 항상 검은 색이라는 것을 알았습니다. openGL sdk로 QT lib를 컴파일하고 QGLWidget으로 Qt 데모를 만들지 만, QGLWidget의 배경도 검은 색입니다.OpenGL ES2 배경을 투명하게 만드는 방법

glClearColor (0.0f, 0.0f, 0.0f, 0.0f); 작동하지 않습니다.

첫 번째 fb0을 열고 페인트합니다.

다음 GL 그림을 엽니 다. 전체 화면을 표시합니다.

Qt 데모에서 QGLWidget은 항상 그 뒤에있는 위젯 배경 표지를 가지고 있습니다. Qt 인터페이스는 OpenGL 표시에 영향을 줄 수 없습니다.

파워 VR 데모가 이것에 대해 말하지 않았습니다. 임베디드 시스템에서는 힘든 것으로 보입니다.

이 그림처럼 배경이 Qwidget 메뉴이고 사각형이 QGLWidget의 OpenGL 개체이고 QGLWidget의 배경이 투명하기를 원합니다.

아버지, QT는 항상 OpenGL 화면을 직접 렌더링하므로 렌더링 내용은 다른 하위 계층 위젯이 표시하는 프레임 버퍼를 포함합니다.

enter image description here

답변

0

그것은 힘든되지 않고있다. OpenGL (ESx) 응용 프로그램은 항상 (전체 화면) 프레임 버퍼 (NULL 윈도우 시스템과 독립 실행 형 OpenGLESx 응용 프로그램을 사용하는 경우) 또는 Qt를 사용할 때 Qt 윈도우로 그립니다.

은 아래 할 수있는,이 창을 투명하게 할 수 있도록 :

(1)

(2) 그리기 당신이 DM8x의 DSS에서 비행기 중 하나에, 투명 할 필요가 무엇이든 그리기

각 평면에 대한 전역 알파 설정을 사용하여 최상위 레이어가 표시되는 방식을 관리 할 수 ​​있습니다. 이 방법의 예는 아래 스레드를 참조하십시오.

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

+0

감사 그거 먼저 Qt는 데모 예를 들어, 내가 영향을 미치지 않습니다 두 개의 층으로 정상적인 one.Put를 다룰 것입니다 QGLWidget의 또 다른 정상 QWidget.The의 backgound에 QGLWidget를 넣어 backgound.Set QWS 배경에 영향을주지 QGLWidget의 backgound. –

관련 문제