
项目经验
lcbiotech
c, c , Direct3D, OGRE
展开
-
渲染Lighmap时需注意纹理接缝问题
最近渲染地形lighmap,每个Chunk渲染一张,出来后能明显看出Chunk连接的地方。这是因为纹理采样时线性过滤和mipmap原因造成的,在纹理采样时,设置的是线性采样,会采取该纹素周围一个位置就行插值,因此在生成lightmap时,需要在接缝处进行处理,将下一个Chunk起原创 2011-09-03 13:57:52 · 1177 阅读 · 0 评论 -
PRT和SH(转自http://blog.csdn.net/flying5/article/details/5048477)
最近因为开始做PRT(Precomputed Radiance Transfer),看了一些资料。wikipedia上的解释: Precomputed Radiance Transfer (PRT) is a computer graphics technique转载 2011-09-06 16:13:25 · 937 阅读 · 0 评论 -
用stl map时直接insert,提高效率,不需要先find,再insert
map::insert() will only create:using std::cout; using std::endl; typedef std::mapint, std::string> MyMap; MyMap map; // ... std::p原创 2011-09-09 11:59:04 · 2160 阅读 · 0 评论 -
gamma的传说(转自KlayGE Engine)
转自http://www.klayge.org/2011/02/26/gamma%E7%9A%84%E4%BC%A0%E8%AF%B4/最近我们的引擎也在加入Gamma校正功能,看到龚老大这篇文章,算是把gamma校正的原理讲得比较清楚的了,于是转帖过来。做引擎的可以好好看看转载 2011-09-15 23:53:08 · 1908 阅读 · 0 评论 -
Shader代码自动优化产生的问题
今天修改引擎代码和shader后,FPS一下降到1-2,以为是引擎代码中设置纹理的一个地方的问题,导致纹理频繁被切换,但之后排除了这个问题。发现是debug输出窗口一直在输出信息。一看是VS中输出的几个纹理坐标值在PS中没有使用,我们的引擎在渲染时进行了检查,发现VS输出和PS输原创 2011-08-26 16:20:33 · 882 阅读 · 0 评论 -
VS2008 .ncb工程文件导致调试错误
今天出现调试怪事儿,要不是总监有经验,估计我得捣腾半天了。因为工程移动了位置(拆了硬盘,盘符改了),调试时出现一个指针为空,但是TRACE()显示出来的地址却是有值的。工程.ncb文件中保留了一些历史信息,跟智能提示有关,但有时有可能会导致编译或调试错误。如果确信程序没有bug,原创 2011-08-23 17:02:58 · 1323 阅读 · 0 评论 -
DLL模块无法加载
今天编译3DMAX插件,编译过程很顺利,但启动max后报错不能加载插件,不知道是什么原因。后来才知道是确实其他DLL,可以用depends插件检测,会显示同一个目录下各个dll的依赖关系,查出该dll依赖的但缺少的dll。如果遇到dll编译没问题,但却无法加载,就用该工具检测一下原创 2011-09-23 16:35:40 · 1086 阅读 · 0 评论 -
游戏中实现角色选中后卡通边缘效果
1. 多渲染一次被选中的角色,不需要纹理和光照,在VS中顶点沿法线方向进行膨胀,此次渲染启用depth check,但是关闭depth wirte。这次绘制使用特殊颜色,比如红色,绿色,想要角色被选中后边缘呈现什么颜色,就用什么颜色。2. 正常渲染该角色,启用深度测试和深度写。由于前一次绘制没有写深度,而且上一次绘制将该模型外面包住,因此重叠的部分会被这次绘制覆盖,剩下边缘部分。从而实现选中原创 2012-04-08 02:09:20 · 774 阅读 · 0 评论