摘要:我是以一个初学者的身份来看这本书的,这个我在前言中就说过了,因此对本章的理解我有点举步维艰,因为本章有很多不常见的api,如游览文件夹,把图片读到特定的内存数据区,这些api都是我作为一个初学者首次遇到的,难免疑点重重,另外本章还有一些系统级定义的结构类型如位图相关结构,最令人头痛的是文件操作,文件操作涉及到指针,句柄(指针与句柄的概念非几十面a4的纸说不清,甚至可以写成一本厚厚的书),mfc对文......
摘要: 多纹理混合技术在地形渲染中用得很广泛,用来将非常不同的多个纹理(如石头和草)混合起来,看不出明显的边缘。例如,你可以用3个纹理(石头、草和沙子)来渲染一座山,在山的底部用草和沙子来混合。 在opengl中通过arb_multitexture和arb_texture_env_combine扩展来实现多纹理混合。分为以下几个步骤: 1. 计算3个纹理各自的贡献,并将它们编码进顶点的颜色中,这样颜色的......
>重点算法解疑·广阔天地
每一个关卡地图都包括二个场景文件,出场对象数据文件.dat与地图障碍模型文件.map,如1*1.dat,1*1.map,场景文件是用loadmap()来读取的,它的程序作用是用来初始化地图场景,这是大体上的说法,细一点说,它的最终的程序作用是给要出场的各个man[i]的所有分量赋值,.map障碍文件的读取loadza()为a*所用,是第七章以后的内容,(书中提到的场景一词就是指.dat中定义的rs个对象man[i]+卷动中的地面背景,为什么这样说呢,因为.dat中同时定义有地面背景与各个man[i],至于"卷动中的地图"的说法你看我的系列文档的"穿越众林"篇就清楚了,相比之下,.map才是真正的地图数据所在,才是真正的地图主体,因为它指明了地图最本质的特征,即哪里可以去哪里不能去,而.dat只是出场的各个man[i]数据所在,是场景主体,如人或兽,静物等以及它们的特征值,按照opp用对象与类来描述客观世界的做法,类是一个特殊的数据结构体,它跟普通的数据结构如这里的man[i]不一样,在c++中,类的定义形式跟构造体很为相似,类的概念的提出就是参照构造体来的,但是类在opp的技术规范里的发展已远远超出了构造体的意义,到后来就是二个在本质上有区别的东西了,假设这本书里的man[i]是以类的形式被定义与以它的实例被构造的,而不是以普通的数据结构形成出现的,那么man[i]在现实中的表示就是一个活生生的人物对象(或者说人物形象),它们各自的属性分量决定了它们的外表,它们的成员函数决定了它们的动作行为,而它在计算机内存中的表示只是man[i]对应的内存块,这个实体的内存块由man[i]的各个分量...
下一页 摘要: 在进行纹理帖图时,图象会出现在物体表面的(u,v)位置上,而这些值在[0.0,1.0]范围内。但是,如果超出这个值域,会发生什么情况呢?这由纹理的映射函数来决定。在opengl中,这类映射函数称为“texture wrapping mode”;在d3d中,称为“texture addressing mode”。常见的有下面几种: 1. 重复(gl_......