回 帖 发 新 帖 刷新版面

主题:[原创]OpenGL入门学习——第六课

趁着国庆这把火,再写一课吧。要不过两天,事情就又多起来了。
今后一段时间内我极有可能暂停更新,希望大家做好心理准备[em8]。学习是不能停止的,大家加油了。

下面回顾一下我们已经学习的课程:
[url=http://www.programfan.com/club/showbbs.asp?id=184355]第一课,编写第一个OpenGL程序[/url]
[url=http://www.programfan.com/club/showbbs.asp?id=184525]第二课,绘制几何图形[/url]
[url=http://www.programfan.com/club/showbbs.asp?id=184769]第三课,绘制几何图形的一些细节问题[/url]
[url=http://www.programfan.com/club/showbbs.asp?id=185032]第四课,颜色的选择[/url]
[url=http://www.programfan.com/club/showbbs.asp?id=196017]第五课,三维的空间变换[/url]
第六课,动画的制作  ——→  [color=0000FF]本次课程的内容[/color]

今天要讲的是动画制作——可能是各位都很喜欢的。除了讲授知识外,我们还会让昨天那个“太阳、地球和月亮”天体图画动起来。缓和一下枯燥的气氛。

=====================未完,请勿跟帖=====================

回复列表 (共40个回复)

31 楼

我想问一个第一课的问题,我按照楼住你说的做了"选择File->New->Project,然后选择Win32 Console Application,选择一个名字,然后按OK。
在谈出的对话框左边点Application Settings,找到Empty project并勾上,选择Finish。"
可是接下来"向该工程添加一个代码文件"在那里添加这个代码文件呢,楼住或达人能帮下吗???
多谢先

32 楼

另外如果有VS2005的入门书籍能推荐一下最好,这样简单问题就可以不麻烦楼住了

33 楼


求救:这是用OpenGL做游戏时产生的一个问题,谁帮帮我啊

Linking...
LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library
InputSystem.obj : error LNK2001: unresolved external symbol _IID_IDirectInput8A

34 楼

你好,我用你的方法,在没有加动画时可以显示图形,但是一旦加了
myIdle之后就什么都看不到了,没有动画阿,窗口里面都是黑的阿?

35 楼


我也是什么都看不到[em18]

36 楼

即使是把教程中的完整代码复制过去编译也什么都看不到吗?请先参考第五课第24楼的内容,将所有关于坐标的值按比例进行缩小。如果还是无法显示,则卸载显卡驱动后再运行。

如果你所使用的代码是经过自己修改的,那么请贴出来,大家一起来看看有没有什么问题。

37 楼

感觉在实际中应该用glPushMatrix和pop代替glLoadIdentity

38 楼

我对代码进行了一些修改,使动画看起来更自然(速度变慢下来了)
只在myIdle中增加一个局部变量即可,修改后的myIdle如下:
void myIdle(void)
{     
     const int t=glutGet(GLUT_ELAPSED_TIME)/100.0;//要修改动画速度只要修改100.0这个常数
     //新的函数,在空闲时调用,作用是把日期往后移动一天并重新绘制,达到动画效果
     day=t;
     if(day>=360)
     {
        day=day%360;
     }

          myDisplay(); 
}

大家可以试试看!

39 楼


貌似c++直接用MFC简单了

40 楼

也可以这样
//----------------------------
void myIdle(void)
{
    ++day;
    if( day >= 360 )
        day = 0;
    myDisplay();
    Sleep(40); // 加个头文件 #include <Windows.h>
}
//----------------------------
  在我这效果还行,cpu不呼呼的响了

我来回复

您尚未登录,请登录后再回复。点此登录或注册