VS2019配置OpenGL相关环境

本文详细指导如何在Visual Studio Code项目中配置glut.h、GLEW和GLFW,包括添加头文件路径、库文件路径和依赖项,以及设置OpenGL相关库和函数调用。适合初学者进行OpenGL应用开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置glut.h相关文件

添加include文件

右键项目 exp6 ,在弹出的选项中,单击 属性

点击 VC++目录->包含目录 —> 编辑C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\opengl\include

image-20220403161354534

查询方式:

image-20220403143227450

点击 VC++目录->库目录 —> 编辑C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib\x86

image-20220403161420494

image-20220403143317822

点击 链接器->输入 —> 编辑

OPENGL32.LIB glut32.lib glut.lib

image-20220403145114151

配置GLEWGLFW相关文件

添加 include 文件

  • 右键项目 exp6 ,在弹出的选项中,单击 属性
  • 点击 C/C++ —> 常规 —> 附加包含目录 —> 编辑

image-20220403145823812

查询方式

image-20220403143813600

image-20220403143908228

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\opengl\glew-2.1.0\include

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\opengl\glfw-3.3.6.bin.WIN32\include

添加lib文件

  • 点击 链接器 —> 常规 —> 附加包含目录 —> 编辑

image-20220403145929573

  • 分别添加下载的 glewglfw 文件夹下的 lib 文件夹。

    • 当添加 glew 时,当选到 lib 文件夹后请继续选择,lib -> Release -> Win32 , 请选择 Win32 后点击 “选择文件夹”
    • 当添加 glfw 时,请选择对应版本,2019 版本请选择 lib-vc2019

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\opengl\glfw-3.3.6.bin.WIN32\lib-vc2019

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\opengl\glew-2.1.0\lib\Release\Win32

image-20220403144256172

image-20220403144325884

添加库依赖项

  • 点击 链接器 —> 输入 —> 附加依赖项 —> 编辑

image-20220403150015249

测试运行一份代码:

#include <gl/glut.h>
//正方形的位置和大小
GLfloat x1 = 100.0f;
GLfloat y1 = 150.0f;
GLsizei rsize = 50;
//正方形运动变化的步长
GLfloat xstep = 1.0f;
GLfloat ystep = 1.0f;
//窗口的大小
GLfloat windowWidth;
GLfloat windowHeight;

void RenderScene()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1.0f, 0.0f, 0.0f);
    glRectf(x1, y1, x1 + rsize, y1 + rsize);

    glutSwapBuffers();//清空命令缓冲区并交换帧缓存
}
void ChangeSize(GLsizei w, GLsizei h)
{
    if (h == 0)
    {
        h = 1;
    }
    glViewport(0, 0, w, h);

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();

    if (w <= h)
    {
        windowHeight = 250.0f * h / w;
        windowWidth = 250.0f;
    }
    else
    {
        windowHeight = 250.0f;
        windowWidth = 250.0f * w / h;
    }
    glOrtho(0.0f, windowWidth, 0.0f, windowHeight, 1.0f, -1.0f);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}
void TimerFunction(int value)
{
    //处理到达窗口边界的正方形,使之反弹
    if (x1 > windowWidth - rsize || x1 < 0)
    {
        xstep = -xstep;
    }

    if (y1 > windowHeight - rsize || y1 < 0)
    {
        ystep = -ystep;
    }
    if (x1 > windowWidth - rsize)
    {
        x1 = windowWidth - rsize - 1;
    }
    if (y1 > windowHeight - rsize)
    {
        y1 = windowHeight - rsize - 1;
    }
    //根据步长修改正方形的位置
    x1 += xstep;
    y1 += ystep;

    //用新坐标重新绘图
    glutPostRedisplay();
    glutTimerFunc(50, TimerFunction, value);
}
void SetupRC()
{
    //设置窗口的清除色为蓝色
    glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
}

void main()
{
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
    glutCreateWindow("Bounce");

    glutDisplayFunc(RenderScene);
    glutReshapeFunc(ChangeSize);
    glutTimerFunc(500, TimerFunction, 1);

    SetupRC();
    glutMainLoop();
}

image-20220403161800774

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Phoenix_ZengHao

创作不易,能否打赏一瓶饮料?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值