- 博客(19)
- 资源 (3)
- 收藏
- 关注
原创 游戏中实现角色选中后卡通边缘效果
1. 多渲染一次被选中的角色,不需要纹理和光照,在VS中顶点沿法线方向进行膨胀,此次渲染启用depth check,但是关闭depth wirte。这次绘制使用特殊颜色,比如红色,绿色,想要角色被选中后边缘呈现什么颜色,就用什么颜色。2. 正常渲染该角色,启用深度测试和深度写。由于前一次绘制没有写深度,而且上一次绘制将该模型外面包住,因此重叠的部分会被这次绘制覆盖,剩下边缘部分。从而实现选中
2012-04-08 02:09:20
766
原创 DLL模块无法加载
今天编译3DMAX插件,编译过程很顺利,但启动max后报错不能加载插件,不知道是什么原因。后来才知道是确实其他DLL,可以用depends插件检测,会显示同一个目录下各个dll的依赖关系,查出该dll依赖的但缺少的dll。如果遇到dll编译没问题,但却无法加载,就用该工具检测一下
2011-09-23 16:35:40
1072
转载 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
1885
原创 用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
2152
转载 PRT和SH(转自http://blog.youkuaiyun.com/flying5/article/details/5048477)
最近因为开始做PRT(Precomputed Radiance Transfer),看了一些资料。wikipedia上的解释: Precomputed Radiance Transfer (PRT) is a computer graphics technique
2011-09-06 16:13:25
934
原创 渲染Lighmap时需注意纹理接缝问题
最近渲染地形lighmap,每个Chunk渲染一张,出来后能明显看出Chunk连接的地方。这是因为纹理采样时线性过滤和mipmap原因造成的,在纹理采样时,设置的是线性采样,会采取该纹素周围一个位置就行插值,因此在生成lightmap时,需要在接缝处进行处理,将下一个Chunk起
2011-09-03 13:57:52
1168
原创 Shader代码自动优化产生的问题
今天修改引擎代码和shader后,FPS一下降到1-2,以为是引擎代码中设置纹理的一个地方的问题,导致纹理频繁被切换,但之后排除了这个问题。发现是debug输出窗口一直在输出信息。一看是VS中输出的几个纹理坐标值在PS中没有使用,我们的引擎在渲染时进行了检查,发现VS输出和PS输
2011-08-26 16:20:33
877
原创 VS2008 .ncb工程文件导致调试错误
今天出现调试怪事儿,要不是总监有经验,估计我得捣腾半天了。因为工程移动了位置(拆了硬盘,盘符改了),调试时出现一个指针为空,但是TRACE()显示出来的地址却是有值的。工程.ncb文件中保留了一些历史信息,跟智能提示有关,但有时有可能会导致编译或调试错误。如果确信程序没有bug,
2011-08-23 17:02:58
1318
原创 D3DTutorial10_Half-Life2_Shading
http://17de.com/library/HL2/SourceEngine.html
2011-08-08 21:25:29
529
转载 OGRE 学习笔记(Camera和Viewport)
<br />下面来学习OGRE 引擎中很重要的几个概念。 Camera和Viewport.<br /><br />从真实的世界来看,是不存在这两样东西的,真实的世界只有场景(Scene). 而这里OGRE抽象出的两个概念则是模拟观察者(人)的位置和眼睛.<br /><br />从真实世界来讲,人如果要观察这个世界,首先需要确定自己的位置(在什么地方观察),然后把观察到的景象通过眼睛来传递给大脑。 那么在计算机中,Camera和Viewport就是虚拟这两样东西的.<br /><br />一个Viewport
2010-11-12 11:13:00
1158
转载 OGRE观察者模式(转帖)
<br />观察者模式是游戏开发中十分常用的模式,Ogre也大量运用了此模式来监听,比如FrameListener.ResourceListener<br />这种方式比常见的回调函数更好用,因为观察者模式是基于接口的,任何类只要继承这个接口,注册后就可以监听我们需要观察的对象。不想监听,取消注册就行了,<br />具体实现原理,我们以为FrameListener为例子,然后再举一反三在自己的游戏中使用它,比如场景编辑器,我拖动了一个entity,改变了他的位置,那么显示对象属性的控件应该更新这个对象的位置
2010-06-20 11:08:00
653
原创 stringstream用法(转载)
stringstream用法(载)2009-02-20 16:52C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。 istringstream类用于执行C++风格的串流的输入操作。 ostringstream类用于执行C风格的串流的输出操作。 strst
2010-01-15 16:04:00
906
转载 windows 64位技术--C/C++的64位移植
http://www.j2soft.cn/article/2009/0110/article_607.html简介:一 开发环境和常用工具 1 开发工具:VS2005 1)安装:如果在X86上安装Visual Stdio 2005 (VS2005),将安装32位的2.0 CLR。如果在X64上安装VS2005,将安装32位和64位的2.0的CLR,在IPF(安腾)的系统上不能安装VS20
2009-11-16 11:07:00
1434
原创 VS2008编译错误—LINK : fatal error LNK1104: cannot open file 'LIBC.lib'
今天,在VS2008上调试OpenGL程序时,出现编译错误:LINK : fatal error LNK1104: cannot open file LIBC.lib 解决办法,在Project-->Setting-->Linker-->Command Line-->Additional options中加入: /nodefaultlib:libc
2009-11-03 15:54:00
9415
转载 OpenCV读取AVI文件
转自http://hq.huang.blog.163.com/blog/static/1066821912009758958885/ 今天看到网上很多人问,cvCreateFileCapture读取avi,为什么总是返回NULL. 我查了查文献,总结如下: (源程序附在最下)问题:为什么我的电脑支持AVI或者能够播出AVI,但为什么使用cvCreateFileCapture函数
2009-09-02 19:24:00
1782
1
转载 Boxing and Unboxing
Boxing and Unboxing Boxing and unboxing enable value types to be treated as objects. Boxing a value type packages it inside an instance of the Object reference type. This allows the value type
2009-06-04 16:13:00
580
原创 C# Main方法及命令行参数
今天开始学习C#,发现与C++的语法差异还是不小。一点一点总结,先看看Main函数命令行参数。 C#中Main函数的几种格式: 1:static void Main() { //…… return; }2:static int Main() { //……
2009-06-04 15:26:00
1452
转载 什么是软件外包及我国的软件外包情况
所谓软件外包就是一些发达国家的软件公司将他们的一些非核心的软件项目通过外包的形式交给人力资源成本相对较低的国家的公司开发,以达到降低软件开发成本的目的。众所周知,软件开发的成本中70%是人力资源成本,所以,降低人力资源成本将有效地降低软件开发的成本。 软件外包已经成为发达国家的软件公司降低成本的一种重要的手段。目前,全球软件的销售额为6,000亿美元,而其中软件外
2009-06-02 21:08:00
1156
转载 关于new operator 和operator new
C++语句:string *pStr = new String; 由编译器产生的new operator的近似代码: { void *memory = operator new(sizeof(string)); // 然后在memory所代码的内存块上调用string类相应的构造函数 // 这里要注意的是:所谓的构造函数是由编译器自动调用的,程序 // 员并没有直接
2009-05-22 09:21:00
565
Direct3D ShaderX (Vertex and Pixel Shader Tips and Tricks)
2010-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人