随笔分类 -  图形学

衣服模拟结果
摘要:目前有两大问题: 1、重力加速度要设置过大; 2、帧延迟想象。 效果如下(左下角是kinect,还没获取数据): 阅读全文

posted @ 2011-12-30 11:16 数据牛仔 阅读(760) 评论(3) 推荐(0)

APEX 使用小谈
摘要:前一篇文章有谈到自己怎样阅读APEX sample的。这一周来自己都在写程序,大部分的心情是悲情,总感觉望不到头。产生这种感觉的原因,应该是程序没有完全读懂,只是根据DX渲染管线走了一遍。由于文档写的相当粗糙,没有把每个接口以及APEXClothAsset的buffer内容说明清楚,甚至根本没有说明,造成读解非常费劲。凭借自己研究Physx的经验,不同地点设置无数断点来产看Buffer数据流的走向,总结一下: 1:初步查看clothAsset关于Vertex有四个buffer,两个是关于pos和normal的,一个是关于纹理坐标,还有一个是关于骨骼的。具体每个buffer的意义,需要大家根据. 阅读全文

posted @ 2011-12-24 23:15 数据牛仔 阅读(1033) 评论(0) 推荐(0)

关于开源的一点点感慨
摘要:本来打算今天收拾东西,准备明天去微软参加夏令营并且展示我们的项目的。但是昨天师弟突然告诉我,我们的程序在他的本本上跑不起来。心想,不至于吧,我已经在别的电脑上测试通过了啊。 横下心来,看了一下错误。原来是AppCrash,郁闷,到底跟哪个程序内存冲突了。几近崩溃,在安全模式下运行竟然发现是Ogremain_d.dll出现模块错误。无解了,师弟建议重新在本本上配置环境再编译一遍。OH,No。又要浪费不少时间。 花了三个小时,终于把所有开源的不开源的库链接好了(VS2010有点BT,对于链接库的使用不如VS2008方便)。所谓好事多磨,编译通过,但是链接错误。凭经验,链接错误一般是缺少链接库,可. 阅读全文

posted @ 2011-08-19 15:18 数据牛仔 阅读(873) 评论(0) 推荐(0)

Kinect项目告一段落
摘要:经过20天没日没夜的写代码,终于把基于Kinect的协作平台(qt,kinect,ogre,physx)做好了,刚提交完项目。晚上又是整栋计算机学院回寝室最晚的,我已经尽全力了,要是能够顺利去那个地方,那说明老天没亏待我。明天上实验截图. 阅读全文

posted @ 2011-07-12 00:24 数据牛仔 阅读(894) 评论(0) 推荐(0)

终于发布了
摘要:眼看着summer已经过的如火如荼了,微软的Kinect SDK for Windows终于发布了,不过对硬件和操作系统貌似限制比较大。等这几天忙完,好好研究一下写些blog。 阅读全文

posted @ 2011-06-17 08:46 数据牛仔 阅读(375) 评论(0) 推荐(0)

关于OpenMesh在Vs2008下编译与安装
摘要:为了实现麻工的那篇骨骼分配权重算法,今天试着安装了一下OpenMesh。本来官网已经提供了基于VS2008的lib和include了。但是为了参考它的APP源码,我还是自己Cmake了一遍。下面记录一下Cmake的主要问题: 1.出现Glut not found。 以前cmake的时候没有出现过这种问题,为了深究问题的根源,自己查看了部分部分Cmake介绍文档,如:http://www.docin.com/p-61773546.html。通过查找分析,鹰仔认为OpenMesh的cmake写的不是很完善,要查找Glut,简单的通过Add Entry加入是不行的。于是本人查看了Cmake的原文件. 阅读全文

posted @ 2011-06-10 16:19 数据牛仔 阅读(3296) 评论(0) 推荐(0)

Kinect研究二
摘要:前段时间一直忙着写项目,终于可以用kinect操控人模了,不过还是有些不明白OpenNI的镜像是怎么回事?这里也摘入一些自己收集到的小资料,希望能帮助大家: 1、对于color image,当设置分辨率是1280*1024时,FPS会降到15,当设置为640*480时,FPS提高至30。对于DEPTH,设置为640*480,FPS是30。不过大家不要过于执着于这些东西,因为这些很容易受硬件条件的约束。比如,我在做实验(显卡是集卡)时,渲染占了一部分时间,导致识别率降低。 2、对于OpenNI和NITE的关系,初入门的朋友可能晕的厉害,建议大家看过他们的英文文档。个人感觉NITE主要做的是手势. 阅读全文

posted @ 2011-05-25 17:01 数据牛仔 阅读(1235) 评论(5) 推荐(0)

