Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 4 of 4

Thread: Some doubts

  1. #1
    Junior Member Newbie
    Join Date
    Nov 2002
    Location
    India
    Posts
    1

    Some doubts

    I am having problem while picking a line.
    I am creating a display list for line by calling glGenLists(1) and inside the function
    i am using gl calls to draw the lines, at the same time i am printing a character string to
    identify the line. The code snippet is given below..

    {
    GLuint line;
    line = glGenLists(1);

    glNewList(line, GL_COMPILE_AND_EXECUTE);

    glBegin(GL_LINE);
    //COde for drawing line
    ...
    ....
    glEnd();

    //For printing the string
    CString strString = "1";

    glRasterPos3f(GLfloat(1.0), GLfloat(1.0), GLfloat(1.0));
    glPushAttribute(GL_LIST_BIT);
    glListBase(1000);
    glCallLists(strlen((LPSTR)(LPCTSTR)strString), GL_UNSIGNED_BYTE, (GLubyte *)((LPSTR)(LPCTSTR))strString);
    glPopAttribute();

    glEndList();
    }

    I have already created the font for printing the bitmap(character string) and necessary other things...
    those are listed below........


    void CGLStarter::RealizeFont()
    {
    CFont font;
    if(!font.CreateFontIndirect(m_pLogFont))
    {
    AfxMessageBox("Could not set the font. Default font will be used.");
    return;
    }


    if(m_hOldFont == NULL)
    {
    m_hOldFont = (HFONT)::SelectObject(m_hDC, (HFONT)font);
    }
    else
    {
    (HFONT)::SelectObject(m_hDC, (HFONT)font);
    }
    wglUseFontBitmaps(m_hDC, 0, 255, 1000);
    }

    ---------------
    My PixelDescribeFormat is below

    PIXELFORMATDESCRIPTOR pfd =
    {
    sizeof(PIXELFORMATDESCRIPTOR), // size of this pfd
    1, // version number
    PFD_DRAW_TO_WINDOW | // support window
    PFD_SUPPORT_OPENGL | // support OpenGL
    PFD_GENERIC_ACCELERATED | // support accelerated //new
    PFD_DOUBLEBUFFER | // double buffered
    PFD_SWAP_COPY , // swap buffered //new
    PFD_TYPE_RGBA, // RGBA type
    24, // 24-bit color depth
    0, 0, 0, 0, 0, 0, // color bits ignored
    0, // no alpha buffer
    0, // shift bit ignored
    0, // no accumulation buffer
    0, 0, 0, 0, // accum bits ignored
    32, // 32-bit z-buffer
    1, // stencil buffer
    0, // no auxiliary buffer
    PFD_MAIN_PLANE, // main layer
    0, // reserved
    0, 0, 0 // layer masks ignored
    };


    ++++++++++++++++++++++++++++
    ++++++++++++++++++++++++++++


    MY PROBLEM
    ------------
    I am doing necessary things for Namestacker etc. for picking purpose.
    I want to pick this line. Now i have many other things on the screen.
    So in LbuttonDown function I am calling all the displaylists i had created useing the code below

    for(GLuint i=0; i<GetMaxGrelem(); i++)
    {
    if(glIsList(m_glList[i]))
    glCallList(m_glList[i]);
    }

    Now let me tell you Graphics card details and other details
    1) Operating System : Windows NT
    2) Collor Palette 65536 or True Color (in settings)
    3) Display card- Intel(r) 82810 Graphics Controller


    NOW WHEN I PICK THIS LINE ON THE character string i get a Access Violation error in
    glCallList(m_glList[i]); where m_glList[i] denotes the displaylist for line.

    What i observed is that if i pick somewhere else in the line (not on the string say "1"), there is absolutely no
    problem and programs works fine.
    One more thing i observed is if I change the Color palette to 256 then everything works fine.

    This problem does not happen in other graphics card with any color palette like
    a)AGP V6600
    b)TNT2 Model64

    Could you please look into the problem and reply me as early as possible.

    I have some more doubts........
    Sometime my program does not work in Windows 2000.
    Is it because of graphics card? If that is the case please tell me what i should do for that.
    Will GLSetup help me in this regard. Is there GLSetup.exe for Windows 2000 and NT. When should i use
    GLSetup? How to solve this problem? I have gone throgh FAQ of your site, but i did not get any answer to
    my problem.

    What I should have ( like Hardware driver, OpenGl Driver, DLL's ) and how to use those, so that my program will
    work without any problem in any Windows Operating system( NT, 2K, ME, 9X).

    It would be of great help if you answer me these question as soon as possible.


    Thanking you..

  2. #2
    Super Moderator OpenGL Guru
    Join Date
    Feb 2000
    Location
    Montreal, Canada
    Posts
    4,256

    Re: Some doubts

    1. It sounds like some weird driver bug. Intel cards and their drivers are of low quality in case nobody told you.

    2. Use true color (32 bpp).

    3. You can replace your line with something else like a polygon the shape of your line. Maybe that will fix it.

    4. GLsetup is outdated and I dont know if it will be picked up.

    5. Always keep your drivers up to date. Always buy good quality equipment (that integrated intel **** is good for surfing the web)The windows version doesnt concern GL.

    6. GL_COMPILE instead of GL_COMPILE_AND EXECUTE

    V-man
    ------------------------------
    Sig: http://glhlib.sourceforge.net
    an open source GLU replacement library. Much more modern than GLU.
    float matrix[16], inverse_matrix[16];
    glhLoadIdentityf2(matrix);
    glhTranslatef2(matrix, 0.0, 0.0, 5.0);
    glhRotateAboutXf2(matrix, angleInRadians);
    glhScalef2(matrix, 1.0, 1.0, -1.0);
    glhQuickInvertMatrixf2(matrix, inverse_matrix);
    glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
    glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);

  3. #3
    Super Moderator OpenGL Guru
    Join Date
    Feb 2000
    Location
    Montreal, Canada
    Posts
    4,256

    Re: Some doubts

    PS: you are using WinNT? Execellent choice my friend. Dont forget to never update IE unless if you want problems.

    V-man
    ------------------------------
    Sig: http://glhlib.sourceforge.net
    an open source GLU replacement library. Much more modern than GLU.
    float matrix[16], inverse_matrix[16];
    glhLoadIdentityf2(matrix);
    glhTranslatef2(matrix, 0.0, 0.0, 5.0);
    glhRotateAboutXf2(matrix, angleInRadians);
    glhScalef2(matrix, 1.0, 1.0, -1.0);
    glhQuickInvertMatrixf2(matrix, inverse_matrix);
    glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
    glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);

  4. #4

    Re: Some doubts

    Hello-

    You can get the latest i810 graphics drivers here:
    http://developer.intel.com/design/so...atform/810.htm

    The latest downloadble driver is version 3196, dated August 13, 2002.

    If you've tried the newest drivers and are still experiencing your problem, you can try submitting a bug report here:
    http://supportmail.intel.com/scripts....asp?id=39,798

    Unfortunately I can't personally help you too much more than this, since a completely different team in a different geographical location is working on the i81x drivers. However, if you have a small test app that you could email me, I'll try it out on a newer chipset (i845g). If it still fails I'll be happy to take a look at it.

    Thanks,
    -- Ben

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •