• Advertisement


  • Content count

  • Joined

  • Last visited

Community Reputation

120 Neutral

About grasshop

  • Rank
  1. OpenGL SwapBuffers issue

    Ok I've found out what changed on my system. It's because I turned off Vista Aero that this started to happen. Turning it back on it works properly. So what is it about Aero being off that makes it work differently?   EDIT: More specifically it is the "enable desktop composition" effect.
  2. Hey guys.   I'm using double buffering with the flags:   Then I'm trying to use SwapBuffers(window_hDC); to update a rending scene at certain intervals, but there is a problem with it just switching between buffer images instead of keeping a solid image on the screen. So it winds up looking like this:     Alternating between the two buffers instead of displaying a solid image.   Is this an issue caused by my card driver? Because I think this behaviour has actually changed, I never remember it doing this before - and I think I might have updated my driver at some point. In any case does anybody please know a way of possibly resolving or working around this? I need to keep a double buffer mechanism though.   Thanks for any help.   - System Info: http://pastebin.com/S2neAq4S   ps. I know this isn't directly OpenGL but I thought it fitted best here, please move it if it's in the wrong forum sorry.
  3. Ok, thanks for the help. I think at this point anyway it will be better to just have the user sort their own images out, that seems to be what some other game making environment just do. I guess it's not that big or common a problem.
  4. The problem is I don't actually have any control over anything myself as I am working on a user game development environment and the user could use any textures themselves and call upon any blend functions as well to that matter. I ask about DirectX because this problem doesn't occur in another game development environment which I am actually trying to emulate and it uses DirectX instead of OpenGL. I'm wondering how on earth the guy that wrote that managed to resolve this issue nicely. I apologise for not giving the full circumstances before I was trying not to complicate things.
  5. Can I just ask, does DirectX suffer from this same issue?
  6. Thanks for the info. Is there though any shaders I could use to deal with this?
  7. Hi, Can somebody please tell me how I can stop texture interpolation from interpolating with fully transparent pixels? I am just using this code for interpolation: glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); At the moment my sprites that use transparency all have unnaturally coloured edges to them when I use interpolation, which isn't pretty Thanks.
  8. Thanks for the help, I did it manually a lot better. [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]
  9. Hi guys, I am trying to create a new texture from a background texture but with it's alpha values set from the colour gradient of another texture. Ie like this: [img]http://i.imgur.com/qkIIz.png[/img] This is a framework of the C++ code I am using: [CODE] unsigned tex_aft(int tex, int copy_tex) { //tex is the texture to set the alpha to, copy_tex is the texture to take the colour gradients from for the alpha values GLuint texture = tex, copy_texture = copy_tex; glPushAttrib(GL_CURRENT_BIT | GL_COLOR_BUFFER_BIT | GL_ENABLE_BIT); glColor4f(1,1,1,1); glClear(GL_COLOR_BUFFER_BIT); glDisable(GL_BLEND); glBindTexture(GL_TEXTURE_2D, texture); int w, h; glGetTexLevelParameteriv(GL_TEXTURE_2D,0,GL_TEXTURE_WIDTH, &w); glGetTexLevelParameteriv(GL_TEXTURE_2D,0,GL_TEXTURE_HEIGHT, &h); glEnable(GL_BLEND); glBlendFunc(GL_ONE_MINUS_DST_ALPHA, GL_SRC_COLOR); glBindTexture(GL_TEXTURE_2D, copy_texture); char* bitmap = new char[(h<<(lgpp2(w)+2))|2]; //lgpp2() function is used to get powers of two glGetTexImage(GL_TEXTURE_2D, 0, GL_RGBA, GL_UNSIGNED_BYTE, bitmap); GLuint tex_new; glGenTextures(1, &tex_new); glBindTexture(GL_TEXTURE_2D, tex_new); glTexImage2D(GL_TEXTURE_2D, 0, 4, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, void(bitmap)); delete[] bitmap; glPopAttrib(); return tex_new; } [/CODE] But from what I know you can't use glBlendFunc to blend bound textures like this, all this code winds up doing is returning a straight replica of the copy_tex. So does anybody here please know what code I could use to blend the two textures like I have described and create a new texture from this? Thanks for any help.
  • Advertisement