骨骼动画中的顶点变换过程详解
摘要:在研究过OGRE骨骼动画的源码之后,对骨骼动画的理解有了进一步的加深,参考部分英文文献,我想在这节一步一步来解释一下骨骼动画中的顶点变换,帮助你更清晰的了解骨骼动画。如果对骨骼动画基本原理不是很理解,可以先参考《引擎技术中的骨骼动画蒙皮设计与实现》。下面我们结合Maya来谈谈LBS中的顶点变换过程。 首先载入模型,skin之后我们可以分配给每个顶点bone assignment,下面我们来测试顶点的变形: 如上图,可知选中点在骨骼变换之前的V点的坐标是(6.419,17.606,-0.823),由于我们的骨骼比较特殊,在reference骨骼空间中,初始只有平移,没有旋转,因此我们可以定义. 阅读全文

posted @ 2011-04-28 19:37 数据牛仔 阅读(3005) 评论(2) 推荐(0)

引擎技术中骨骼动画的蒙皮设计与实现
摘要:自己研究的主要是ogre引擎,最近由于在做SBS的蒙皮研究,所以系统的学习了一下骨骼动画的实现源码.由于GEEgine(具体参考《3D游戏引擎设计与实现》)是仿照OGRE的骨骼动画实现的,所以我先以这个为切入点。 首先说明骨骼动画的思想:大致就是在骨骼和mesh之间建立一种关联,这种关联诱使在骨骼运动的时候mesh也做运动,在这里我们暂且不考虑IK.通过系统的研究源码和参考论文。个人感觉很多概念性东西在和具体实现起来时总会有或多或少的‘冲突’,从而总让人感觉有点置身于云里雾里。如果不弄明白之间的联系,很难对蒙皮做出进一步的改正。我这里谈谈自己的心得体会:第一:可以换种思维方式,把骨骼和顶点之. 阅读全文

posted @ 2011-04-28 16:39 数据牛仔 阅读(3983) 评论(2) 推荐(1)

场景漫游
摘要:写论文闲暇之时,录制了自己去年做的一个场景漫游,采用的主要是ogre和nxogre。由于当时对nxogre不是很熟,就nxs问题都研究了快一个星期,虽然天天逛它的英文主页论坛,这也导致自己后来放弃nxogre而直接转攻physx. 场景漫游主要包括第一人称和第三人称,参考了别人的框架,改写了ogitor的dotsceneloader,最终得到了个人认为马马虎虎的效果。正如之前所说,nxogre封装的太死,加上时间限制,所以只有房子和地板以及白色盒子具有物理属性,所以人和场景的交互还是缺陷,这个以后有空再做研究。 至于GUI,自己还没有太多时间去做研究,CEGUI只是编译过,还没具体研究。 参. 阅读全文

posted @ 2011-04-09 10:59 数据牛仔 阅读(790) 评论(0) 推荐(0)

披风的模拟
摘要:由于人体第一帧移动包围盒的力量过大,导致模拟裙子的时候第一帧会让裙子出现撕裂的现状,这个还不知道怎么解决,所以自己用了单面的披风,把重力的系数值g调到了-50,这样披风的下坠的速度会相对快一些。包围盒(绿色)虽然在第0帧能够很好的包围住腿部,可是在动画的过程中仍然会出现问题,原因大概有二:1,包围盒太小,2,包围盒的偏移(主要是平移)有误差,除了把包围盒扩大外可能没有其他的好方法。这里贴一个实验的效果链接http://v.youku.com/v_show/id_XMjU0MzIzMjE2.html。 跟李老师讨论,觉得包围盒如果也能根据蒙皮信息在每一帧实时变换最好,这个自己可以做到,可是犯难. 阅读全文

posted @ 2011-03-28 15:33 数据牛仔 阅读(550) 评论(0) 推荐(0)

人体动画结合衣服物理模拟进程一
摘要:这周事情有点乱,做报告,实验室账目报销,老师真给“面子”,什么事情都让我忙。一直告诉自己要静下心来好好code,现在自己的工程终于小有雏形了,还有细节需要细化解决,不过衣服已经差不多可以跟着人体物理运动了。,自己很喜欢NVidia的Nurien PhysX Technology Demo,我要能做到那个的一半我就心满意足了(不用clothing的话)。 阅读全文

posted @ 2011-03-19 22:16 数据牛仔 阅读(866) 评论(6) 推荐(1)

per pixel lighting 和 per vertex lighting
摘要:以前没有用过FX Composer,今天用这个写了一下per pixel lighting 和 per vertex lighting,主要参考了http://dev.gameres.com/Program/Visual/3D/PPL.htm和《3D绘图程序设计》。 per vertex lighting顾名思义主要是对三角形或者四边形的顶点进行光照计算,然后内插得到其他顶点的光照,当三角形面很大时,效果不是很好,而且容易出现马赫带想象,vs和ps代码如下:[代码]而per pixel lighting由于把光照以后,相当于对每个像素进行光照计算,而插值的部分主要是法线向量,所以计算量比较大 阅读全文

posted @ 2011-02-20 14:59 数据牛仔 阅读(1373) 评论(0) 推荐(0)

