栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

codeblocks配置OpenGL环境

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

codeblocks配置OpenGL环境

一、codeblocks安装

请注意codeblocks版本问题。

建议下载codeblocks-xx.xx (版本号)mingw-setup 版本的codeblocks程序但不要去官网下载最新的codeblock!!!。新版本的mingw版本也会是最新的。新建一个GLUT项目后执行时会出现"can not find -lglut32freeglut"错误。这是因为库文件版本与平台版本不对应。

目前安装17.12及其以下版本是没问题的。

云盘分享:codeblocks-17.12mingw-setup、codeblocks-16.01mingw-setup、freegult

链接:https://pan.baidu.com/s/1A-BV0YR5DgWM07k-ooLIAw 
提取码:3ias 

二、、下载并安装FreeGlut

下载地址如下,或上面云盘自取

 freeglut Windows Development Libraries (transmissionzero.co.uk)

 1. 将freegult文件下include中的*.h拷贝到mingw->include->GL

2. 将*.a拷贝到mingw->lib

 3. 将*.dll拷贝到(三选一即可)

32位系统:windows->system32

64位的系统: windows->SysWOW64 

 不论32还是64位:mingw->bin

三、配置OpenGL

新建项目: Code::Blocks->Console application->Go->C++->项目储存地址

设置lib库:点击Settings->Compiler & debugger->link settings

                   Add: “libopengl32”, “libglu32”, “libfreeglut”.

之后即可在项目中编写OpenGL有关代码。

四、测试

把下列代码粘贴到main.cpp测试文件。

#include 

static void resize(int width, int height)
{
    const float ar = (float) width / (float) height;

    glViewport(0, 0, width, height);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluPerspective(45.0, ar, 0.1, 100.0);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity() ;
}

static void display(void)
{
    static double theta = 0;

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    theta = theta+0.05;

    glLoadIdentity();
    glColor3d(1, 0.5, 1);
	glTranslated(0, 0, -8);
    glRotated(30, 1, 0, 0);
    glRotated(theta, 0, 1, 0);
    glutSolidTeapot(2.0f);

    glutSwapBuffers();
}

static void idle()
{
    glutPostRedisplay();
}

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitWindowSize(800, 600);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Teapot");

    glutReshapeFunc(resize);
    glutDisplayFunc(display);
    glutIdleFunc(idle);

    glClearColor(1,1,1,1);
    glEnable(GL_DEPTH_TEST);
    glDepthFunc(GL_LESS);

    glEnable(GL_LIGHT0);
    glEnable(GL_COLOR_MATERIAL);
    glEnable(GL_LIGHTING);

    glutMainLoop();

    return 0;
}

编译运行结果:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/657687.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号