OpenGL编程指南之glPolygonStipple函数深入理解
2012-02-20 00:48
525 查看
最近在读《OpenGL编程指南》-红宝石书,发现3D图形编程真的有趣,游戏API,看书有时候乍一看很费解,但经过反复琢磨,加上在纸上拿尺笔画画,网上参考网友的解释,在看看OpenGL API参考手册,最终困难都会克服的,
下面以该书中第38页的图20-10为例解释一下glPolygonStipple的语法:
下面先上该函数的概念、代码、运行效果图(声明:这3个是原书中截图一下来的)
概念:
代码:
运行截图:
刚开始我也死活不明白一堆的二进制数组,就能画出一个蝗虫效果, 不过理解了这个函数,想画一个超级玛丽的效果也就不远啦!
下面先温习一下基础知识:
1、8421码编码规则(大学数字电路这门课必学),其中ABCD分别代表10、11、12、13
2、在计算机里8对应二进制是1000、4对应0100、5对应0101、3对应0011
3、0x代表十六进制,0x04等价于0x0000 0100
有了上面的基础,加上上面提到的概念里最关键的一句话:数值为1的则填充
我分几个步骤结合截图理解一下,不妥之处请大家多多指教。
步骤一:小黑虫分析图如下
这里分析一下:
1、左图蓝色部分的0x00对应有图里的蓝色部分,0x代表十六进制,00代表0000 0000,没有数字1,所有没画黑点。
2、左图红色部分对应右图的红色部分,也就是最底行的小方块。(注这个二维数组的前4个元素代表最低行的小方块,第5-8个元素表示的是底下第2行,也就是说8位数里,1位数占1个小方块,画不画黑点取决于值是不是1)
3、左图绿色部分对应有图绿色部分,正好8个元素对应2行空格。
下面我拿第9,第10个元素印证一下我的理解,
0x03,等价于0000 0011
0x80,等价于0000 1000
看如下图:
其它元素的值读者可以依据此方法分析,如有说明不清楚的地方,请多多包含!
下面以该书中第38页的图20-10为例解释一下glPolygonStipple的语法:
下面先上该函数的概念、代码、运行效果图(声明:这3个是原书中截图一下来的)
概念:
代码:
运行截图:
刚开始我也死活不明白一堆的二进制数组,就能画出一个蝗虫效果, 不过理解了这个函数,想画一个超级玛丽的效果也就不远啦!
下面先温习一下基础知识:
1、8421码编码规则(大学数字电路这门课必学),其中ABCD分别代表10、11、12、13
2、在计算机里8对应二进制是1000、4对应0100、5对应0101、3对应0011
3、0x代表十六进制,0x04等价于0x0000 0100
有了上面的基础,加上上面提到的概念里最关键的一句话:数值为1的则填充
我分几个步骤结合截图理解一下,不妥之处请大家多多指教。
步骤一:小黑虫分析图如下
这里分析一下:
1、左图蓝色部分的0x00对应有图里的蓝色部分,0x代表十六进制,00代表0000 0000,没有数字1,所有没画黑点。
2、左图红色部分对应右图的红色部分,也就是最底行的小方块。(注这个二维数组的前4个元素代表最低行的小方块,第5-8个元素表示的是底下第2行,也就是说8位数里,1位数占1个小方块,画不画黑点取决于值是不是1)
3、左图绿色部分对应有图绿色部分,正好8个元素对应2行空格。
下面我拿第9,第10个元素印证一下我的理解,
0x03,等价于0000 0011
0x80,等价于0000 1000
看如下图:
其它元素的值读者可以依据此方法分析,如有说明不清楚的地方,请多多包含!
相关文章推荐
- OpenGl的glMatrixMode()函数理解
- glMatrixMode()函数的理解以及OPENGL相关视图以及矩阵的理解,特别适合新入门者。搞清基本的概念
- OpenGl的glMatrixMode函数理解
- OpenGl的glMatrixMode()函数理解
- OpenGl的glMatrixMode()函数理解
- OpenGl的glMatrixMode()函数理解
- OpenGl学习glMatrixMode()函数理解
- OpenGl的glMatrixMode()函数理解
- OpenGl的glMatrixMode()函数理解
- OpenGl的glMatrixMode()函数理解
- OpenGL编程指南9:裁剪平面+glPushMatrix和glPopMatrix矩阵栈顶操作
- OpenGl的glMatrixMode()函数理解
- OpenGl的glMatrixMode()函数理解
- 深入理解内联inline函数的优缺点,性能及使用指南
- 网络编程 客户端 服务端 函数 流程 图示 来自深入理解计算机系统一书 P704
- OpenGl的glMatrixMode()函数理解
- OpenGl的glMatrixMode()函数理解
- OpenGL中glMatrixMode()函数以及视图变换,模型变换,投影变换,视口变换的理解
- OpenGl的glMatrixMode()函数理解
- opengl 中glpushmatrix和glpopmatrix函数的个人理解