第二人生的源码分析(二十二)调用OpenGL显示人物名称的函数

继续前一次所介绍的人物名称显示,再来仔细地深入分析字体渲染,到底怎么样设置OpenGL函数才能显示出来呢?先来看下面一段代码:#001 void LLFontGL::renderQuad(const LLRectf& screen_rect, const LLRectf& uv_rect, F32 slant_amt) const#002 {#003      glTexCoord2f...
阅读(4777) 评论(4)

第二人生的源码分析(二十一)显示人物名称的字体

前面已经介绍了显示人物名称的基本框架,但是使用OpenGL显示这个名称出来是需要很复杂的步骤。由于OpenGL是图形引擎显示,也就是说所有字符的显示都是基于图形来显示,而图形的显示,就需要获取字体的图片,即是获取字体的字模。由于不能使用Windows的标准GDI来显示,那么就需要实现GDI所做的所有功能,比如从字体里读取每个字符的轮廓,然后生成合适大小的位图,再把这幅位图当作纹理贴到3D的平面上去...
阅读(3131) 评论(0)

第二人生的源码分析(二十)显示人物名称

在第二人生里,每个人物显示都有一个名称,那么这个名称又是怎么样显示出来的呢?怎么样实现的呢?带着这两个问题,下面就去分析第二人生里面的实现代码。它的人物名称显示如下:蔡军生 2008/01/24 QQ:9073204 深圳从上面的图片上,可以看到人物的头上有一个名称显示,用来标识人物角色。要显示这个人物名称,肯定是在二维的空间里显示的。每个人都有一个名称显示,很多人在一起时,就需要...
阅读(4926) 评论(2)

第二人生的源码分析(十九)人物组合显示

在第二人生里,人物的显示是比较复杂的,因为同一个网格模型可以显示为不同的人物出来,也就是人物每个部位的纹理不一样,比如不同的女孩子就有可能选择不同的头发,还可以穿着不同的衣服,不同的裤子等等。要实现这些功能,也就是说要把头、上身、下身、脚分开来显示。如下图所示:蔡军生 2008/01/22 QQ:9073204 深圳 现在就来仔细地分析一下第二人生里是怎么样分别显示不同身体部份的,...
阅读(3548) 评论(0)

第二人生的源码分析(十八)人物纹理显示的实现

上面已经介绍怎么样显示Mesh数据,也就是人物模型已经显示出来,那么同样的模型怎么样构造出各种各样的人物来呢?在第二人生里是使用各种各样的纹理图片来实现的。下面就来仔细地分析这段代码,如下:#001  U32 LLViewerJointMesh::drawShape( F32 pixelArea, BOOL first_pass)#002  {#003       if (!mVali...
阅读(3967) 评论(0)

第二人生的源码分析(十七)人物Mesh数据显示的实现

前面介绍了怎么样读取人物的Mesh数据,那么你也许会想到,读取数据之后是怎么样显示出来的呢?并且显示出活生活现的人物来。现在就来分析第二生里怎么样显示人物Mesh数据,它的显示流程如下:1、 LLAppViewer::mainLoop()  主线程的消息循环函数。2、 display() 主要渲染函数。3、 LLPipeline::renderGeom() 渲染管道显示函数。4、 ...
阅读(4790) 评论(0)

第二人生的源码分析(十六)保存人物角色的XML文件

前面介绍怎么样从文件里读取Mesh数据,那么怎么样知道数据从那里读取回来呢?这些信息又是记录在那里呢?现在就来分析这方面的问题。其实在第二人生里把这些信息保存在XML文件里的,可以在第二人生的目录character里找到文件avatar_lad.xml,这个文件就记录了人物角色组成信息。比如每个部位的组成文件名称,就可以通过下面XML片段可以找到:      type="hairMes...
阅读(4443) 评论(0)

第二人生的源码分析(十五)Mesh文件的读取

 从前面可以看到人物角色显示是比较重要的,也是比较复杂的。现在就来仔细地分析一下第二人生里的Mesh文件是怎么样读取的呢?可以显示出来如此逼真优秀的画面。如下图所示:蔡军生  2008/01/15 QQ:9073204 深圳在Mesh文件保存的格式里,最常用的有两种格式:文本格式和二进制格式。文本格式就是占用空间比较大,并且读取文件的数据也比较慢,但它便于查看。二进制格式是刚好...
