in Education by
We have a 3D viewer that uses OpenGL, but our clients sometimes complain about it "not working". We suspect that most of these issues stem from them trying to use, what is in effect a modern 3d realtime game, on a businiss laptop computer. How can we, in the windows msi installer we use, check for support for openGL? And as a side note, if you can answer "List of OpenGL supported graphic cards?", that would also be greate. Strange that google doesnt help here.. JavaScript questions and answers, JavaScript questions pdf, JavaScript question bank, JavaScript questions and answers pdf, mcq on JavaScript pdf, JavaScript questions and solutions, JavaScript mcq Test , Interview JavaScript questions, JavaScript Questions for Interview, JavaScript MCQ (Multiple Choice Questions)

1 Answer

0 votes
by
Depends on what the customers mean by "not working". It could be one of: it does not install/launch at all, because of lack of some OpenGL support. it launches, but crashes further on. it launches, does not crash, but rendering is corrupt. it launches and renders everything correctly, but performance is abysmal. All Windows versions (since 95) have OpenGL support built-in. So it's unlikely to cause situation 1) above, unless you application requires higher OpenGL version. However, that default OpenGL implementation is OpenGL 1.1 with software rendering. If user did not manually install drivers that have OpenGL support (any driver downloaded from NVIDIA/AMD/Intel site will have OpenGL), they will default to this slow and old implementation. This is quite likely to cause situations 3) and 4) above. Even if OpenGL is available, on Windows OpenGL drivers are not very robust, to say mildly. Various bugs in the drivers are very likely to cause situation 2), where doing something valid causes a crash in the driver. Here's a C++/WinAPI code snippet that creates a dummy OpenGL context and retrieves info (GL version, graphics card name, extensions etc.): // setup minimal required GL HWND wnd = CreateWindow( "STATIC", "GL", WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, 0, 0, 16, 16, NULL, NULL, AfxGetInstanceHandle(), NULL ); HDC dc = GetDC( wnd ); PIXELFORMATDESCRIPTOR pfd = { sizeof(PIXELFORMATDESCRIPTOR), 1, PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL, PFD_TYPE_RGBA, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, PFD_MAIN_PLANE, 0, 0, 0, 0 }; int fmt = ChoosePixelFormat( dc, &pfd ); SetPixelFormat( dc, fmt, &pfd ); HGLRC rc = wglCreateContext( dc ); wglMakeCurrent( dc, rc ); // get information const char* vendor = (const char*)glGetString(GL_VENDOR); const char* renderer = (const char*)glGetString(GL_RENDERER); const char* extensions = (const char*)glGetString(GL_EXTENSIONS); const char* version = (const char*)glGetString(GL_VERSION); // DO SOMETHING WITH THOSE STRINGS HERE! // cleanup wglDeleteContext( rc ); ReleaseDC( wnd, dc ); DestroyWindow( wnd ); You could somehow plug that code into your installer or application and at least check GL version for being 1.1; this will detect "driver is not installed" situation. To work around actual OpenGL driver bugs, well, you have to figure them out and work around them. Lots of work.

Related questions

0 votes
    We have a 3D viewer that uses OpenGL, but our clients sometimes complain about it "not working". We ... Questions for Interview, JavaScript MCQ (Multiple Choice Questions)...
asked Mar 17, 2022 in Education by JackTerrance
0 votes
    I'm starting a hobby game project on Windows that will make heavy use of 3D graphics effects. It ... JavaScript Questions for Interview, JavaScript MCQ (Multiple Choice Questions)...
asked Mar 24, 2022 in Education by JackTerrance
0 votes
    I'm pretty new to the iPhone platform, so I'm wondering what the best way to switch between ... JavaScript Questions for Interview, JavaScript MCQ (Multiple Choice Questions)...
asked Mar 11, 2022 in Education by JackTerrance
0 votes
    ___________ is used for testing and different quality checks. A. Production B. Development C. Quality...
asked Feb 20, 2023 in Technology by JackTerrance
0 votes
    I am beginner for the cocos2d, but thought that cocos2d derived from the openGL. Actually I am having basic ... Questions for Interview, JavaScript MCQ (Multiple Choice Questions)...
asked Feb 17, 2022 in Education by JackTerrance
0 votes
    I'm writing an app in OpenGL ES 1.1. I'm rendering a textured sphere around the viewer, i.e. ... , JavaScript Questions for Interview, JavaScript MCQ (Multiple Choice Questions)...
asked Feb 15, 2022 in Education by JackTerrance
0 votes
    ____________ will have the objects only after passing quality checks in QAS. A. Production B. Development C. Quality...
asked Feb 20, 2023 in Technology by JackTerrance
0 votes
    So I am trying to build a range pinger which job will be to use 2 IP addresses and then compare ... JavaScript Questions for Interview, JavaScript MCQ (Multiple Choice Questions)...
asked Feb 21, 2022 in Education by JackTerrance
0 votes
    Which of the following attack-based checks WebInspect cannot do? (a) cross-site scripting (b) directory traversal (c ... questions and answers pdf, mcq on Cyber Security pdf,...
asked Nov 3, 2021 in Education by JackTerrance
0 votes
    ____________ tool is used to identify any accidental leakage of security keys by performing high entropy checks on the Git ... (1)Checkmarx (2)Nikto (3)Pytaint (4)TruffleHog...
asked Jun 1, 2021 in Education by JackTerrance
0 votes
    ________ is an operational framework that stimulates software consistency and standardization through automation while emphasizing ... (2)DevSecOps (3)DevOps (4)Automation...
asked May 18, 2021 in Technology by JackTerrance
0 votes
    Do you know how you could add support for Web Service transactions?...
asked Jun 6, 2021 in Technology by JackTerrance
0 votes
    Critically analyse and asses the contention that politics is a science. Identify and clearly explain any one of the ... is a science Select the correct answer from above options...
asked Aug 3, 2022 in Education by JackTerrance
0 votes
    Why does Marcuse support state interference in an individual’s life? Please answer the above question....
asked Aug 3, 2022 in Education by JackTerrance
...