- 博客(13)
- 资源 (10)
- 收藏
- 关注
转载 用Ogre生成天龙八部的lightmap和minimap的简单方法
<br />自从在一家创业小公司当了客户端主程以后,就忙的没有时间写博客了,整个公司没有一个人有完整的项目经验,所有一切都在摸索中前进,但初生牛犊不怕虎,项目还算进展顺利。但我始终认为,安静下来总结整理一下工作心得是必要的,可惜这个愿望恐怕得等到这个项目忙完以后。<br />周末有点时间,还是可以抽空随便写点东西。<br />lightmap的重要性不用多说,没必要所有阴影都动态去渲染,那些一辈子也不会动的静态物体,贴一张lightmap就行了,可惜Ogre只提供动态阴影给我们,帮人也不帮到底。<br />
2011-03-24 21:21:00 1335
原创 DirectX 10特性及技术详解(10),(Alpha to coverage效果)
DirectX 10的其他改进alpha to coverage 在游戏中,经常使用带有半透明信息纹理的多边形模型来模拟复杂的物体,例如,草、树叶、铁丝网等。如果使用真正的模型,一颗边缘参差不齐的小草可能就要消耗掉几百个多边形;然而采用透明纹理,可以只用2~3个多边形就解决了。透明纹理示意 然而,当使用这种有半透明信息的纹理时候,它的不透明和透明部分的边界线上,常常会出现难看的锯齿。采用半透明混合技术可以解决这个问题,但是它需要把场景中所有这类物体按照由远到近的顺序来绘制,才能保证它们的遮挡关系是正确的
2011-03-17 18:30:00 3252 1
转载 c++ 中的重载全局new,delete
<br />最近做一个小项目,对c++又有很多新的理解。实在不的不让人发出感叹,c++太强大了,绝对不是一朝一夕就可以领悟她的内涵的。<br /><br /> 首先我们要清楚,为什么我们要重载new,和delete了?这还不是指针造成的,确实指针是一件让人喜欢的东西,用起来如此让人喜欢,让人顺手。然而小程序我们完全可以避免内存泄露问题,大程序就不那么容易了,然而我们有一种特别好的方法可以跟踪我们new,和delete动作,找到未被释放的内存。办法是什么呢?微软给我们提供了一种很好的方法,那就是重
2011-03-16 15:54:00 1323
转载 GameByro渲染系统剖析
引言:<br />GameByro作为一款次世代引擎,使用了复杂的材质系统,用来满足各种各样的需求。材质代表了物体受到光照后所呈现出的质感,而这种质感在计算机图形学中需要着色代码来完成,所以当前流行的图形引擎设计是使用被渲染对象的材质与shader相关联,GameByro也不例外。GameByro的材质系统可以通过shade tree生成shader程序,增强了应用程序层对可编程渲染管线的控制能力。 渲染架构概览:<br />在GameByro中,对象表面的色彩、纹理、光滑度、透明度、反射率、折射率、发光度
2011-03-09 17:47:00 1095
转载 《星际争霸2》引擎技术解析
<br /> <br />就在SIGGRAPH大会刚结束之后,AMD和暴雪在AMD官方网站上放出了《星际争霸II》的官方技术文档,通过游戏引擎技术的展示让星际迷们感受到越来越多的惊喜。<br /><br />画面优化给CPU带来考验<br />着色方面,在使用原型的基础上利用3D Studio MAX让程序员对整体效果做最大的优化,反复的提炼使得整个作品就像被艺术家精心雕琢一样,配合上8000个独特的、不重复的线性着色渲染代码,使得Starcraft II与早期的游戏代码相比增加了N倍。<br /><br
2011-03-09 17:26:00 1094
转载 次世代游戏引擎光影制作简述(转)
<br />Azure大大那里转来:<br />http://www.azure.com.cn/article.asp?id=429<br /> 一、游戏光影的范畴 <br />实际游戏制作当中,狭义的灯光只是指程序实时根据灯光影响的顶点色和动态阴影,但实际应用当中,影响玩家整体感觉的光影效果,也就是广义上的光影效果包含的范围要更加广泛。<br />程序的即时光影,shader的定制固然对光影效果至关重要,美术制作的lightmap,normalmap,VertexColor乃至Glow都可以构成一般玩家认
2011-03-09 17:06:00 939
转载 整合OGRE的地形和PSSM+LiSPSM阴影算法
<br />OGRE版本1.7.1的Sample里包含了地形的示例,且用到了PSSM+LiSPSM。<br />今天尝试把Character的Sinbad模型摆到地形上,不过模型的材质本身不支持PSSM。<br />看了下地形示例的实现,发现它在给Shader传PSSM分界点数据时,用了把模板材质clone一份,再设置diffusemap和pssm分界点的方法,相当让人无语....<br /> view plaincopy to clipboardprint?MaterialPtr ret = Materi
2011-03-08 13:41:00 2013 1
原创 Ogre中的内存管理
1. OgreConfig中的关于内存的定义 Ogre使用的默认内存分配策略是 OGRE_MEMORY_ALLOCATOR_NEDPOOLING // define the memory allocator configuration to use #defineOGRE_MEMORY_ALLOCATOR_STD1 #defineOGRE_MEMORY_ALLOCATOR_NED2 #defineOGRE_MEMORY_ALLOCATOR_USER3 #
2011-03-06 13:20:00 1795
原创 SceneManager里的几个事件相关函数
1. Listener virtual void addListener (Listener *s) Add a listener which will get called back on scene manager events. Listener借口提供的功能 Public Member Functions virtual void preFindVisibleObjects (SceneManager *source, IlluminationRen
2011-03-06 13:19:00 1262
原创 善用STL中的find方法,慎用vector的erase
<br />用C++的stl库,相信大家都有用vector的经历,毕竟vector支持直接下标方式取数据的确方便很多。<br />但是vector默认是不提供find方法的,所以我们在查找的时候,通常这样写代码:<br />vector<int> vec;<br />for(unsignedint i =0;i<vec.size();++i)<br />{<br /> if(vec[i]==xxx)<br /> {<br /> break;<br /> }<br />}<br
2011-03-03 23:16:00 9558
原创 Ogre内存管理nedmalloc结构分析
<br /> <br />nedmalloc结构分析<br /> nedmalloc是一个跨平台的高性能多线程内存分配库,很多库都使用它,例如:OGRE.现在我们来看看nedmalloc的实现 (以WIN32部分为例)<br /> <br />位操作小技巧;<br />i.获取最低位的出现位置的掩码;x&(-x)<br />ii.判断值为2的幂:x & (x-1) == 0<br />iii.获取从最低的值为1的位开始到左边MSB的掩码: x | (-x)<br />iv.字节对齐;(x +
2011-03-03 15:45:00 1577
原创 Ogre1.7的多线程分析
在OgreConfig.h文件中有关于Ogre使用多线程的配置 1. 多线程支持的级别 /** Support for multithreading, there are 3 options OGRE_THREAD_SUPPORT = 0 No support for threading. OGRE_THREAD_SUPPORT = 1 Thread support for background loadi
2011-03-02 23:10:00 3184 1
转载 高等数学 画图软件Mathematica
<br />关键词:<br />高等数学 高数 作图软件 画图软件 几何图形软件 高等数学软件MathematicaMathematica是一款科学计算软件,很好地结合了数值和符号计算引擎、图形系统、编程语言、文本系统、和与其他应用程序的高级连接。很多功能在相应领域内处于世界领先地位,截至2009年,它也是为止使用最广泛的数学软件之一。Mathematica的发布标志着现代科技计算的开始。自从20世纪60年代以来,在数值、代数、图形、和其它方面应用广泛,Mathematica是世界上通用计算系统中最强大的系
2011-03-01 16:04:00 11237
windows内核实验教程
2009-09-16
VC实现的迷宫程序
2007-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人