void RenderDirect( clPtr<clFlowUI> Control ) { int Num = Control->FNumImg; int CurImg = Control->GetCurrentImage(); float Dist = ( float )( Num * OneImageSize ); if ( Num < 1 ) { return; } // index = [curr - 2 .. curr + 2] /// Left -> Right -> Selected rendering order int ImgOrder[] = { CurImg - 3, CurImg - 2, CurImg - 1, CurImg + 3, CurImg + 2, CurImg + 1, CurImg }; for ( int in_i = 0 ; in_i < 7 ; in_i++ ) { int i = ImgOrder[in_i]; if ( i < 0 ) { i += ( 1 - ( ( int )( i / Num ) ) ) * Num; } if ( i >= Num ) { i -= ( ( int )( i / Num ) ) * Num; } if ( i < Num && i > -1 ) { vec3 Pt[4]; Control->QuadCoords( Pt, Control->FFlinger->FValue - ( float )( i ) * OneImageSize ); vec3 Q[4]; for ( int j = 0 ; j < 4 ; j++ ) { Q[j] = Control->FProjection * Control->FView * Pt[j]; } BoxR( Q, 0xFFFFFF ); } } }