摘要: 在OpenGL窗口中, 左下角的像素为(0, 0). 一般而言, 像素(x, y)占据的矩形区域左下角为(x, y), 右上角为(x+1, y+1).10.1 缓存及其用途 1) 颜色缓存, 左前,右前,左后,右后和任意数量的辅助颜色缓存;2) 深度缓存3) 模板缓存4) 累积缓存 注意:X窗口系统,RGBA模式至少保证1个颜色缓冲区,模板缓冲区,深度缓冲区,累计缓冲区颜色索引模式至少保证1个眼色... 阅读全文
posted @ 2010-11-19 14:23 白了少年头 阅读(13102) 评论(1) 推荐(2) 编辑
摘要: 在前面的章节中,已经讲述了几何数据(点、线、多边形)绘制的有关方法,但OpenGL还有另外两种重要的数据类:一是位图,二是图像。这两种数据都是以象素矩阵形式存储,即用一个矩形数组来表示某一位图或图像。二者不同之处是位图包含每个象素的一位信息,而图像数据一般包含每个象素的多位信息(如,红、绿、蓝和Alpha值);还有位图类似于掩码,可用于遮掩别的图像,而图像数据则简单地覆盖先前已经存在的数据或者与之... 阅读全文
posted @ 2010-11-19 11:25 白了少年头 阅读(8341) 评论(0) 推荐(1) 编辑
摘要: 今天我们先简单介绍Windows中常用的BMP文件格式,然后讲OpenGL的像素操作。虽然看起来内容可能有点多,但实际只有少量几个知识点,如果读者对诸如“显示BMP图象”等内容比较感兴趣的话,可能不知不觉就看完了。像素操作可以很复杂,这里仅涉及了简单的部分,让大家对OpenGL像素操作有初步的印象。学过多媒体技术的朋友可能知道,计算机保存图象的方法通常有两种:一是&ldqu... 阅读全文
posted @ 2010-11-19 11:02 白了少年头 阅读(9711) 评论(2) 推荐(0) 编辑
摘要: 在三维图形中,纹理映射(Texture Mapping)的方法运用得很广,尤其描述具有真实感的物体。比如绘制一面砖墙,就可以用一幅真实的砖墙图像或照片作为纹理贴到一个矩形上,这样,一面逼真的砖墙就画好了。如果不用纹理映射的方法,则墙上的每一块砖都必须作为一个独立的多边形来画。另外,纹理映射能够保证在变换多边形时,多边形上的纹理图案也随之变化。例如,以透视投影方式观察墙面时,离视点远的砖块的尺寸就会... 阅读全文
posted @ 2010-11-19 10:02 白了少年头 阅读(15919) 评论(1) 推荐(1) 编辑
摘要: OpenGL显示列表(Display List)是由一组预先存储起来的留待以后调用的OpenGL函数语句组成的,当调用这张显示列表时就依次执行表中所列出的函数语句。前面内容所举出的例子都是瞬时给出函数命令,则OpenGL瞬时执行相应的命令,这种绘图方式叫做立即或瞬时方式(immediate mode)。本章将详细地讲述显示列表的基本概论、创建、执行、管理以及多级显示列表的应用等内容。16.1、显示... 阅读全文
posted @ 2010-11-19 09:13 白了少年头 阅读(16956) 评论(0) 推荐(2) 编辑
摘要: 0. 引言使用过SDK的朋友应该知道“回调函数”(callback function)这个概念,但本文并不是介绍如何使用回调函数,而是站在SDK开发者的角度,讲述如何实现回调机制。1. 何为回调(callback)所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函... 阅读全文
posted @ 2010-11-17 09:29 白了少年头 阅读(4625) 评论(0) 推荐(1) 编辑
摘要: http://nehe.gamedev.net/ 阅读全文
posted @ 2010-11-09 09:58 白了少年头 阅读(881) 评论(0) 推荐(0) 编辑
摘要: 前言我的blog以前很长一段时间关注的都是C++中的技术&细节,乃至于读者和应者都寥寥。然而5月份的时候写的一篇“你应当如何学习C++”,阅读量却达到了3万多,在blog上所有文章中却是最高的(且远远超过了第二位);评论数目也有一百多。为什么独独这篇能够激起这么多的回应,想必是国内的C++社群被C++压抑太久,或者,严格来说,是被 C++的教育方式压抑太久。实际上,... 阅读全文
posted @ 2010-11-03 20:25 白了少年头 阅读(2647) 评论(0) 推荐(0) 编辑
摘要: 下载OpenGL库文件。 对相应库文件进行放置。把.h文件放到\Program Files\Microsoft Visual Studio 8\VC\Include\GL文件夹中,如果没有GL文件夹就自己建一个,我的就是自己建的。把.lib文件放到\Program Files\Microsoft Visual Studio 8\VC\lib文件夹中;把.dll文件放到system32文件夹中。 建... 阅读全文
posted @ 2010-11-02 15:24 白了少年头 阅读(1214) 评论(2) 推荐(1) 编辑
摘要: 当命令进入流程时,可以选用两种方法对它们进行处理:一种是通过流程立即执行这些命令;令一种是将其中一些命令组织到一个“显示列表”,过一段时间再执行它们。流程中的“求值器”阶段通过将输入值赋给多项式命令提供了一种非常有效的方法来生成几何曲面和曲面的近似值。接下来的“各顶点操作及图元集”阶段主要是处理OpenGL的几何图元&mdas... 阅读全文
posted @ 2010-11-01 15:54 白了少年头 阅读(1202) 评论(0) 推荐(0) 编辑