MCPcopy Create free account
hub / github.com/MeshInspector/MeshLib / resize

Method resize

source/MRViewer/MRViewportGL.cpp:385–407  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

383}
384
385void ViewportGL::PickTextureFrameBuffer::resize( const Vector2i& size )
386{
387 if ( size == Vector2i() || size == size_ )
388 return;
389 del();
390 size_ = size;
391 GL_EXEC( glGenFramebuffers( 1, &framebuffer_ ) );
392 GL_EXEC( glBindFramebuffer( GL_FRAMEBUFFER, framebuffer_ ) );
393 // create a color attachment texture
394 GL_EXEC( glGenTextures( 1, &colorTexture_ ) );
395 GL_EXEC( glBindTexture( GL_TEXTURE_2D, colorTexture_ ) );
396 GL_EXEC( glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA32UI, size_.x, size_.y, 0, GL_RGBA_INTEGER, GL_UNSIGNED_INT, NULL ) );
397 GL_EXEC( glBindTexture( GL_TEXTURE_2D, 0 ) );
398 GL_EXEC( glFramebufferTexture2D( GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, colorTexture_, 0 ) );
399 // create a renderbuffer object for depth
400 GL_EXEC( glGenRenderbuffers( 1, &renderbuffer_ ) );
401 GL_EXEC( glBindRenderbuffer( GL_RENDERBUFFER, renderbuffer_ ) );
402 GL_EXEC( glRenderbufferStorage( GL_RENDERBUFFER, GL_DEPTH_COMPONENT32F, size_.x, size_.y ) ); // GL_DEPTH_COMPONENT32 is not supported by OpenGL ES 3.0
403 GL_EXEC( glBindRenderbuffer( GL_RENDERBUFFER, 0 ) );
404 GL_EXEC( glFramebufferRenderbuffer( GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, renderbuffer_ ) );
405 assert( glCheckFramebufferStatus( GL_FRAMEBUFFER ) == GL_FRAMEBUFFER_COMPLETE );
406 GL_EXEC( glBindFramebuffer( GL_FRAMEBUFFER, 0 ) );
407}
408
409void ViewportGL::PickTextureFrameBuffer::del()
410{

Callers 1

pickObjectsInRect_Method · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected