[vtk-developers] Error on glGenQueries

Ken Martin ken.martin at kitware.com
Mon Dec 19 09:16:58 EST 2016


Yes, what you are doing in (1) is all good. That is the right way to do it.

On Mon, Dec 19, 2016 at 8:48 AM, Romain CENDRE <
romain.cendre at optopartner.com> wrote:

> Ok thanks for your advices Ken, I will tryit.
>
> 1) At this time I've made this to create my pipe:
>
>
>
> //Set input data to luminance (PNG data)
> m_luminanceFilter->SetInputConnection(m_reader->GetOutputPort());
> //Extract as a set of polygons
> m_geometryFilter->SetInputConnection(m_luminanceFilter->GetOutputPort());
> //Increase scale of geometry variations
> m_warp->SetInputConnection(m_geometryFilter->GetOutputPort());
> m_warp->SetScaleFactor(-.3);
> //Now we just have to merge our data (color) and level map (geometry)
> that's all
> m_merge->SetGeometryConnection(m_warp->GetOutputPort());
> m_merge->SetScalarsConnection(m_reader->GetOutputPort());
>
> //Transition between datas and actors
> m_mapper->SetInputConnection(m_merge->GetOutputPort());
>
> //Create an actor to provide a representation to our 2D data
> m_actor->SetMapper(m_mapper);
>
>
> After that, I'm only doing m_reader->SetFileName(
> fileName.toStdString().c_str()); to change my data.
> I've supposed that all pipe refresh itself.
>
> 2) I will explore this way after the first thing.
>
> I will come back!
>
> Thanks!
>
> ------------------------------
> *De: *"Ken Martin" <ken.martin at kitware.com>
> *À: *"Romain CENDRE" <romain.cendre at optopartner.com>
> *Envoyé: *Lundi 19 Décembre 2016 14:41:00
> *Objet: *Re: [vtk-developers] Error on glGenQueries
>
> That code looks fine. Two ideas of what the issue could be
>
> 1) you mentioned holding onto ImageMagnitude and changing its data inside.
> I'm not sure how your doing that but if you are messing with the underlying
> C++ data in an image data instance make sure you mark the data as modified.
> ala myImageData->Modified() maybe even myImageData->GetPointData()->
> GetScalars()->Modified();
>
> 2) is the rendering working prior to calling resetCamera?  If so maybe try
> commenting out the ParallelProjection although I doubt that is it. If you
> are rendering correctly before that call, and not creating a different
> window, then you should be OK. Nothing in that code looks problematic. One
> other thing you can try is adding a m_renderWindow(or whatever your
> renderWindow is named, maybe this) ->ReleaseGraphicsResources(m_renderWindow);
> call at the end of your resetCamera. If something funny is going on with
> multiple windows that may fix it.
>
>
>
> On Mon, Dec 19, 2016 at 8:28 AM, Romain CENDRE <
> romain.cendre at optopartner.com> wrote:
>
>> Hi Ken!
>>
>> This is my resetView() function:
>>
>> void QVTKDisplay::resetView()
>> {
>> double * bounds = m_actor->GetBounds();
>>
>> double imageCenterX = 0.5f * (bounds[1] - bounds[0]);
>> double imageCenterY = 0.5f * (bounds[3] - bounds[2]);
>> double imageWidth = bounds[1] - bounds[0];
>> double imageHeight = bounds[3] - bounds[2];
>>
>> m_renderer->ResetCamera();
>> m_renderer->GetActiveCamera()->ParallelProjectionOn();
>> m_renderer->GetActiveCamera()->SetFocalPoint(imageCenterX, imageCenterY,
>> 0.f);
>> m_renderer->GetActiveCamera()->SetPosition( imageCenterX, imageCenterY,
>> m_renderer->GetActiveCamera()->GetDistance());
>> m_renderer->GetActiveCamera()->SetViewUp(0, 1, 0);
>> //m_renderer->Render();
>> }
>>
>> I try to keep always the same instance of object, idem for window.
>> Does it answer to your question?
>>
>> ------------------------------
>> *De: *"Ken Martin" <ken.martin at kitware.com>
>> *À: *"Romain CENDRE" <romain.cendre at optopartner.com>
>> *Cc: *"vtk-developers" <vtk-developers at vtk.org>
>> *Envoyé: *Lundi 19 Décembre 2016 14:23:49
>> *Objet: *Re: [vtk-developers] Error on glGenQueries
>>
>> What version of VTK are you using? How do you change your camera? Using
>> the same window or creating a new one?
>> Ken
>>
>> On Mon, Dec 19, 2016 at 4:01 AM, Romain CENDRE <
>> romain.cendre at optopartner.com> wrote:
>>
>>> Hi everyone,
>>> I'm new and I'm starting to work on VTK.
>>>
>>> ////    CONTEXT
>>>
>>> We use VTK with OpenGL2 (don't ask me why, it's not mandatory, it was
>>> choosen by a previous developper).
>>>
>>> I've made a Pipeline made like this:
>>>
>>> 2D data image   =>   vtkImageMagnitude  => vtkImageDataGeometryFilter
>>>  =>  vtkWarpScalar => vtkMergeFilter (geometry)  => Actor
>>>
>>>  =========================================> vtkMergeFilter (Scalars)
>>>
>>> I keep a reference on vtkImageMagnitude  to change image data stored
>>> inside, hope that all the pipe refresh itself and it seems to work at this
>>> time.
>>>
>>> My image actor is included in a Renderer, with an cubeAxesActor, a
>>> ScalarBar and  a LegendScaleActor.
>>>
>>> All pipeline objects are started one time at the start.
>>>
>>>
>>> ////    PROBLEM
>>>
>>> My problem is when I want to change my camera location (to get a 2D
>>> view) and call Render() on the renderer to refresh scene I get the
>>> following error:
>>>
>>> vtkOpenGLRenderer (0537D740): failed after Clear 16 OpenGL errors
>>> detected
>>> 0 : (1282) Invalid operation
>>> 1 : (1282) Invalid operation
>>> 2 : (1282) Invalid operation
>>> 3 : (1282) Invalid operation
>>> 4 : (1282) Invalid operation
>>> 5 : (1282) Invalid operation
>>> 6 : (1282) Invalid operation
>>> 7 : (1282) Invalid operation
>>> 8 : (1282) Invalid operation
>>> 9 : (1282) Invalid operation
>>> 10 : (1282) Invalid operation
>>> 11 : (1282) Invalid operation
>>> 12 : (1282) Invalid operation
>>> 13 : (1282) Invalid operation
>>> 14 : (1282) Invalid operation
>>> 15 : (1282) Invalid operation
>>>
>>>
>>> ERROR: In ..\..\..\sources\Rendering\OpenGL2\vtkOpenGLCamera.cxx, line
>>> 144
>>> vtkOpenGLCamera (053D4D20): failed after Render 16 OpenGL errors detected
>>> 0 : (1282) Invalid operation
>>> 1 : (1282) Invalid operation
>>> 2 : (1282) Invalid operation
>>> 3 : (1282) Invalid operation
>>> 4 : (1282) Invalid operation
>>> 5 : (1282) Invalid operation
>>> 6 : (1282) Invalid operation
>>> 7 : (1282) Invalid operation
>>> 8 : (1282) Invalid operation
>>> 9 : (1282) Invalid operation
>>> 10 : (1282) Invalid operation
>>> 11 : (1282) Invalid operation
>>> 12 : (1282) Invalid operation
>>> 13 : (1282) Invalid operation
>>> 14 : (1282) Invalid operation
>>> 15 : (1282) Invalid operation
>>>
>>>
>>> ERROR: In ..\..\..\sources\Rendering\OpenGL2\vtkOpenGLRenderer.cxx,
>>> line 125
>>> vtkOpenGLRenderer (0537D740): failed after UpdateLights 16 OpenGL errors
>>> detected
>>> 0 : (1282) Invalid operation
>>> 1 : (1282) Invalid operation
>>> 2 : (1282) Invalid operation
>>> 3 : (1282) Invalid operation
>>> 4 : (1282) Invalid operation
>>> 5 : (1282) Invalid operation
>>> 6 : (1282) Invalid operation
>>> 7 : (1282) Invalid operation
>>> 8 : (1282) Invalid operation
>>> 9 : (1282) Invalid operation
>>> 10 : (1282) Invalid operation
>>> 11 : (1282) Invalid operation
>>> 12 : (1282) Invalid operation
>>> 13 : (1282) Invalid operation
>>> 14 : (1282) Invalid operation
>>> 15 : (1282) Invalid operation
>>>
>>>
>>> ERROR: In ..\..\..\sources\Rendering\OpenGL2\vtkOpenGLProperty.cxx,
>>> line 91
>>> vtkOpenGLProperty (05A061E8): failed after Render 16 OpenGL errors
>>> detected
>>> 0 : (1282) Invalid operation
>>> 1 : (1282) Invalid operation
>>> 2 : (1282) Invalid operation
>>> 3 : (1282) Invalid operation
>>> 4 : (1282) Invalid operation
>>> 5 : (1282) Invalid operation
>>> 6 : (1282) Invalid operation
>>> 7 : (1282) Invalid operation
>>> 8 : (1282) Invalid operation
>>> 9 : (1282) Invalid operation
>>> 10 : (1282) Invalid operation
>>> 11 : (1282) Invalid operation
>>> 12 : (1282) Invalid operation
>>> 13 : (1282) Invalid operation
>>> 14 : (1282) Invalid operation
>>> 15 : (1282) Invalid operation
>>>
>>>
>>> The error happens at this line :
>>>
>>> if (this->TimerQuery == 0)
>>> {
>>>    glGenQueries(1, static_cast<GLuint*>(&this->TimerQuery));
>>> }
>>>
>>> If you want my code, you can ask me.
>>>
>>> I think it's just a newbie problem, but I don't find anything on it.
>>>
>>> Best regards
>>> Romain
>>>
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at http://www.kitware.com/
>>> opensource/opensource.html
>>>
>>> Search the list archives at: http://markmail.org/search/?q=
>>> vtk-developers
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://public.kitware.com/mailman/listinfo/vtk-developers
>>>
>>>
>>>
>>
>>
>> --
>> Ken Martin PhD
>> Chairman & CFO
>> Kitware Inc.
>> 28 Corporate Drive
>> Clifton Park NY 12065
>> 518 371 3971 <(518)%20371-3971>
>> This communication, including all attachments, contains confidential and
>> legally privileged information, and it is intended only for the use of the
>> addressee.  Access to this email by anyone else is unauthorized. If you are
>> not the intended recipient, any disclosure, copying, distribution or any
>> action taken in reliance on it is prohibited and may be unlawful. If you
>> received this communication in error please notify us immediately and
>> destroy the original message.  Thank you.
>>
>>
>
>
> --
> Ken Martin PhD
> Chairman & CFO
> Kitware Inc.
> 28 Corporate Drive
> Clifton Park NY 12065
> 518 371 3971 <(518)%20371-3971>
> This communication, including all attachments, contains confidential and
> legally privileged information, and it is intended only for the use of the
> addressee.  Access to this email by anyone else is unauthorized. If you are
> not the intended recipient, any disclosure, copying, distribution or any
> action taken in reliance on it is prohibited and may be unlawful. If you
> received this communication in error please notify us immediately and
> destroy the original message.  Thank you.
>
>


-- 
Ken Martin PhD
Chairman & CFO
Kitware Inc.
28 Corporate Drive
Clifton Park NY 12065
518 371 3971

This communication, including all attachments, contains confidential and
legally privileged information, and it is intended only for the use of the
addressee.  Access to this email by anyone else is unauthorized. If you are
not the intended recipient, any disclosure, copying, distribution or any
action taken in reliance on it is prohibited and may be unlawful. If you
received this communication in error please notify us immediately and
destroy the original message.  Thank you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20161219/4ae779c8/attachment.html>


More information about the vtk-developers mailing list