ZBLOG

写一个设置用opengl设置顶点坐标并旋转纹理90度的例子

下面是一个使用OpenGL设置顶点坐标并旋转纹理90度的简单示例:

#include <GL/glut.h>

void display()
{
    glClear(GL_COLOR_BUFFER_BIT);

    // 设置顶点坐标
    GLfloat vertices[] = {
        -0.5f, -0.5f, 0.0f,
         0.5f, -0.5f, 0.0f,
         0.5f,  0.5f, 0.0f,
        -0.5f,  0.5f, 0.0f
    };

    // 设置纹理坐标
    GLfloat texCoords[] = {
        1.0f, 1.0f,
        1.0f, 0.0f,
        0.0f, 1.0f,
        0.0f, 1.1f // 这里将纹理坐标Y轴方向进行了旋转90度
    };

    glEnableClientState(GL_VERTEX_ARRAY);
    glVertexPointer(3, GL_FLOAT, 3 * sizeof(GLfloat), vertices);

    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
    glTexCoordPointer(2, GL_FLOAT, sizeof(GLfloat) * 2, texCoords);

    glDrawArrays(GL_QUADS, 4);

    glDisableClientState(GL_VERTEX_ARRAY);
    glDisableClientState(GL_TEXTURE_COORD_ARRAY);

    glutSwapBuffers();
}

int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
    
    glutCreateWindow("OpenGL Example");
    
    // 初始化 OpenGL 环境
    
     // ... 这里省略设置 OpenGL 视口、投影矩阵等的代码 ...
    
    // 注册显示回调函数
    glutDisplayFunc(display);
    
    // 开始主循环
    glutMainLoop();
    
    return 0;
}

以上示例使用了GLUT库来管理窗口和OpenGL上下文,可以通过链接和编译时包含 -lglut -lGL -lGLU 参数。请注意,这只是一个简单的示例,并未完整展示 OpenGL 的所有细节,仅供参考。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=1966

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?