From: Nicholas L. <Nic...@gm...> - 2009-08-18 20:11:36
|
Chia-I Wu-2 wrote: > >> The only thing I can think to maybe try is draw my VGPath to presumably >> the >> surface, then call either vgReadPixels to add it to memory and then >> create a >> ppm file. Does that make sense? > You can create a pbuffer (eglCreatePbufferSurface) and make it current. > You then start drawing as usual, and read the result using vgReadPixels. > The only difference is that the pbuffer surface will not be shown on the > screen. Note that not all drivers support pbuffer. It is > egl_softpipe.so that I am using. > I am using softpipe. If I go from pbuffer surface to VGImage with the following: eglMakeCurrent(eglDisplay, pbuffer, pbuffer, eglContext); drawTriangle(); VGImage triangle = vgCreateImage(...); vgGetPixels(triangle, 0, 0, 0, 0, imgW, imgH); eglMakeCurrent(eglDisplay, windowSurface, windowSurface, eglContext); vgDrawImage(triangle); eglSwapBuffers(eglDispla, windowSurface); I will get my blue triangle displayed to the window but "IN[0]: Register never used" is printed out. This message is printed during the vgDrawImage call. What is it talking about? I also went from pbuffer to memory to VGImage: void *picture = malloc(...); vgReadPixels(picture, ...); vgImageSubData(triangle, picture, ...); and I get the same results (a displayed triangle with the message). -- View this message in context: http://www.nabble.com/Is-Off-screen-rendering-possible-with-EGL-and-OpenVG--tp24977640p25032633.html Sent from the mesa3d-users mailing list archive at Nabble.com. |