|
NeHe SDK是把Nehe的教程中所介绍的所有功能,以面向对象的形式,提供给编程人员快速开发的一套编程接口。在下面的教程中,我将按NeHe
SDK源码的功能分类,一步一步把这套api介绍给大家。如果你觉得有更好的学习方法,或者有其他有益的建议,请联系我。[email protected],[email protected]
程序结构:
我们在第二课程序的基础上添加一下功能:
- 创建一个全局的2D文本类,在场景中绘制2D英文字符
- 按默认方式初始化2D文本类
- 使用它在屏幕绘制2D英文字符
为了使用视口类,我们需要包含下面的头文件(text.h),并声明一个全局的视口变量text2D。我们在主程序文件和绘制文件中添加如下的代码:
|
|
|
#include "text.h"
extern Text2D text2D;
|
2、初始化Text2D类
为了使用这个类,我们需要填充TextType数据结构,他用来设置文本的参数,TextType结构的定义如下:
TextType
我们使用如下的默认设置来初始化我们的字体。 |
|
|
TextType ttype;
ttype.name="Courier New";
ttype.size=24;
ttype.bold=false;
ttype.italic=false;
ttype.underline=false;
text2D.Setup(&WinOpenGL;,ttype);
|
3、在屏幕上绘制2D文字
我重载了C++的流输出符号,你可以向使用std::cout一样输出,但只能输出英文字符,整数。这对于图形应用来说应该是够了。
下面是它的绘制代码,我们在Draw.cpp文件中的DrawScene函数中添加这个功能。 |
|
|
view.Save();
view.Reset();
view.Translate(0.0f,0.0f,-5.0f);
view.Pos2D(-2.5f,1.0f);
glPushAttrib(GL_DEPTH_BUFFER_BIT);
glDisable(GL_DEPTH_TEST);
text2D<<"Draw a pyramid";
glPopAttrib();
view.Restore();
|
好了,上面就是简单的使用text2D类绘制英文字符的简单实用,希望你能很轻松的使用它:)
|
版权与使用声明:
我是个对学习和生活充满激情的普通男孩,在网络上我以DancingWind为昵称,我的联系方式是[email protected],[email protected]
如果你有任何问题,都可以联系我。
引子
网络是一个共享的资源,但我在自己的学习生涯中浪费大量的时间去搜索可用的资料,在现实生活中花费了大量的金钱和时间在书店中寻找资料,于是我给自己起了个昵称DancingWind,其意义是想风一样从各个知识的站点中吸取成长的养料。在飘荡了多年之后,我决定把自己收集的资料整理为一个统一的资源库。
版权声明
所有DancingWind发表的内容,大多都来自共享的资源,所以我没有资格把它们据为己有,或声称自己为这些资源作出了一点贡献。故任何人都可以复制,修改,重新发表,甚至以自己的名义发表,我都不会追究,但你在做以上事情的时候必须保证内容的完整性,给后来的人一个完整的教程。最后,任何人不能以这些资料的任何部分,谋取任何形式的报酬。
发展计划
在国外,很多资料都是很多人花费几年的时间慢慢积累起来的。如果任何人有兴趣与别人共享你的知识,我很欢迎你与我联系,但你必须同意我上面的声明。
感谢
感谢我的母亲一直以来对我的支持和在生活上的照顾。
感谢我深爱的女友田芹,一直以来默默的在精神上和生活中对我的支持,她甚至把买衣服的钱都用来给我买书了,她真的是我见过的最好的女孩,希望我能带给她幸福。
资源下载:
文档 PDF格式
源码 RAR格式 |
|
|
|