Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8947097
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 15, 20262026-06-15T12:39:56+00:00 2026-06-15T12:39:56+00:00

Is there a way to run a shader on Buffer Object and modifying it

  • 0

Is there a way to run a shader on Buffer Object and modifying it with some other data with shader?

In other words: Is there a way to create uniform global variable in shader and modifiable?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-15T12:39:57+00:00Added an answer on June 15, 2026 at 12:39 pm

    Yes, though it depends on your hardware. All of these mechanisms require hardware capable of GL 3.x or above.

    Transform Feedback

    This allows you to capture the results of vertex processing in one or more buffer objects.

    This is the most crude mechanism, because each vertex shader can only access the vertex data it is given as input, and can only write to the output vertex. So the shader can’t access the vertex before or after it. Also, the amount of outputting is quite limited, usually only 4 output values from GL 3.x-class hardware.

    You could use a geometry shader to increase some of your reading and writing abilities; feedback happens after the VS or GS.

    Render to Buffer Object

    Buffer textures are textures that use a buffer object for storage. They’re like really big 1D textures.

    Being a texture, you can freely attach them to a Framebuffer Object and render to it.

    The downside of this technique, beyond the difficulty of rendering to an image with 1 pixel of height, is that you’re dealing with the rasterizer. It’s not perfectly exact. You can use gl_FragCoord to know where you are in the fragment, but if you want to write significantly different data to different areas of the image, there may be difficulties.

    The other problem is that FBO sizes are limited by the viewport dimensions, usually around 8192 to 16384. That’s not a lot of room to write; at best, you can write 65536 individual floats (if the buffer texture uses the GL_RGBA32F format). So you’re very restricted in how much data you can actually write.

    Image Load/Store

    ARB_shader_image_load_store, core in GL 4.2, represents the ability of a shader to arbitrarily read from and write to image data. Combined with buffer textures (textures that use buffer objects as storage), you can arbitrarily read from and write to buffer objects.

    The big downside, besides the hardware requirements, is that there’s no free lunch. By using Image Load Store, you effectively give up on all of OpenGL’s automatic memory synchronization systems. So you have to do all synchronizations manually for writes and reads. This is a big pain and you can very easily screw it up and get undefined behavior without having a clue as to why. It might work on one platform, but not out on a user’s machine.

    You have to be very careful with this stuff.

    Shader Storage Buffer Object

    Shader storage buffer objects are really just Image Load/Store from buffer textures, only with a much nicer interface. It’s like defining structs and just accessing them.

    The same downsides as for Image Load/Store apply. Also, SSBO is really new; only NVIDIA implements it yet, and even then, only in beta drivers.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Is there a way to run some sort of code analysis to find code
Is there some way to run 2 threads at the same time? I want
Is there any way to run code when COM object is about to be
Is there a way to run some sort of script or process after a
Is there some way to run function only once, when user load web site?
Is there any way to run some code after transaction commit in Django? I
Is there some way to run .psp (python server pages) code under apache +
is there a way to run iisexpress app pool under a different identity other
Is there a way to run some function like a trigger when a table
Is there a way to run some custom Javascript whenever a client-side ASP.NET validator

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.