Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. OpenGL enabled video cards and OpenGL picking...

OpenGL enabled video cards and OpenGL picking...

Scheduled Pinned Locked Moved C / C++ / MFC
graphicsgame-devhardwarehelpquestion
7 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F Offline
    F Offline
    Francois Gasnier
    wrote on last edited by
    #1

    I have been programming a few applications that rely on OpenGL for 2, 3 years now and I still got a few iritating problems when it comes to picking. With many systems (e.g. modern Dell or Compaq PCs) picking does not work if you do not set video card hardware acceleration to the minimum. Until now I have handled the problem by asking customers to adjust their display parameters, but some are getting angry and I would like to get rid of the problem for good. So here are my questions: - Have some of you met and solved the problem yet? - Then how ? Which OpenGL initialization framework (classes) are you using? - Some people recommended using VTK, Ilog Vision, or other OpenGL based frameworks and quitting direct OpenGL programming. Are any developpers here using one of these solutions and living happy with it? Thanks in advance for any information. François GASNIER

    J P 2 Replies Last reply
    0
    • F Francois Gasnier

      I have been programming a few applications that rely on OpenGL for 2, 3 years now and I still got a few iritating problems when it comes to picking. With many systems (e.g. modern Dell or Compaq PCs) picking does not work if you do not set video card hardware acceleration to the minimum. Until now I have handled the problem by asking customers to adjust their display parameters, but some are getting angry and I would like to get rid of the problem for good. So here are my questions: - Have some of you met and solved the problem yet? - Then how ? Which OpenGL initialization framework (classes) are you using? - Some people recommended using VTK, Ilog Vision, or other OpenGL based frameworks and quitting direct OpenGL programming. Are any developpers here using one of these solutions and living happy with it? Thanks in advance for any information. François GASNIER

      J Offline
      J Offline
      JWood
      wrote on last edited by
      #2

      One solution - somewhat difficult to program is to draw each 3Dobject twice - once in the accumulation buffer and one the regular way. Each object is drawn in a different color so when you pick you use getpixel and analyze th e ID coded as a color. J. ----------------------------

      1 Reply Last reply
      0
      • F Francois Gasnier

        I have been programming a few applications that rely on OpenGL for 2, 3 years now and I still got a few iritating problems when it comes to picking. With many systems (e.g. modern Dell or Compaq PCs) picking does not work if you do not set video card hardware acceleration to the minimum. Until now I have handled the problem by asking customers to adjust their display parameters, but some are getting angry and I would like to get rid of the problem for good. So here are my questions: - Have some of you met and solved the problem yet? - Then how ? Which OpenGL initialization framework (classes) are you using? - Some people recommended using VTK, Ilog Vision, or other OpenGL based frameworks and quitting direct OpenGL programming. Are any developpers here using one of these solutions and living happy with it? Thanks in advance for any information. François GASNIER

        P Offline
        P Offline
        Phil Martin
        wrote on last edited by
        #3

        I know it wasn't one of your questions but over the last 6 years I've never encountered picking to not work. I wish I had, and could help you out. I have not personally tried the application on a branded machine, but it has been tested on a wide variety of cards by a number of people, right from the intel OEM chip (8152 maybe, I can't remember) of a few years ago, to the Radeon 9800 pro. None of them needed any special adjustment to make them work. In response to your third question, I've not seen an OpenGL framework that I was happy with yet, so you are not alone in using direct OpenGL programming :) Phil

        F 1 Reply Last reply
        0
        • P Phil Martin

          I know it wasn't one of your questions but over the last 6 years I've never encountered picking to not work. I wish I had, and could help you out. I have not personally tried the application on a branded machine, but it has been tested on a wide variety of cards by a number of people, right from the intel OEM chip (8152 maybe, I can't remember) of a few years ago, to the Radeon 9800 pro. None of them needed any special adjustment to make them work. In response to your third question, I've not seen an OpenGL framework that I was happy with yet, so you are not alone in using direct OpenGL programming :) Phil

          F Offline
          F Offline
          Francois Gasnier
          wrote on last edited by
          #4

          Thank you for your interesting answer. There must be something really wrong with the way I code. What is really surprising me is that I have tried various ways to initialize OpenGL using some functions/classes found on this site (and others) but up to now I have never found something really satisfactory: - picking would not work in fully accelerated mode, - application would become very unstable (e.g. windows 2000 would reboot when picking althought we were working on a brand new installation), - application would not display anything in the OpenGL window at all... Could you give a link to the OpenGL initialization code you are using or a sample? pmartin wrote: so you are not alone in using direct OpenGL programming Thanks. I have been speaking of my problems with picking with some professionnal of the CAD/CAM industry and most told me that I should not be surprised to meet many problems and I felt as if I did not knew the real world at all...

          P 1 Reply Last reply
          0
          • F Francois Gasnier

            Thank you for your interesting answer. There must be something really wrong with the way I code. What is really surprising me is that I have tried various ways to initialize OpenGL using some functions/classes found on this site (and others) but up to now I have never found something really satisfactory: - picking would not work in fully accelerated mode, - application would become very unstable (e.g. windows 2000 would reboot when picking althought we were working on a brand new installation), - application would not display anything in the OpenGL window at all... Could you give a link to the OpenGL initialization code you are using or a sample? pmartin wrote: so you are not alone in using direct OpenGL programming Thanks. I have been speaking of my problems with picking with some professionnal of the CAD/CAM industry and most told me that I should not be surprised to meet many problems and I felt as if I did not knew the real world at all...

            P Offline
            P Offline
            Phil Martin
            wrote on last edited by
            #5

            There are problems with many open gl drivers, without a doubt. Picking is not one of them I think. Most of the hardware around, except for maybe the higher end workstations do their picks with with the software fallbacks. So even on the crummiest implementation, they should have it right. However, one thing I have found is that up to date drivers are a must. A number of people have tried the software, (http://aztec.sourceforge.net) and it just wouldn't start because he didn't have the most recent drivers for his video card. You can checkout or download the most recent code, and the relvant opengl initialisation code is in aztec\source\AztecGUICommon\src\gui\win32\MGLCanvasImpl.cpp and I can show you the picking code if you want. And I wouldn't try to build the project unless you are VERY patient. Requires finding and downloaded a number of 3rd party libs, and it gets pretty annoying very fast :) Phil

            F 1 Reply Last reply
            0
            • P Phil Martin

              There are problems with many open gl drivers, without a doubt. Picking is not one of them I think. Most of the hardware around, except for maybe the higher end workstations do their picks with with the software fallbacks. So even on the crummiest implementation, they should have it right. However, one thing I have found is that up to date drivers are a must. A number of people have tried the software, (http://aztec.sourceforge.net) and it just wouldn't start because he didn't have the most recent drivers for his video card. You can checkout or download the most recent code, and the relvant opengl initialisation code is in aztec\source\AztecGUICommon\src\gui\win32\MGLCanvasImpl.cpp and I can show you the picking code if you want. And I wouldn't try to build the project unless you are VERY patient. Requires finding and downloaded a number of 3rd party libs, and it gets pretty annoying very fast :) Phil

              F Offline
              F Offline
              Francois Gasnier
              wrote on last edited by
              #6

              Thank you very much for your efficient help! The picking in my application now works fine however the hardware acceleration is set. In fact it was not because of an error in my OpenGL initializing code which is pretty similar to the one you use for aztech. While comparing your picking code and mine I found out that I forgot to save the projection matrix and to call glInitNames() before drawing. I added those few lines and now it works. This bug has been a pain for 2 years and people doing support will be greateful not to have to tell their customers they need to have their system administrator change hardware acceleration level in order to have the application work properly. Thank you! I wish I could help you althought I have not reached your expertise yet.

              P 1 Reply Last reply
              0
              • F Francois Gasnier

                Thank you very much for your efficient help! The picking in my application now works fine however the hardware acceleration is set. In fact it was not because of an error in my OpenGL initializing code which is pretty similar to the one you use for aztech. While comparing your picking code and mine I found out that I forgot to save the projection matrix and to call glInitNames() before drawing. I added those few lines and now it works. This bug has been a pain for 2 years and people doing support will be greateful not to have to tell their customers they need to have their system administrator change hardware acceleration level in order to have the application work properly. Thank you! I wish I could help you althought I have not reached your expertise yet.

                P Offline
                P Offline
                Phil Martin
                wrote on last edited by
                #7

                You are very welcome. I'm extremely pleased it worked out for you! And don't sell yourself short, I think you are doing well. Its a fairly easy thing to overlook, and once you found a solution (change hardware acceleration) it is very easy to not continue looking. Anyway, have fun, ad feel free to contact me on the aztec forums, mailings lists, here, or via email. Phil

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • World
                • Users
                • Groups