<?xml version="1.0" encoding="utf-8"?><rss version="2.0">
<channel>
<title><![CDATA[eastcowboy的编程BLOG]]></title>
<link>http://blog.pfan.cn/eastcowboy</link>
<description>编程爱好者博客</description>
<language>zh-cn</language>
			<item>
		<title><![CDATA[四至六课的教程请大家到论坛浏览，最近不会再更新]]></title>
		<link>http://blog.pfan.cn/eastcowboy/20340.html</link>
		<description><![CDATA[本来我想把这些教程都放到自己的BLOG里面的，但是考虑到教程有很多不完善的地方，很可能会被修改，如果保存多份的话，可能引起不一致的问题。另一方面，论坛交流起来也显得方便一些。
就我个人的因素来看，我去论坛的时间还算多，来BLOG的时间却非常少，所以以后的教程就放在论坛了。论坛的地址是www.programfan.com/club，选择“C/C++语言讨论区”，我一般会把最新的课程置顶的。
向只在BLOG看到这个教程，而没有看到论坛上新教程的朋友们说声对不起。
目前课程更新到第六课，但现在已经有一个月没有再更新。就我个人的愿望来看，我非常想马上写出新的教程来更新，但这段时间对我这个大四的学生来说显得太宝贵，我还有很多其它比较重要的事情要处理。所以，下一次更新很可能就是在寒假里了。对此我很抱歉，但我也没办法。
当然，除了等待，大家也可以有别的选择。比如可以找找其他的教程，或者可以试着买一本书来看看。我只是个业余爱好者，但别人也有专业的。仔细寻找的话，或许会有大的收获。]]></description>
		<author><![CDATA[eastcowboy]]></author>
		<pubDate>2006-11-14 23:15:00</pubDate>
		</item>
				<item>
		<title><![CDATA[[原创]OpenGL入门学习（三）]]></title>
		<link>http://blog.pfan.cn/eastcowboy/17104.html</link>
		<description><![CDATA[原帖地址：http://www.programfan.com/club/showbbs.asp?id=184769
好了，现在开始放出第三课的内容。先回顾一下我们都学习了些什么：第一课，编写第一个OpenGL程序第二课，绘制几何图形第三课，绘制几何图形的一些细节问题&nbsp;&nbsp;——→&nbsp;&nbsp;本次课程的内容在第二课中，我们学习了如何绘制几何图形，但大家如果多写几个程序，就会发现其实还是有些郁闷之处。例如：点太小，难以看清楚；直线也太细，不舒服；或者想画虚线，但不知道方法只能用许多短直线，甚至用点组合而成。这些问题将在本课中被解决。下面就点、直线、多边形分别讨论。==========================================
1、关于点点的大小默认为1个像素，但也可以改变之。改变的命令为glPointSize，其函数原型如下：void&nbsp;glPointSize(GLfloat&nbsp;size);size必须大于0.0f，默认值为1.0f，单位为“像素”。请自行编写程序并观察效果。2、关于直线（1）直线可以指定宽度：void&nbsp;glLineWidth(GLfloat&nbsp;width);其用法跟glPointSize类似。（2）画虚线。首先，使用glEnable(GL_LINE_STIPPLE);来启动虚线模式（使用glDisable(GL_LINE_STIPPLE)可以关闭之）。然后，使用glLineStipple来设置虚线的样式。void&nbsp;glLineStipple(GLint&nbsp;factor,&nbsp;GLushort&nbsp;pattern);pattern是由1和0组成的长度为16的序列，从最低位开始看，如果为1，则直线上接下来应该画的factor个点将被画为实的；如果为0，则直线上接下来应该画的factor个点将被画为虚的。以下是一些例子：声明：该图片来自www.opengl.org，该图片是《OpenGL编程指南》一书的附图，由于该书的旧版（第一版，1994年）已经流传于网络，我希望没有触及到版权问题。请自行编写程序并观察效果。==========================================
3、关于多边形多边形的内容较多，我们将讲述以下]]></description>
		<author><![CDATA[eastcowboy]]></author>
		<pubDate>2006-08-01 23:14:00</pubDate>
		</item>
				<item>
		<title><![CDATA[[原创]OpenGL入门学习（二）]]></title>
		<link>http://blog.pfan.cn/eastcowboy/17049.html</link>
		<description><![CDATA[原帖地址：http://www.programfan.com/club/showbbs.asp?id=184525
本次课程所要讲的是绘制简单的几何图形，在实际绘制之前，让我们先熟悉一些概念。一、点、直线和多边形我们知道数学（具体的说，是几何学）中有点、直线和多边形的概念，但这些概念在计算机中会有所不同。数学上的点，只有位置，没有大小。但在计算机中，无论计算精度如何提高，始终不能表示一个无穷小的点。另一方面，无论图形输出设备（例如，显示器）如何精确，始终不能输出一个无穷小的点。一般情况下，OpenGL中的点将被画成单个的像素（像素的概念，请自己搜索之~），虽然它可能足够小，但并不会是无穷小。同一像素上，OpenGL可以绘制许多坐标只有稍微不同的点，但该像素的具体颜色将取决于OpenGL的实现。当然，过度的注意细节就是钻牛角尖，我们大可不必花费过多的精力去研究“多个点如何画到同一像素上”。同样的，数学上的直线没有宽度，但OpenGL的直线则是有宽度的。同时，OpenGL的直线必须是有限长度，而不是像数学概念那样是无限的。可以认为，OpenGL的“直线”概念与数学上的“线段”接近，它可以由两个端点来确定。多边形是由多条线段首尾相连而形成的闭合区域。OpenGL规定，一个多边形必须是一个“凸多边形”（其定义为：多边形内任意两点所确定的线段都在多边形内，由此也可以推导出，凸多边形不能是空心的）。多边形可以由其边的端点（这里可称为顶点）来确定。（注意：如果使用的多边形不是凸多边形，则最后输出的效果是未定义的——OpenGL为了效率，放宽了检查，这可能导致显示错误。要避免这个错误，尽量使用三角形，因为三角形都是凸多边形）可以想象，通过点、直线和多边形，就可以组合成各种几何图形。甚至于，你可以把一段弧看成是很多短的直线段相连，这些直线段足够短，以至于其长度小于一个像素的宽度。这样一来弧和圆也可以表示出来了。通过位于不同平面的相连的小多边形，我们还可以组成一个“曲面”。
========================================== 
&nbsp;
二、在OpenGL中指定顶点由以上的讨论可以知道，“点”是一切的基础。如何指定一个点呢？OpenGL提供了一系列函数。它们都以glVertex开头，后面跟一个数字和1~2个字母。例如：glVertex2dg]]></description>
		<author><![CDATA[eastcowboy]]></author>
		<pubDate>2006-07-31 16:39:00</pubDate>
		</item>
				<item>
		<title><![CDATA[[原创]OpenGL入门学习（一）]]></title>
		<link>http://blog.pfan.cn/eastcowboy/17017.html</link>
		<description><![CDATA[原帖地址：http://www.programfan.com/club/showbbs.asp?id=184355
&nbsp;
说起编程作图，大概还有很多人想起TC的#include&nbsp;&lt;graphics.h&gt;吧？但是各位是否想过，那些画面绚丽的PC游戏是如何编写出来的？就靠TC那可怜的640*480分辨率、16色来做吗？显然是不行的。本帖的目的是让大家放弃TC的老旧图形接口，让大家接触一些新事物。OpenGL作为当前主流的图形API之一，它在一些场合具有比DirectX更优越的特性。1、与C语言紧密结合。OpenGL命令最初就是用C语言函数来进行描述的，对于学习过C语言的人来讲，OpenGL是容易理解和学习的。如果你曾经接触过TC的graphics.h，你会发现，使用OpenGL作图甚至比TC更加简单。2、强大的可移植性。微软的Direct3D虽然也是十分优秀的图形API，但它只用于Windows系统（现在还要加上一个XBOX游戏机）。而OpenGL不仅用于Windows，还可以用于Unix/Linux等其它系统，它甚至在大型计算机、各种专业计算机（如：医疗用显示设备）上都有应用。并且，OpenGL的基本命令都做到了硬件无关，甚至是平台无关。3、高性能的图形渲染。OpenGL是一个工业标准，它的技术紧跟时代，现今各个显卡厂家无一不对OpenGL提供强力支持，激烈的竞争中使得OpenGL性能一直领先。总之，OpenGL是一个很NB的图形软件接口。至于究竟有多NB，去看看DOOM3和QUAKE4等专业游戏就知道了。OpenGL官方网站（英文）http://www.opengl.org下面我将对Windows下的OpenGL编程进行简单介绍。
========================================== 
&nbsp;
学习OpenGL前的准备工作第一步，选择一个编译环境现在Windows系统的主流编译环境有Visual&nbsp;Studio，Broland&nbsp;C++&nbsp;Builder，Dev-C++等，它们都是支持OpenGL的。但这里我们选择Visual&nbsp;Studio&nbsp;2005作为学习OpenGL的环境。第二步，安装GLUT工具包GLUT不是OpenGL所必须的，但它会给我]]></description>
		<author><![CDATA[eastcowboy]]></author>
		<pubDate>2006-07-30 21:20:00</pubDate>
		</item>
		</channel>
</rss>