阅读(5200) 评论(1)

第二人生的源码分析(十四)人物角色的实现

在第二人生里,最重要的实现就是人物角色的实现,它不是基于第一视角实现的,而是第三视角的方式实现,因此每个居民在第二人生里是有一个虚拟人物角色代表的。这样构造出来的社会是多姿多彩,先来看看下面人物角色的图片:蔡军生  2008/01/14 QQ:9073204 深圳蔡军生  2008/01/14 QQ:9073204 深圳从上面看到各种各样的人物角色,穿着不同的衣服,摆出...
阅读(4827) 评论(5)

第二人生的源码分析(13)树显示的实现

在室外场境的实现中,有很多植物是需要显示出来的,比如树和花草是最常见的植物。下面就来看看第二人生里树显示的实现,如下图所示: 蔡军生  2008/01/13 QQ:9073204 深圳看到如此优美的画面,让人感觉就是身临其境,快活如神仙一般。这样才提供给人们快乐的环境,度过美好的人生。那么这么优美的树是怎么样实现的呢?现在就来分析一下第二人生里树显示的实现,跟前面地面和天空一样...
阅读(4822) 评论(2)

第二人生的源码分析(12)天空显示的实现

在虚拟世界里,自然现象的实现是最需要实现的,比如天空的实现,以便反映是白天还是晚上,这样才逼真反映现实世界。在第二人生里实现的天空,还是比较好的,如下图所示:蔡军生 2008/01/10 QQ:9073204 深圳从上面的图片里,可以看到太阳在远处,并具有雾化的效果,这是早上太阳升起的效果。看到远处是浅蓝色的天空,与海边连接成一体。在室外场境的模拟中,最重要的就是天空体的实现。目前实现...
阅读(10667) 评论(5)

第二人生的源码分析(11)地面显示的实现

通过所有验证之后,第二人生就会连接到GRID服务器,从服务器上获取很多信息,比如角色的位置,虚拟世界的时间等等。接着就会根据这些信息去构造一帧帧的图片显示出来,在这里先看看下面的图片:蔡军生 2008/1/8 QQ:9073204 深圳从这幅图片上,就可以看到有天空,有地面,还有房子,人和树等等。这么多东西都是一样一样实时渲染出来的,现在就来看看地面是怎么构造出来的。目前的3D技术都是...
阅读(6430) 评论(0)

第二人生的源码分析(10)登录授权的实现过程

在信息的社会里,越来越多东西实现了数字化,带给大家方便的同时,也面临着严重的信息安全挑战。特别是个人帐号信息的安全性,或者判别一个人是否合法登录服务器的问题,都极其艰难。特别像第二人生这样的系统,它的交易系统是跟实现生活里的金钱联系在一起的,这样对它的验证要求就更加严格了。下面的图片,就是显示正在验证登录过程。 蔡军生 2008/1/8 QQ:9073204 深圳在第二人生里,第一次验...
阅读(5631) 评论(0)

第二人生的源码分析(9)登录界面显示

登录状态界面之后,就是登录界面出现了,这时需要用户输入用户名称和密码,然后再连接到第二人生的WEB服务器,并且把用户名称和密码发送过去进行验证。当验证成功后,就会返回合适的数据给客户端,让客户端进行下一步的工作。登录界面的图片如下:蔡军生 2008/1/7 QQ:9073204 深圳 在登录界面里是怎么样把用户名称和密码传送给浏览器的呢?其实,这个界面也是由网页构成,因此它就是通过...
阅读(5657) 评论(1)

第二人生的源码分析(8)登录状态界面显示

登录服务器是一个基本的功能,下面就来了解一下第二人生的登录界面设计与实现,先来分析一下登录状态界面的显示。它的界面如下图: 从上面的界面,就可以看到界面的基本组成有窗口、菜单和状态显示,由于登录时需要从服务器下载数据,这是一个比较漫长的过程,因此需要提示这个下载过程正在进行中。在第二人生里要显示上面一个界面,也是比较复杂的事情,因为它所有界面的显示都是基本OPENGL的显示实现...
阅读(5209) 评论(1)
20条 共2页1 2 下一页 尾页
    个人资料
    • 访问:5594056次
    • 积分:73134
    • 等级:
    • 排名:第25名
    • 原创:1587篇
    • 转载:61篇
    • 译文:11篇
    • 评论:2086条
    文章存档
    最新评论