写在前面的话

 
我的项目中的3D制作接近尾声。
     在编程语言方面,当初选择C#是因为我及其其讨厌VC6.0的IDE,虽然之前学过一些,最终还是放弃了。
     C#的语法是优雅的,而且我以后也并不想当程序员,我的专业也与这行并不相关,所以我只想让我能够在最简单的方式最快的途径达到目的就可以了(虽然我对编写我喜欢的程序有一定的兴趣,我想把他作为业余爱好维持下去,而不想让他变成职业而令其像听完N遍的喜欢的歌的感觉一样索然无味)。无疑C#的Form类让我看到了这种希望。
     其中用到了3D显示这一环节,其实不是必须的,个人虚荣心和好奇心驱使,所以做了这方面的学习。提到3D显示,我的编译环境都选在了.NET环境下了,3D最佳的选择当然是DirectX,这是无需考虑的。当然我做了写网上调查,结果无意中看到了NeHe的网站, http://nehe.gamedev.net/,我完全被这种教程风格感染了,很激动,他的教程很详尽也很谦实,并且受到他的认真、敬业和无私的精神所感染, 所以索性选择了OpenGL。当然,我后来找到了Nehe网站的中文版, http://www.imyaker.com/nehe/,下面是中文翻译、整理作者的版权声明,嗯,有朝一日我也要建一个这样的网站,让所有看到这个网站的人都能有所收益。
 

Nehe教程中文版版权声明


我是个对学习和生活充满激情的普通男孩,在网络上我以DancingWind为昵称,我的联系方式是zhouwei02@mails.tsinghua.edu.cn,如果你有任何问题,都可以联系我。
引子
网络是一个共享的资源,但我在自己的学习生涯中浪费大量的时间去搜索可用的资料,在现实生活中花费了大量的金钱和时间在书店中寻找资料,于是我给自己起了个昵称DancingWind,其意义是想风一样从各个知识的站点中吸取成长的养料。在飘荡了多年之后,我决定把自己收集的资料整理为一个统一的资源库。
版权声明
所有DancingWind发表的内容,大多都来自共享的资源,所以我没有资格把它们据为己有,或声称自己为这些资源作出了一点贡献。故任何人都可以复制,修改,重新发表,甚至以自己的名义发表,我都不会追究,但你在做以上事情的时候必须保证内容的完整性,给后来的人一个完整的教程。最后,任何人不能以这些资料的任何部分,谋取任何形式的报酬。
发展计划
在国外,很多资料都是很多人花费几年的时间慢慢积累起来的。如果任何人有兴趣与别人共享你的知识,我很欢迎你与我联系,但你必须同意我上面的声明。
感谢
感谢我的母亲一直以来对我的支持和在生活上的照顾。
感谢我深爱的女友田芹,一直以来默默的在精神上和生活中对我的支持,她甚至把买衣服的钱都用来给我买书了,她真的是我见过的最好的女孩,希望我能带给她幸福。
 
由于我又不想改变初衷退到C++上面去,在互联网上搜索了一下,找到了能够在C#运用OpenGL的API类,主要有以下几个类:

1,SharpGL 在CodeProject网站上发现的

http://www.codeproject.com/KB/openGL/sharpgl.aspx

   这个类是个非官方的类,但用起来很方便,具体介绍可以上这个网站去查,上面也有免费的例程可以下。

2,CsGL    在sourceforge网站上找到的

http://sourceforge.net/projects/csgl/

   这个类是sourceforge的一个开源项目,感觉上要正式些。例程和类都是免费的。前10个教程是用SharpGL写的,但后来我转到CsGL上了,因为SharpGL的执行效率非常慢,导致我屏幕很卡,而且非常占资源。后续我会把CsGL
的开发源码放上的。
 
(题外话,这两个网站是程序设计很有名的两个网站,全部资源都是开源免费下载的,让我想起了中国著名的CSDN,上面竟是转载的这里的文章和代码,还弄个扣积分下载,论坛上不乏牛人但是有些人的道德水平不怎么样,想的只是在里面鄙视菜鸟,虽然我英语不太好,不到万不得已,我宁可费着死劲去读CodeProject,我感觉我这人并不崇洋媚外,但是在CSDN的论坛上鄙视菜鸟的现象随处可见。我始终相信,踏实热心是一个理工科研人员的必须品质,显然我还差的很远,我只有时刻提醒自己,
我不聪明,所以我需要踏踏实实的努力,这点可以让我不浮躁;
我不勤奋,所以要勤勤恳恳的面对生活,这点可以上我不烦躁;
我不够真诚,所以要真真切切的面对朋友,这点可以让我不矫揉造作)。
在上述两个类的选择上我犹豫过,最终选择了SharpGL,原因很简单,他的示例源码可以在VS2008里直接运行,而CsGL的不行,他的C#示例不是工程文件,我当时很菜,所以运行不起来,因为不知道该怎么运行。030.gif012.gif
但是提醒大家的是CsGL要更好一些,他的帮助和示例文档更全,但是我的项目已经做完,也懒得改了。
 
这个学习主要是靠着Nehe中英文网站来进行的,因为SharpGL的大多数函数命名风格和OpenGL的源API风格一致,所以学习起来还是不难的。
 
由于经常有网友说我的新浪博客的内容很杂乱,这也是没办法的事,还在上学没有收入,有朝一日我会将它们都搬到我的个人网站上去的。最终决定将整个OpenGL的学习过程转到我的51CTO技术博客和我所创建的论坛去。

有任何意见和建议或是疑问以及版权问题你可以以以下方式联系到我:

EMail:wanglei_wan@yahoo.com.cn
 
这个教程是我仿照NeHe的中英文站点所写的,感谢他,并且我已经读过他的版权声明,虽然没有经过其个人允许,但是我的以下内容并不侵权。
暂且叫教程吧!
 
注:本Blog的有关OpenGL的教程的源代码来源主要有三部分:
1. 自己编写的代码
2. SharpGL的例程源代码
3. Nehe的教程代码
 
 

关于源代码:

前几个例子用SharpGL的例程源代码要多一些,后面大部分是参考Nehe的教程自己写的,学习的过程中已经分不清代码来源了,所以不详细列出了。
就舔着脸叫原创好了。