Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
安装OpenGL/GLUT并运行C程序? 我是OpenGL和GLUT的新手,需要安装它们并运行Hello。C参见Visual C++ 2010 Express版。p>_C_Opengl_Glut - Fatal编程技术网

安装OpenGL/GLUT并运行C程序? 我是OpenGL和GLUT的新手,需要安装它们并运行Hello。C参见Visual C++ 2010 Express版。p>

安装OpenGL/GLUT并运行C程序? 我是OpenGL和GLUT的新手,需要安装它们并运行Hello。C参见Visual C++ 2010 Express版。p>,c,opengl,glut,C,Opengl,Glut,我正在使用Windows XP,并在网上阅读OpenGL库已经安装在我的计算机上。因此,我只下载并提取了它 我有4个问题: 如果已经安装了OpenGL,我如何找到它并在Visual C++项目中使用它? 上面提到opengl32.dll位于windows/system32文件夹中,那么我该如何处理这个dll呢? 我只是向VisualC++解决方案的头文件文件夹添加Gulut.h吗? 我应该将glut32.dll、glut32.lib和glut.def放在哪里? 任何帮助都将不胜感激。提前谢谢 h

我正在使用Windows XP,并在网上阅读OpenGL库已经安装在我的计算机上。因此,我只下载并提取了它

我有4个问题:

如果已经安装了OpenGL,我如何找到它并在Visual C++项目中使用它? 上面提到opengl32.dll位于windows/system32文件夹中,那么我该如何处理这个dll呢? 我只是向VisualC++解决方案的头文件文件夹添加Gulut.h吗? 我应该将glut32.dll、glut32.lib和glut.def放在哪里? 任何帮助都将不胜感激。提前谢谢

hello.c取自OpenGL编程指南

重复问题,请参阅


除此之外,我肯定会考虑使用简单的直接媒体层作为一个更为现代和频繁更新的替代品。

我发现维基已经清楚地解释了你的大部分问题。在VisualStudioIDE中,只需放置正确的标题,因为IDE安装提供了除GLUT库之外的Windows OpenGL支持。您只需要在项目配置中添加对GLUT库的新引用。通常,您不需要担心在Windows系统文件中的哪里可以找到这些OpenGL DLL。甚至,wiki描述了在OpenGL代码中访问最新OpenGL扩展的方法,因为Windows从未更新过它的OpenGL版本,仍然是1.1感谢评论。但我在Mac上使用它,而不是Windows系统。我发现了这个问题。但我不认为它是重复的,因为我使用的是Mac系统而不是Windows系统。设置应该不同?
// hello.c renders a white rectangle on a black background
#include <GL/gl.h>
#include <GL/glut.h>

void display(void)
{
    // clear all pixels
    glClear(GL_COLOR_BUFFER_BIT);

    //  draw white polygon with corners at (0.25,0.25,0.0) and (0.75,0.75,0.0)    
    glColor3f(1.0,1.0,1.0);
    glBegin(GL_POLYGON);
        glVertex3f(0.25,0.25,0.0);
        glVertex3f(0.75,0.25,0.0);
        glVertex3f(0.75,0.75,0.0);
        glVertex3f(0.25,0.75,0.0);
    glEnd();   

    // don't wait, start processing buffered OpenGL routines
    glFlush();
}

void init(void)
{
    // select clearing (background) color   
    glClearColor(0.0, 0.0, 0.0, 0.0);

    // initialize viewing values
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
}

/*
    Declare initial window size, position, and display mode
    (single buffer and RGBA). Open window with "hello"
    in its title bar. Call initiaization routines. 
    Register callback function to display graphics.
    Enter main loop and process events

*/

int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize(250,250);
    glutInitWindowPosition(100,100);
    glutreateWindow("Hello");
    init();
    glutDisplayFunc(display);
    glutMainLoop();
    return 0; // ISO C requires main to return int   
}