分析一下ogre的sample浏览的类图
摘要:由于在学习nxogre,所以而例子又都是用plugin的形式写到ogre的samplebrowser中去的,对于如何调用的自己不是很清楚,所以想自己动手写nxogre也不知如何入手,想来想去还是去了解一下sample的插件到时是如何写的,下面来分析一下。 先看上面的类图,我们根据它来分析程序的走向流程: 1.sampleBrowser,程序首先调用sampleContext的go函数,go里面完成了三方面功能:1、创建root,选择渲染插件,创建渲染窗口,(创建OIS,载入资源,初始化资源,注册root,窗口时间帧监听),括号内的是在setup函数中实现;2、调用runSample函数,参 阅读全文

posted @ 2010-12-22 19:30 数据牛仔 阅读(1157) 评论(0) 推荐(0)

ogre资源载入与FPS显示问题
摘要:今天弄这两个旧问题又花了不少时间,想想还是来这做点笔记吧。关于资源载入,一种是通过写CFG文件来实现载入,一种是通过手动的在程序当中调用addREsourceLocation来实现,两种都很简单方便,这里载入的一般是模型和图片资源。应该注意的问题是,载入要进行初始化,要不然会出现很多问题,最常见的是找不到资源,今天我遇到的问题就是无法找到资源,但是不是像mesh那样找不到会直接显示出来,这让我头大了很一阵。最后通过查看log才最终解决了这个问题。 教训有二:1,要进一步养成查看log的习惯;2,对于载入的资源一定要记得intiliaze。 FPS显示问题,以前具体查看过,但是没有由于没有自己动 阅读全文

posted @ 2010-12-13 20:54 数据牛仔 阅读(922) 评论(0) 推荐(0)

热湿工程小结
摘要:实验室的交换机已经坏了好多天了,网速出奇的慢,一直没有下载下俩Physx,本来想开始研究这个的,没办法,只能改先研究ogre的materail了,争取这几天实现对工程中的女模进行表皮换色,另外学习一下RT shader,希望能够实时的更新模型的表皮数据。先贴一下最近做出来的效果吧,现在差物理碰撞和GPU更换数据了,希望能在放假前搞定。 实验图如下:人体在走动的时候根据按键可以实现不同的帧动画,由于自己做的骨架绑定效果不好(出身不好啊%_%),导致师妹“疯掉”不给我弄动画了,现在纠结中。现在是边学边做,所以还是有很多不足,哎,继续努力了。PS:看看这最坏的FPS一帧不到,蛋疼,后期一定要修 阅读全文

posted @ 2010-12-09 22:25 数据牛仔 阅读(286) 评论(0) 推荐(0)

ogre四元数测试
摘要:由于要做第一视角的动画,所以测试了一下ogre的四元数,大致通过代码来理解其过程。按下列代码,发现实验结果是物体位置不变。可以这样理解:物体在旋转的时候自身的X,Y,Z坐标系统跟随物体一起转动,但是还是保留了一个局部坐标系,而这个局部坐标系统不随物体转动而转动,即step2中的testvector2是定义在这个不变的局部坐标系统的,否则的话物体从Y转到(0.0,1.0,0.1)没有任何意义。再比较... 阅读全文

posted @ 2010-11-23 22:22 数据牛仔 阅读(1914) 评论(0) 推荐(1)

近一个月工作小总结
摘要:差不多有20多天没有更新自己的blog了,这个月实在太忙了,要帮实验室买电脑,要帮毛老师做实验,所以学习的时间也是零零散散的。不系统的我,用maya建立了一个人体模型的骨骼,然后找师弟的女朋友帮我弄了一个walk的动画(貌似我也能做)。然后导成自己需要的mesh和skeleton,虽然没有材质贴图,但起码达到了一定的效果,下个月和这个月的最后几天要把场景和基本的框架搭好,载入动画,规划好动画路径,... 阅读全文

posted @ 2010-11-22 16:33 数据牛仔 阅读(482) 评论(0) 推荐(0)

谈谈ogre中级教程中例子与appwizard冲突
摘要:不知道为什么坛子里面没有人讲这个错误的,或许大家都没有用appwizard吧,也或许用ogre的人不多,反正我搜索错误的时候没有在中文论坛里找到解答。先谈谈错误吧,我们在appwizard中加入我们自己新建的库,照着代码敲那,当然最好明白例子的意思。在MOving the Robot之前,我们会发现运行结果根本出不来,弹出一个如下图的错误:什么,我明明是按照教程来得啊,没办法,先谷歌看看有没有人解... 阅读全文

posted @ 2010-10-09 21:31 数据牛仔 阅读(684) 评论(1) 推荐(0)

OGRE1.7.1.1---vs2008安装
摘要:今天花了一下午终于把最新版的SDK安装成功了,由于以前安装过QT、VTK之类的软件,所以对这个安装也不是传说中的巨头疼,不过还是花了点时间。下面说说我的步骤,主要是讲安装过程中的问题,以便大家查阅。1,下在ogre最新版的SDK(我比较懒,对于源代码以后再编译吧),下载VS2008以及VS2008 SP1,DX9(这个不装我不知道行不行,应该会运行不了HLSL吧,不过我之前早装过了),至于为什么要... 阅读全文

posted @ 2010-09-21 19:22 数据牛仔 阅读(1429) 评论(2) 推荐(0)