Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

514 Good

About vincoof

  • Rank
  1. vincoof

    Multisampling/Depth Peeling

    Quote:Original post by GeometrianI'm not really wanting multisampling and depth peeling--I'm wanting depth peeling without multsampling, but still with mutisampling on the main screen. Either you or I don't get it. You can't just "disable multisampling for testing depth while depth peeling" and "use multisampling for rendering the final colors". Well, in fact you *can* ask your graphics card to do it, but you *will* have strange results at the edges. It will look like a very small hollow around your objects, and as you move your camera the hollow will either flicker or glow slowly, depending on the shape of the objects and the speed of the camera.
  2. vincoof

    FullScreen and OS cursor

    I've never tried AllegroGL but the cursor problem is definitely not an OpenGL issue since OpenGL does not work at this level. The problem resides either in AllegroGL or in another library you are using at the same time. If I were you I would try to ask the question to Allegro forums and/or mailing list.
  3. vincoof

    Multisampling/Depth Peeling

    Not really an answer to your problem, talking philosophy here but screen-based algorithms (such as, but not limited to depth peeling) are pretty doomed to be incompatible with multisampling "as is". Workarounds may give more or less convincing results, but still are "workarounds" and as such have limitations or behave poorly in terms of gpu usage and/or memory usage. The problem resides in the fact that multisampling works internally at the sample level which in fact is a sub-pixel, but when rendering to a texture, only pixels are copied from the texture, not sub-pixels. The lack of sub-pixel information makes subsequent algorithms unable to distinguish which pixels fully belong to the same surface and which ones were combined from multiple surfaces, i.e. pixels at the edges of a surface. DirectX 10 allows shaders to access individual samples (color only, eventually depth since DX 10.1 IIRC) and I guess OpenGL will soon have similar extensions if not done already.
  4. vincoof

    FullScreen and OS cursor

    Quote:Original post by Sagaceil Is it possible ( and how , if not regular API ) to create a fullscreen OS mouse cursor. ( tried to use ShowCursor, LoadCursor etc, but it seems not to work propertly ). ShowCursor and its siblings should do the trick, unless your GUI framework (if any) overrides it. Where do you render your OpenGL window ? In a native Win32 window ? With SDL ? With GLUT ? ...
  5. NVidia drivers provide performance options, and AFAIK some of them tweak the texture rendering fidelity. Take a look at the NVidia Control Panel (or so) there should be an "advanced 3D settings" tab or something like that.
  6. Sure it does. But please note that gl_NormalMatrix is supported with compatibility profile only, which should not be a problem for desktop graphics cards since all of them support this profile, and if a graphics card vendor ever tried to stop the support he would lose a massive number of gamers (which are "customers" for them). This could be a problem for other devices such as mobile platforms, though. [Edited by - vincoof on March 5, 2010 8:59:30 AM]
  7. vincoof

    Masking with blending

    The example you are trying to get is about making a hole so that parts of an object are not visible. If that is what you want, you can use many buffers such as the stencil buffer or the alpha buffer. My favorite is certainly the depth buffer as you are 100% sure it works on any graphics card and is hardware-accelerated : glDepthRange(0,0); // Force writing to the nearest depth value ever possible Draw your "digging" mask glDepthRange(0,1); // Standard depth mapping Draw your object This way you can still use glBlendFunc for additive blending or whatever.
  8. vincoof

    Multipass help

    Quote:Original post by zaneski13So basicly I'm just multiplying the light scene by the diffuse scene but I can't figure out what blend functions to use. Use either : glBlendFunc(GL_DST_COLOR, GL_ZERO); or : glBlendFunc(GL_ZERO, GL_SRC_COLOR); which gives exactly the same results. Quote:Original post by zaneski13Would I be better off rendering the scenes to a texture and then blending the textures appropriately? If you are fill-rate limited, try the render-to-texture approach. If your fillrate is not an issue, I suggest to stick with blending at least in the beginning. Render-to-texture allows you to perform more complex blending at a later stage, and somehow will provide some kind of deferred shading. Quote:Original post by zaneski13Also, how can I query opengl to find out how many texture units I have available? Call glGetIntegerv with GL_MAX_TEXTURE_UNITS. However, please note that the "old" texture unit approach is more or less deprecated, and many graphics cards can render much more textures that what GL_MAX_TEXTURE_UNITS returns. You would need to use fragment shaders though. More information here : http://www.opengl.org/wiki/Textures_-_more#Max_Texture_Units
  9. vincoof

    how to read a one byte texel

    This has to do with the file format you are using. Which type of files does your "photoimpact" software writes to ?
  10. The NVidia website provides drivers for many card / OS combinations. Make sure to click on the following link, it will redirect your browser to their latest drivers page : http://www.nvidia.com/drivers However, as mr_tawan pointed out, laptops are slightly different, and one may go to the laptop vendor's website in order to download the graphics drivers, even if the driver is mostly developed by NVidia. Also, NVidia recently started the NVidia Verde program which is meant to automatically update one's notebook driver (running NVidia hardware, obviously). More information on this program here : http://www.nvidia.com/object/notebook_drivers.html [Edited by - vincoof on January 6, 2010 8:14:13 AM]
  11. I've seen this behavior several times on dual-screen displays with only the "first" screen displaying 3D correctly, the second screen always hanged or showed the background, but the app still worked like a charm apart from graphics : sound ok, joystick ok, ... well the app did not crash, it just "did not show". Ask your user if he is using multiple screens and if so, ask him to move the window over the other screen(s) to see if the problem still persists. Hope you have a title bar or something in order to move the window easily from screen to screen. jm2c
  12. vincoof

    Alpha Blending With Fog

    First, let me congratulate your detailed description with lots of useful screenshots and the very clear text. It surely helps alot comprehending the problem. About fog and blending, without entering too much in details, when an object is rendered, fog affects the RGB color of the object being rendered, not the alpha ; then the computed RGBA color is then blended with the contents of the existing fragments in the framebuffer, using the blending equation you defined. What you are trying to achieve is impossible with blending like (GL_ONE, GL_ONE_MINUS_SRC_ALPHA) because your blending technique consists in adding texels that fade to black when alpha fade to black, but the black texels will be bypassed by the fog (at least, the RGB part) and won't be black anymore, thus the problem in the third image. My guess is that your alpha texture is passed as a modulation to the color texture. I'd say your color channel and alpha channel look like this, respectively : In order to obtain the desired effect with blending + fog, first you have to build a full RGB texture, i.e. do NOT modulate the alpha channel into RGB. For instance the above texture example would yield the following RGB and alpha channels, respectively : Then use this texture with (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA). You tried it and showed seams, but you did with alpha modulation into the RGB channel, please try it without alpha modulation and I'm pretty sure the render will be correct (i.e. no seam). With all that said and done, fog is yours : put the color you wish, be it white or black or grey or whatever groovy color and everything should be fine... at least, in theory !
  13. If you don't transform the texture matrix (i.e. comment all lines between glMatrixMode(GL_TEXTURE) and glScalef(scale,scale,1)), does the texture appear ? Also, I'm not sure why setting an alpha to 0.8 is meant to darken the whole scene. What kind of blending do you perform ? Which format is the texture (luminance ? alpha ? intensity ? rgb ? rgba ? ...) ?
  14. vincoof

    color mask problem

    Try calling glPushAttrib(GL_ALL_ATTRIB_BITS) just before the beginning of the first view and glPopAttrib() after the end the of the second view. This is slow and should be used for testing purposes only. If the crosshair renders correctly with glPushAttrib/glPopAttrib, try limiting the number of bits with the glPushAttrib call (i.e. try something else than GL_ALL_ATTRIB_BITS) until you find which attrib is responsible of your problem. Since an attrib bit is related to multiple GL states, once you have detected the bit, you will still have to look further by calling functions like glGet to detect exactly which GL state is causing you trouble, and of course when you found it, make sure to enter your crosshair rendering with an appropriate state. The process by trial and error is a bit boring but the steps are simple, and if by chance you don't have to compile your program (i.e. Python) tests should be very fast.
  15. vincoof

    ATI Catalyst 9.12 and OpenGL3.2

    As a side note, checking the OpenGL major version only by checking the first character of the string will do the trick up to OpenGL 9.x, but for OpenGL 10 and higher it will yield to wrong results. I agree this is a veeeeery long term issue, though x)
  • 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!