From: Lincoln M C <mc...@es...> - 2000-01-31 18:29:59
|
Hi, I'm using a current version of your glx drivers with a matrox G400 in a 450MHz PII. I'm using the texturemapper for a scientific application. I require the result of my renderings to be placed in an array which I can render, so I setup glx to render into a GLXPixmap. This works really well and is very fast, but I am unable to get it to work in direct mode. Is direct, off screen rendering supported yet ? My problem is with glReadPixels, it is incredibly slow. About 60ms per call for images that are only 384x288. I looked into the source code and found this was calling __glx_ReadPixels(.....). Two of the calls inside this function seem to be taking most of the time:- _XReply(dpy, (xReply*)&reply, 0, xFalse); /* 53ms */ __GLX_GET_BUFFER(pixels, length, width, height, format, type);/* 19ms */ I dont suppose much can be done about this as it seems to be a X call (I know nothing about X) I would assume this isn't the case in direct mode, but as I said my code doesn't work when direct. I've tried XGetImage but this dosnt seem much faster, and seems total over kill. Can anyone think of a fast way to get my image back into my programs address space ? I dont mind hacking the GLX code around a bit if it would be feasible to get a pointer to off screen memory (after making it shared). Any help much appreciated, Mike Lincoln University of Essex. I |