PDA

View Full Version : help me with opengl accumulation buffer



hapcafe
03-14-2002, 06:52 PM
(sorry for my must-be awkward English)I recently used opengl accumulation buffer to implement motion blur effect in my real time application in which the detail is very simple. Only for checking my supposition, I use the combination of the only two successive images to make a motion-blurred one. The first image is stored in accumulation buffer, and after the second one being accumulated into the buffer and displayed, the buffer is replaced by the second image. This cycle continues. But the problem is that the operation on accumulation buffer seems to be very time-consuming and the fps is curiously low. Is this caused by the low-efficiency of operation on accumulation buffer given that the scene is very simple? But I believe that accumulation buffer should be very high efficient. Why? Please help me.
pseudocode:
render2buffer(t);
glAccum(GL_LOAD,0.5);
while(1) {
t+=dt;
render2buffer(t);
glAccum(GL_ACCUM,0.5);//combine the 2
//scenes
glAccum(GL_RETURN,1.0);//display it
render2buffer(t)
glAccum(GL_LOAD,0.5);//this is not
//efficient, but it is for
//simplification
}

SirKnight
03-14-2002, 06:59 PM
But the problem is that the operation on accumulation buffer seems to be very time-consuming and the fps is curiously low. Is this caused by the low-efficiency of operation on accumulation buffer given that the scene is very simple? But I believe that accumulation buffer should be very high efficient. Why?


Because the accum buffer is not supported in hardware on any comsumer 3d cards. So its being emulated in software. There was a discussion on this board somewhere by Matt, one of the nvidia guys that comes to this board, where he talked about why consumer cards dont support it in hardware. So only those expensive professional graphics cards support it in hardware. Well not all but most i think.

-SirKnight