88 bool requestRedraw =
false;
109 if( aStatusReporter )
110 aStatusReporter->
Report(
_(
"Loading..." ) );
113 requestRedraw =
true;
114 Reload( aStatusReporter, aWarningReporter,
false );
123 requestRedraw =
true;
129 glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
130 glClearDepth( 1.0f );
131 glClearStencil( 0x00 );
132 glClear( GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT );
135 glPixelStorei( GL_UNPACK_ALIGNMENT, 4 );
137 glDisable( GL_STENCIL_TEST );
138 glDisable( GL_LIGHTING );
139 glDisable( GL_COLOR_MATERIAL );
140 glDisable( GL_DEPTH_TEST );
141 glDisable( GL_TEXTURE_2D );
142 glDisable( GL_BLEND );
143 glDisable( GL_MULTISAMPLE );
145 const bool was_camera_changed =
m_camera.ParametersChanged();
147 if( requestRedraw || aIsMoving || was_camera_changed )
152 if( aIsMoving || was_camera_changed )
162 glBindBuffer( GL_PIXEL_UNPACK_BUFFER,
m_pboId );
165 uint8_t* ptrPBO = (uint8_t *)glMapBuffer( GL_PIXEL_UNPACK_BUFFER, GL_WRITE_ONLY );
172 glUnmapBuffer( GL_PIXEL_UNPACK_BUFFER );
180 glBindBuffer( GL_PIXEL_UNPACK_BUFFER,
m_pboId );
185 uint8_t* ptrPBO = (uint8_t *)glMapBuffer( GL_PIXEL_UNPACK_BUFFER, GL_WRITE_ONLY );
189 render( ptrPBO, aStatusReporter );
192 requestRedraw =
true;
195 glUnmapBuffer( GL_PIXEL_UNPACK_BUFFER );
201 glClear( GL_COLOR_BUFFER_BIT );
209 glEnable( GL_BLEND );
210 glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
211 glEnable( GL_ALPHA_TEST );
213 glBindBuffer( GL_PIXEL_UNPACK_BUFFER, 0 );
215 return requestRedraw;