Changeset 8725:e35d8bb7f2ff in orange


Ignore:
Timestamp:
08/17/11 22:54:49 (3 years ago)
Author:
matejd <matejd@…>
Branch:
default
Convert:
418ca68fc9fe109f2f57569e7aaae3d34827f74b
Message:

Reenabled old selection code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/plot/owplot3d.py

    r8724 r8725  
    654654 
    655655        if self.selection_fbo_dirty: 
     656            # TODO: use transform feedback instead 
    656657            self.selection_fbo.bind() 
    657658            glClearColor(1, 1, 1, 1) 
     
    659660            glClear(GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT) 
    660661 
    661             #self.symbol_program.bind() 
    662             ##self.symbol_program.setUniformValue(self.symbol_program_encode_color, True) 
    663             ##self.symbol_program.setUniformValue(self.symbol_program_shrink_symbols, True) 
    664             #glDisable(GL_DEPTH_TEST) 
    665             #glDisable(GL_BLEND) 
    666             ##glBindVertexArray(vao_id) 
    667             ##glDrawArrays(GL_POINTS, 0, vao_id.num_3d_vertices) 
    668             ##glBindVertexArray(0) 
    669             #self.symbol_program.release() 
    670  
    671             ## Also draw stencil masks to the screen. No need to 
    672             ## write color or depth information as well, so we 
    673             ## disable those. 
    674             #glMatrixMode(GL_PROJECTION) 
    675             #glLoadIdentity() 
    676             #glOrtho(0, self.width(), self.height(), 0, -1, 1) 
    677             #glMatrixMode(GL_MODELVIEW) 
    678             #glLoadIdentity() 
    679  
    680             #glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE) 
    681             #glDepthMask(GL_FALSE) 
    682             #glStencilMask(0x01) 
    683             #glStencilOp(GL_KEEP, GL_KEEP, GL_INVERT) 
    684             #glStencilFunc(GL_ALWAYS, 0, ~0) 
    685             #glEnable(GL_STENCIL_TEST) 
    686             #for selection in self.selections: 
    687                 #selection.draw_mask() 
    688             #glDisable(GL_STENCIL_TEST) 
    689             #glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE) 
    690             #glDepthMask(GL_TRUE) 
     662            self.symbol_program.bind() 
     663            self.symbol_program.setUniformValue(self.symbol_program_encode_color, True) 
     664            glDisable(GL_DEPTH_TEST) 
     665            glDisable(GL_BLEND) 
     666            glBindVertexArray(self.feedback_vao) 
     667            glDrawArrays(GL_TRIANGLES, 0, self.num_primitives_generated*3) 
     668            glBindVertexArray(0) 
     669            self.symbol_program.release() 
     670 
     671            # Also draw stencil masks to the screen. No need to 
     672            # write color or depth information as well, so we 
     673            # disable those. 
     674            glMatrixMode(GL_PROJECTION) 
     675            glLoadIdentity() 
     676            glOrtho(0, self.width(), self.height(), 0, -1, 1) 
     677            glMatrixMode(GL_MODELVIEW) 
     678            glLoadIdentity() 
     679 
     680            glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE) 
     681            glDepthMask(GL_FALSE) 
     682            glStencilMask(0x01) 
     683            glStencilOp(GL_KEEP, GL_KEEP, GL_INVERT) 
     684            glStencilFunc(GL_ALWAYS, 0, ~0) 
     685            glEnable(GL_STENCIL_TEST) 
     686            for selection in self.selections: 
     687                selection.draw_mask() 
     688            glDisable(GL_STENCIL_TEST) 
     689            glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE) 
     690            glDepthMask(GL_TRUE) 
    691691            self.selection_fbo.release() 
    692692            self.selection_fbo_dirty = False 
     
    10991099 
    11001100        width, height = self.width(), self.height() 
    1101         if False and self.use_fbos and width <= 1024 and height <= 1024: 
     1101        if self.use_fbos and width <= 1024 and height <= 1024: 
    11021102            self.selection_fbo_dirty = True 
    11031103            self.updateGL() 
Note: See TracChangeset for help on using the changeset viewer.