javafever


我无富贵命,所喜性天然。壁立三千字,家无半吊钱。蝉鸣深巷里,人语短屋前。收拾英雄气,耕作两分田。

2006年12月13日 #

OpenGL学习笔记(二)

关于MinGW中的glut库

Mark Kilgard提供的glut库解压后包含一个.h,一个.def,一个.lib和一个.dll文件。将.h拷贝到MinGW的include目录下,.dll拷贝到windows的系统目录下(windows\system32),.def和.lib文件在eclipse下面不太好使,可以使用reimp工具将.lib文件转换成.a文件。命令如下:
reimp glut32.lib

这样,就会在同一目录下生成一个glut32.def和一个libglut32.a文件,将libglut32.a拷贝到MinGW的lib目录下。同时记得要删除原来的glut库,否则link时可能会出错。

glut主程序框架


#include <GL/glut.h> //头文件。

int main(int argc, char** argv) {
    //初始化glut并建立窗口
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DEPTH | GLUT_SIGNLE | GLUT_RGB);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(200, 200);
    glutCreateWindow(windowTitle);
   
    //注册glut的callback函数
    glutDisplayFunc(display);
    glutReshapeFunc(reshape);
    glutIdleFunc(idle);
    glutKeyboardFunc(keyboard);
   
    //启用光线、深度测试等
    glEnable(GL_LIGHT0);
    glEnable(GL_LIGHTING);
    glEnable(GL_DEPTH_TEST);

    //进入glut主循环
    glutMainLoop();

    return 0;
}

posted @ 2006-12-17 23:06 javaFever 阅读(390) | 评论 (0)编辑 收藏

OpenGL学习笔记(一)

安装开发平台

为了保持开发平台的一致性,采用GCC+eclipse作为开发平台。

在Debian Linux下安装GCC和make就可以了。安装了X环境后,系统中就已经包含了OpenGL的头文件和库文件,但是要使用GLUT的话,还需要安装GLUT的包。我使用的是freeglut3。

$sudo  apt - get install gcc make freeglut3 - dev

在Windows下,GCC的解决方案有很多,我使用的是MinGW,可以下载DevCpp,它包括MinGW和一个C/C++的IDE,因为我使用eclipse作为IDE,所以,我使用MinGW的官方开发工具。到MinGW的官方网站上下载以下包:

binutils

gcc-core

gcc-g++

mingw32-make

mingw-runtime

mingw-utils

w32api

最后再下载调试器gdb。

为了能使用Mark Kilgard提供的glut库(http://www.xmission.com/~nate/glut.html),尽量下载最新的官方版本,该glut库要求binutils版本至少是2.16.91。

http://www.mingw.org/MinGWiki/index.php/Glut页面解释了在MinGW下使用Mark Kilgard的GLUT库会出现的问题及解决的办法。

至于Eclipse和CDT的安装很简单,在Linux下和Windows下也没什么区别。需要注意的是:为了让Eclipse能是别到GCC,需要吧GCC的bin目录加入系统路径PATH中,eclipse会自动查找make.exe,而MinGW的Make程序名叫mingw32-make.exe,所以,要么把mingw32-make.exe更名为make.exe,要么指定eclipse使用mingw32-make.exe进行make。

posted @ 2006-12-16 14:39 javaFever 阅读(699) | 评论 (1)编辑 收藏

解决debian更新安装源失败后造成的包依赖问题

最近发现国内的debian安装源服务器很不稳定,想换一个速度快的,结果apt-get update运行失败后,把安装源换回来再重新安装其他包时都会报包依赖错,apt-get update好像起不了作用。研究后发现,删除/var/cache/apt/下的两个bin文件,再apt-get update就可以了。

posted @ 2006-12-13 19:07 javaFever 阅读(1013) | 评论 (0)编辑 收藏