randy@tessa.iaf.uiowa.edu (randy frank) (08/23/90)
Hello, I have written an application which makes extensive use of transparent, anti-aliased points on a GTX system using the calls: blendfunction, smoothpnt and subpixel. The results look great and run fast. Now I need to make the program run on PIs with 56 planes. I do not use the Zbuffer currently in my program (I was thinking of preloading it for use as an arbitrary cutting plane...). On the PI I could create my own RGBA pixel buffer in sw and do all my rendering offscreen but I would like to use the pipeline to do as much as possible. It seems the overhead in using lreadrect and lwriterect for a single pixel in the onscreen framebuffer is too high to make use of it. So I believe I must use my own sw framebuffer. I was thinking: 1) set the system in cmode 2) set my source alpha as the colorindex 3) allow the AA routines to change the lower 4 bits of my fake colorindex 4) set feedback mode 5) send my points through the pipe 6) retrieve the color index (which is now a function of AA and transparency) make a bending computation based on the returned index and my RGBcolor and write into my framebuffer My question: will this work and is it fast? will points being rendered with subpixel true return multiple points in the feedback buffer? and will those points have their color indicies modifed for AA? So to outline what I propose to emulate the GTX transparent/AA points: I will use the PIs handling of AA in color map mode to generate a set of point with modified alpha values which I will read back via feedback and blend into my own software framebuffer. Now this just feels like I'm using a trick and that it might fail in future GL revisions. So can anyone suggest a better method? and if my methods won't work can someone tell me why before I waste a lot of time? Thanks in advance... -- rjf. Randy Frank, Engineer | (319) 335-6712 University of Iowa, Image Analysis Facility | 73 EMRB randy@tessa.iaf.uiowa.edu | Iowa City, IA 52242