游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3366|回复: 6

『求助』3维入门遇到的问题~

[复制链接]

4

主题

12

帖子

32

积分

注册会员

Rank: 2

积分
32
发表于 2012-3-4 17:32:00 | 显示全部楼层 |阅读模式
最近开始学OpenGL,照着教材上敲了一个刚刚涉及三维入门的小程序(太阳、地球和月亮三颗星星环绕),在调试时遇到了问题,希望各位大牛帮忙看看~~~ [em6]
程序代码如下:
/*
        太阳、地球和月亮系统
*/


#include <GL/glut.h>

#pragma comment(lib,"opengl32.lib")


static int day = 360;

void myDisplay(void)
{
        //深度测试
        glEnable(GL_DEPTH_TEST);                            //以GL_DEPTH_TEST为参数调用glEnable函数,启动深度测试
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //清空深度缓冲

        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
        gluPerspective(75,1,1,400000000);                        //设置可视空间:角度,高宽度比,最近可视距离,最远可视距离
        glMatrixMode(GL_MODELVIEW);
        glLoadIdentity();
        gluLookAt(0,-200000000,200000000,0,0,0,0,0,1);

        //绘制红色的“太阳”
        glColor3f(1.0,0.0f,0.0f);
        glutSolidSphere(69600000,20,20);                        //绘制球体函数:球体半径,“面”的数目

        //绘制蓝色的“地球”
        glColor3f(0.0f,0.0f,1.0f);
        glRotatef(day/360.0*360.0,0.0f,0.0f,-1.0f);        //地球转过角度,,,自西向东
        glTranslatef(150000000,0.0f,0.0f);                        //地球轨道半径
        glutSolidSphere(15945000,20,20);

        //绘制**的“月亮”
        glColor3f(1.0f,1.0f,0.0f);
        glRotatef(day/30.0*360.0-day/360.0,0.0f,0.0f,-1.0f);
        glTranslatef(38000000,0.0f,0.0f);
        glutSolidSphere(4345000,20,20);

        glFlush();

        glutSwapBuffers();                                                        //使用双缓冲
}


//新的函数,在空闲时调用,作用是把日期往后移动一天并重新绘制,达到动画效果
void myIdle(void)
{
        ++day;
        if(day>=360)
                day = 0;
        myDisplay();
}

int main(int argc,char *argv[])
{
        glutInit(&argc,argv);                                                        //对GLUT进行初始化
        glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE);                //设置显示方式(使用RGB颜色和双缓冲)
        glutInitWindowPosition(100,100);                                //设置窗口位置
        glutInitWindowSize(800,800);                                        //设置窗口尺寸
        glutCreateWindow("第8个OpenGL程序 - 太阳,地球和月亮");                                //根据前面设置的信息创建窗口,参数将被作为窗口的标题
        glutDisplayFunc(&myDisplay);                                        //进行画图时,调用函数
       
        glutIdleFunc(&myIdle);                                                        //添加这一句
       
        glutMainLoop();                                                                        //消息循环(显示窗口,等待窗口关闭后返回)
        return 0;
}

出现的问题如下:
Linking...
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/OpenGL8.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
望解释下下面这个是什么情况~~~ [em5]

58

主题

1437

帖子

2207

积分

金牌会员

Rank: 6Rank: 6

积分
2207
发表于 2012-3-5 00:52:00 | 显示全部楼层

Re:『求助』3维入门遇到的问题~

下个微软的sdk直接用里面的例子,
要分清楚编译环境和语言本身的错误的关系。

4

主题

12

帖子

32

积分

注册会员

Rank: 2

积分
32
 楼主| 发表于 2012-3-6 07:58:00 | 显示全部楼层

Re: Re:『求助』3维入门遇到的问题~

gantleman: Re:『求助』3维入门遇到的问题~

下个微软的sdk直接用里面的例子,
要分清楚编译环境和语言本身的错误的关系。

谢谢一楼了~~~~ [em1]
下了个NeHe OpenGL,还在学习ing~~~

6

主题

74

帖子

230

积分

中级会员

Rank: 3Rank: 3

积分
230
发表于 2012-3-6 23:22:00 | 显示全部楼层

Re:『求助』3维入门遇到的问题~

编译成console程序

0

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2012-3-7 15:58:00 | 显示全部楼层

Re:『求助』3维入门遇到的问题~

你可以更新下glut库,这个库可能有点问题。

4

主题

12

帖子

32

积分

注册会员

Rank: 2

积分
32
 楼主| 发表于 2012-3-9 22:16:00 | 显示全部楼层

Re: Re:『求助』3维入门遇到的问题~

Kevin_Qing: Re:『求助』3维入门遇到的问题~

编译成console程序



啊,就是这个问题~~~~ [em16] thank you very very much !!!! [em3]

4

主题

12

帖子

32

积分

注册会员

Rank: 2

积分
32
 楼主| 发表于 2012-3-9 22:18:00 | 显示全部楼层

Re: Re:『求助』3维入门遇到的问题~

ji04xiaogang: Re:『求助』3维入门遇到的问题~

你可以更新下glut库,这个库可能有点问题。


呵呵,已经解决了~~~谢谢你哦~~ [em1]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-9 14:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表