Code Bye

OpenGL es iOS 旋转求帮助

glrotatef 函数好像没有起任何作用,求高手指点
-(bool) activeDraw
{
    
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
    glMatrixMode(GL_MODELVIEW);
    
    RGBF clf[7];
    vertex *vet ;
    vector<int>::iterator itr ;
    for( itr = crc->vi_still.begin () ; itr != crc->vi_still.end() ; itr++ )
    {
        crc->rb_buf[*itr].GetShowData( vet,  clf) ;
    /   [self ShowBlock:vet :clf];
    }
    
    crc->rot_deta += -0.144*fabs( crc->rot_alpha - 25 )+3.6 ;
    crc->rot_alpha ++ ;
    
   glPushMatrix();
    
    glLoadIdentity();
    glRotatef(crc->rot_alpha , crc->rot_x , crc->rot_y , crc->rot_z);
   
    for( itr = crc->vi_rot.begin () ; itr != crc->vi_rot.end() ; itr++ )
    {
        crc->rb_buf[*itr].GetShowData( vet,  clf) ;
        [self ShowBlock:vet :clf];
    }
    
    glPopMatrix();
    if( crc->rot_alpha == 50 )
    {
        return true ;
    }
    glFinish();
}
解决方案:40分
本人写一般是用glm数学库构造一个rotate matrix,然后用uniform函数传到shader里面,给全部顶点都乘上这个uniform,就完成旋转了。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明OpenGL es iOS 旋转求帮助