OpenGL 및 JOGL이있는 프레임 버퍼를 사용하고 있습니다. 내가 그릴 그래픽 개체가 있습니다.OpenGL 프레임 버퍼 조작, Alpha 채널에서 drawPixels이 실패 함
그래픽이 변경 될 때마다 R, G, B 및 A 정보를 각 픽셀의 바이트로 추출하여 A R G B 순서로 ByteBuffer에 씁니다. 나는 전환을 확인했다, 괜찮아.
GL_RGB 모드를 사용하여 drawPixels 메소드를 호출하면 지정된 좌표에 상자가 그려지고 그래픽에 어떤 색상이 있더라도 검정색이 그려집니다. GL_RGBA 모드를 사용하면 아무 것도 그려지지 않습니다. 당신의 도움에 미리
GL gl=canvas.getGL();
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
gl.glOrtho (0, canvas.getWidth(), canvas.getHeight(),0, -1.0, 1.0);
gl.glMatrixMode(GL.GL_MODELVIEW);
gl.glLoadIdentity();
gl.glDisable(GL.GL_DEPTH_TEST);
gl.glColor3f(1, 1, 1);
//
gl.glRasterPos2i(0, height);
//gl.glDrawPixels(width, height, GL.GL_RGB, GL.GL_BYTE, ib1);
gl.glDrawPixels(width, height, GL.GL_RGBA, GL.GL_BYTE, ib1);
감사
'ib1'은 어떻게 정의되어 있습니까? – datenwolf
ib1은 이미지의 RGBA 값을 복사하는 바이트 배열을 랩하는 바이트 버퍼입니다. – Cookie
실제로 대답을 찾았습니다. Java와 OpenGL의 바이트 형식이었습니다 ... 나중에 문제/해결책을 나중에 게시 할 것입니다. ... – Cookie