View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0015776 | VTK | (No Category) | public | 2015-10-13 09:46 | 2016-08-12 09:55 | ||||
Reporter | Luc Habert | ||||||||
Assigned To | Kitware Robot | ||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | ||||
Status | closed | Resolution | moved | ||||||
Platform | OS | OS Version | |||||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0015776: OpenGL2: vtkPlotPoints not displaying any point | ||||||||
Description | I have the same problem as addressed in ce285269b63f56b5aab06bf13381ba4f5b31b709, this time on a desktop system: windows 7 32 bits, AMD Radeon HD5450, VS 2008. glGetString(GL_VERSION) returns: 4.4.13283 Compatibility Profile Context 14.501.1003.0 It seems to be working fine on other systems of ours. I can fix the symptoms by adapting the mentioned commit. I fear that adding an exception every time a faulty card is discovered is not a workable solution. However, systematically calling the glEnable(GL_POINT_SPRITE); glTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_TRUE); causes OpenGL errors on other systems, so it is not a solution either. | ||||||||
Tags | No tags attached. | ||||||||
Project | TBD | ||||||||
Type | incorrect functionality | ||||||||
Attached Files | |||||||||
Relationships | |
Relationships |
Notes | |
(0035279) Luc Habert (reporter) 2015-10-13 13:09 |
A test that seems to work on our machines is to call glGetTexEnviv(GL_POINT_SPRITE, GL_COORD_REPLACE, &someint) If no opengl error is raised, then we should call glTexEnvi(GL_POINT_SPRITE, ...). Here is precisely what I implemented: 1) Add an int field useGLPointSprite in vtkOpenGLContextDevice2D initialised to -1 by the constructor (I think it's better to work inside vtkOpenGLContextDevice2D than to expose on vtkRenderWindow a property specific to an opengl2 problem). 2) Add method bool vtkOpenGLContextDevice2D::UseGLPointSprite() { if (UseGLPointSprite == -1) { if (vtkOpenGLRenderWindow::GetContextSupportsOpenGL32()) { while (glGetError() != GL_NO_ERROR) { } glIsEnabled(GL_POINT_SPRITE); if (glGetError() == GL_NO_ERROR) { GLint v; glGetTexEnviv(GL_POINT_SPRITE, GL_COORD_REPLACE, &v); useGLPointSprite = (glGetError() == GL_NO_ERROR ? 1 : 0); } else { useGLPointSprite = 0; } } else { useGLPointSprite = 1; } } return useGLPointSprite; } 3) In DrawPointSprites, replace condition !vtkOpenGLRenderWindow::GetContextSupportsOpenGL32() by UseGLPointSprite(). |
(0037424) Kitware Robot (administrator) 2016-08-12 09:55 |
Resolving issue as `moved`. This issue tracker is no longer used. Further discussion of this issue may take place in the current VTK Issues page linked in the banner at the top of this page. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2015-10-13 09:46 | Luc Habert | New Issue | |
2015-10-13 13:09 | Luc Habert | Note Added: 0035279 | |
2016-08-12 09:55 | Kitware Robot | Note Added: 0037424 | |
2016-08-12 09:55 | Kitware Robot | Status | backlog => closed |
2016-08-12 09:55 | Kitware Robot | Resolution | open => moved |
2016-08-12 09:55 | Kitware Robot | Assigned To | => Kitware Robot |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |