自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大坡3D软件开发

自主操作系统和CPU--用软件和芯片来改变世界

  • 博客(20)
  • 资源 (33)
  • 论坛 (34)
  • 收藏
  • 关注

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

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

2008-01-29 21:29:00 5075 4

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

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

2008-01-25 22:34:00 3503

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

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

2008-01-24 23:17:00 5263 2

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

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

2008-01-22 22:04:00 3798

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

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

2008-01-18 22:44:00 4267

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

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

2008-01-17 22:28:00 5180

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

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

2008-01-16 23:42:00 4782

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

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

2008-01-15 22:14:00 5810 1

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

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

2008-01-14 22:14:00 5206 2

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

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

2008-01-13 21:19:00 5183 1

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

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

2008-01-10 22:33:00 11048 4

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

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

2008-01-10 00:00:00 6727

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

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

2008-01-08 21:28:00 5914

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

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

2008-01-07 21:52:00 5967 1

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

登录服务器是一个基本的功能,下面就来了解一下第二人生的登录界面设计与实现,先来分析一下登录状态界面的显示。它的界面如下图: 从上面的界面,就可以看到界面的基本组成有窗口、菜单和状态显示,由于登录时需要从服务器下载数据,这是一个比较漫长的过程,因此需要提示这个下载过程正在进行中。在第二人生里要显示上面一个界面,也是比较复杂的事情,因为它所有界面的显示都是基本OPENGL的显示实现

2008-01-06 22:40:00 5501

原创 第二人生的源码分析(7)应用程序实例类

在用C++设计一个应用程序时,总会使用应用程序实例类来管理所有事情,也就是说所有应用程序实例对象只有一个,并且保存这个应用程序所有状态,跟踪这个应用程序的变化。在第二人生里,也毫无例外地采用这种方案,现在就来分析一下应用程序实例类。它们的继承关系如下:在文件llapp.h里定义类class LLApp,在文件llappviewer.h里定义类class LLAppViewer : publ

2008-01-06 11:14:00 3909

原创 第二人生的源码分析(6)类CallSite的实现

类CallSite提供了保存一行Log的信息,以便保存所有的LOG到容器里,方便管理以及输出到文件,同时输出到其它需要输出的界面。使用这个类是先调类CallSite的构造函数来保存Log所在的函数名称、类名称、文件名称和行号,还有是否需要输出Log等信息,接着就保存在类Log里保存到全局的容器里。它的代码如下:#001 namespace LLError#002 {#003  Call

2008-01-04 22:18:00 4190

原创 第二人生的源码分析(5)类Log的实现

类Log定义如下:#001 class Log#002  {#003  public:#004         static bool shouldLog(CallSite&);#005         static std::ostringstream* out();#006         static void flush(std::ostringstream*, c

2008-01-03 22:26:00 6891

原创 第二人生的源码分析(4)Log调试功能的实现

对于一个比较复杂的软件来说,没有Log调试系统,就像一个人没有眼睛一样,看不到任何东西。对于一个能稳健运行的软件来说,Log调试系统是必须有的,否则这个软件是开发不成功的。如果在开发软件过程里,没有强调Log系统的实现,就等于这个软件运行的不稳定性已经存在其中,后期调试工作和源码维护都存在严重的问题。在《第二人生》的源码里已经开发一个非常容易使用的Log系统,这个Log系统具有如下特点:1、 

2008-01-02 23:51:00 6905 4

原创 第二人生的源码分析(3)程序入口点

所有Windows图形应用程序都是拥有相同的入口点函数WinMain,因此第二人生的程序也不例外。下面先来看看这个函数的代码,如下: //蔡军生 2007/12/28 QQ:9073204 深圳#001 int APIENTRY WinMain(HINSTANCE hInstance,#002                       HINSTANCE hPrevInstanc

2008-01-01 10:22:00 10515 12

C++读写json文件

https://github.com/nlohmann/json 最好用的C++读写json库

2017-12-09

python抓取天气并分析 实例源码

Python代码抓取获取天气预报信息源码讲解。这是一个用Python编写抓取天气预报的代码示例,用python写天气查询软件程序很简单。这段代码可以获取当地的天气和、任意城市的天气预报,原理是根据url找到网站截取相应的数据展现。 python抓取广州天气并分析 实例源码

2017-08-28

国产8051模拟器

一款国产的8051模拟器(全部源代码) 本软件是一款8051模拟器,他的特点是可以模拟多处理器平台,在简单的多工作区间的界面上可以很方便的模拟8051处理器, 最重要的是这个单片机系统可以完全由你自己订制,你甚至可以随意创建自己的多单片机系统,什么SMP 基于串行总线的分布式系统,集群式系统,只要你能想到的,都可以办到,充分发挥你的想象力。现在1.0版本已经基本体现出了这种思想,在以后的版本中将使这一特性变的 更加强大!

2016-09-10

python web py入门配套源代码

python web py入门- 实现论坛,开发技术:后端采用Python+web.py+MySQL,前端采用HTML+CSS+JavaScript+jQuery+RequireJS。

2018-02-23

milang 1.0.5

本项目主要开发 学习 讨论小语 milang 编程语言 它是以python语法为基础 然后改进它语法 增加直接生成机器码 混合C++的优点 增加基于寄存器的虚拟机实现

2014-08-03

milang 1.0.4

本项目主要开发 学习 讨论小语 milang 编程语言 它是以python语法为基础 然后改进它语法 增加直接生成机器码 混合C++的优点 增加基于寄存器的虚拟机实现

2014-07-13

milang 1.0.3

本项目主要开发、学习、讨论小语(milang)编程语言,它是以python语法为基础,然后改进它语法、增加直接生成机器码,混合C++的优点,增加基于寄存器的虚拟机实现。

2014-06-07

Milang 1.0.2

本项目主要开发、学习、讨论小语(milang)编程语言,它是以python语法为基础,然后改进它语法、增加直接生成机器码,混合C++的优点,增加基于寄存器的虚拟机实现。 代码下载和上传见: https://code.csdn.net/caimouse/milang

2014-06-02

milang开发工具

组合了notepad和python 3.4的开发工具,可以集编辑和运行、结果查看为一体。

2014-05-24

svm_hog_data.rar

使用到LineSVC里进行机器学习的训练数据,用来训练手写识别。 配套专栏文章使用,https://blog.csdn.net/caimouse/article/details/104599920。

2020-03-02

实现numpy的C++库扩展

使用C++来扩展numpy里的数据计算,这时就需要使用numpy的扩展库功能了,下面就来提供一个使用C++编写numpy扩展库的模板,这样大家就要减少很多弯路,减少跌入坑里的成本。这个扩展库的模板是从mahotas库里抽取出来的,经过最大化的简化,这样更加容易理解,更方便学习。

2019-11-24

STM32F407VET6工程模板

玩转STM32里文章配置的代码,这里学习的第一个工程代码,可以作为后继开发的模板工程。

2019-03-14

webpy演示例子1

webpy演示例子1, 用于配套文章相关资源。python web py入门(9)- 论坛首页的模板中模板 前面已经提到一个模板中可以套用另外一个模板,现在就来看看这个论坛基本布局模板是怎么样的?

2018-02-21

胶囊模型的代码

