Jump to content
  • Advertisement
Sign in to follow this  
Desperado

OpenGL Hardware-Accelerated Image Processing

This topic is 4778 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello folks I want to implement some image processing algorithms (like noise filters, rotation etc.) using fast hardware-side mechanisms used in modern graphics boards; basically this comes down to writing a shader for the dynamic TnL pipeline to do the things that I want and get the results back from the graphics board into system memory. Anyone knows if theres a fast and reliable way to access the results of the TnL Pipeline for example in OpenGL or Direct3D? Thanks in advance

Share this post


Link to post
Share on other sites
Advertisement
[ OpenGL ]

If you mean copying the results stored in the framebuffer, a simple glReadPixels will do the job. glReadPixels can be pretty fast depending on the hardware, usually good enough for real-time results. The higher resolution the image is, the higher impact. You probably won't want to be calling it many times per frame either. If you need something more performance intensive there are p(ixel)buffers. pbuffers are pretty much being superceded by framebuffer objects, though. Oh, and worth noting, framebuffer objects have a high hardware requirement.

Share this post


Link to post
Share on other sites
It all depends on what you're wanting to do really. "Image Processing" is a pretty vague term. You could do general linear filters (a MAX of 4x4 on current HW) without much trouble by using different texture image units with various offsets and combining them in a fragment shader. However, more advanced morphological operations (more advanced rank filters, etc) cannot be done, and I highly doubt that any sort of useful colour image processing can be done.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!