胶囊模型的代码在以下论文中使用: “Dynamic Routing between Capsules” by Sara Sabour, Nickolas Frosst, Geoffrey E. Hinton. 要求 TensorFlow ( 访问 http://www.tensorflow.org 了解如何安装和升级) NumPy (详见http://www.numpy.org/) GPU

2018-02-02

wix3.11版本安装工具

wix3.11版本安装工具

2017-06-19

WiX3.10版本安装工具

WiX3.10版本安装工具

2017-06-19

GOOGLE的TPU论文

GOOGLE公开TPU的论文

2017-04-06

深度强化学习论文

DQN的论文

2017-03-17

书《深度学习》

2015年,深度学习三大牛Yann LeCun、Yoshua Bengio和Geoffrey Hinton在最新的《Nature》杂志首次合作的发表综述文章《Deep Learning》。本文为该综述文章的中文译文,深入浅出地介绍了深度学习的基本原理,核心优势和未来展望。

2017-03-13

手写识别的训练数据

MNIST训练数据

2017-03-10

俄罗斯方块游戏开发

俄罗斯方块游戏开发培训里的可执行文件,让大家可以查看相关的结果。以便是否参加培训。

2016-11-30

duilib界面库20161116

更新为VC2015编译的duilib,持续重构代码,使用最新的C++14的语法。

2016-11-16

duilib界面库20161017

duilib 界面库

2016-10-17

duilib界面库

duilib界面库,长期维护的界面库,在WIN10和VS2012上编译和开发、测试通过。

2016-10-10

mysql开发管理工具

mysql数据库的开发管理工具。

2016-07-12

mysql-5.5.50-64

windows下的64位MYSQL的版本。

2016-07-10

python-3.4.4

python 3.4的32位的windows版本

2016-07-01

tinyxml2配套源码

在软件开发过程中,为了使软件有灵活的配置,特别像界面这样的配置,同时为了减轻重复开发的任务,需要把客户的个性化需求可以通过配置文件来修改,比如像界面的颜色配置,就可通过配置文件来修改,这时就可以采用XML文件来保存和修改这些参数配置。在不同软件之间进行通讯时,也可以采用XML协议来进行数据交换,特别像WEB服务的调用时,采用传送XML格式是基本的数据交换方式。基于这些任务的需求,需要软件开发人员会在C++里使用xml格式。

2016-06-27

protoc2.5执行文件

protoc执行文件

2016-06-24

protobuf 2.5

protobuf 2.5库代码和工具

2016-06-24

selenium的浏览器驱动

目前有很多的银行网站,还是以IE为标准的浏览器,因此这里主要采用IE为测试的例子,在这里可以下载不同版本的浏览器驱动,可以是32位的,也可以是64位的,根据自己的需要下载不同的版本。在本文章里,下载的是2.35.3版本:IEDriverServer.exe,把它放在目录f:\temp\里面。

2016-06-14

WIX制作C#应用程序安装包

WIX制作C#应用程序安装包

2016-05-26

pythoncn-3.4.3

1. 使用VS2012编译。 2. 修改在VC11.0的库下运行pythonw.exe出错误的BUG。

2015-05-04

caimouse的留言板

发表于 2020-01-02 最后回复 2020-05-14

开发大联盟,VC人员开放大聚会

发表于 2001-11-05 最后回复 2012-05-23

C++编译器源程序学习!!!!!!!!!!!!!!!!!1

发表于 2003-12-26 最后回复 2004-01-07

FastBT下载 1.0.3.66版 2003.12.25 放分 一小时结.

发表于 2003-12-26 最后回复 2003-12-26

发布最新版本FastBT 1.0.1.27 高兴放分

发表于 2003-11-21 最后回复 2003-12-10

有没有分析过传奇网络通迅?

发表于 2003-07-10 最后回复 2003-11-28

Visual Studio.net 2003 7cd 下载

发表于 2003-08-27 最后回复 2003-09-01

Visual Studio.net 2003 7cd 下载

发表于 2003-08-27 最后回复 2003-08-28

怎么样实现在资源管理器多一个盘号?

发表于 2003-07-24 最后回复 2003-07-31

深圳治安真差,我差点就被打死了!

发表于 2003-05-12 最后回复 2003-05-23

开放源码的P2P文件共享研究Gnucleus

发表于 2002-07-24 最后回复 2003-05-06

怎么样实现从播放器播放的声音录下来?

发表于 2003-03-11 最后回复 2003-03-19

QQ死机的BUG?不信你就试试了。

发表于 2003-02-20 最后回复 2003-02-26

大家把自己有的技能交流一下

发表于 2003-01-24 最后回复 2003-01-28

有不有程序员取这么好有GF啊?

发表于 2003-01-15 最后回复 2003-01-24

在C++BUILDER里怎么调试进入PASCAL?

发表于 2003-01-08 最后回复 2003-01-08

猜谜语送分

发表于 2003-01-07 最后回复 2003-01-07

操作系统源码分析网

发表于 2002-12-17 最后回复 2003-01-03

有人写过硬盘驱动程序吗?

发表于 2002-12-16 最后回复 2002-12-17

怎么样才能写出一个像TObject类CObject来?

发表于 2002-12-04 最后回复 2002-12-11

有空来我cbuilder论坛

发表于 2002-11-21 最后回复 2002-12-04

有空来我VC论坛

发表于 2002-11-25 最后回复 2002-11-26

开发DOS的操作系统,作为实时操作系统

发表于 2001-10-29 最后回复 2002-02-17

在局部网内用UDP通过代理服务器连接外面的人,怎么样用VC写通过代理呢?

发表于 2001-09-24 最后回复 2002-02-05

UDP 代理问题?

发表于 2002-01-24 最后回复 2002-01-24

怎么样设置像ICQ或OICQ这样服务器?

发表于 2001-12-29 最后回复 2001-12-29

我的钱哪去了?

发表于 2001-12-17 最后回复 2001-12-17

在VC中这个错误为什么出现的?

发表于 2001-11-30 最后回复 2001-12-13

谁能说出ICQ目录下各个DLL文件用处?给高分!!!!

发表于 2001-11-27 最后回复 2001-11-27

怎么样更新CLISTBOX

发表于 2001-11-14 最后回复 2001-11-14

谁有空就用C写个DOS操作系出来?XP可没有DOS啊

发表于 2001-10-26 最后回复 2001-11-13

为什么国内没有人写出像<<深入浅出MFC>>这样的好书

发表于 2001-11-08 最后回复 2001-11-08

用C++能写DOS操系统吗?

发表于 2001-10-31 最后回复 2001-10-31

我们能不能把NASM的使用手册译成中文吗

发表于 2001-10-30 最后回复 2001-10-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除