饭后温柔

汉堡与老干妈同嚼 有可乐味
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年11月15日

摘要: 之前使用celshading实现简单的模型身上的阴影.现在因为要加入ogre的硬件蒙皮,导致阴影消失了.只有直接在shader里改里,一张shader里包含了celshading和硬件蒙皮.感觉不是太好,但硬件蒙皮+normal map也是得这么做,还没找到方法.全程使用的shader似乎不得不写在一起了.把硬件蒙皮融合进自己的shader,一定要注意顶点程序中输出顶点的坐标,关注你自己的shader中position所在空间关系.笔者由于复制粘贴的低级错误排查了蛮久.提升效率不是太明显.在普通的显卡上有15%-20%左右的提升,在特别低端(办公用集成显卡g41之类的)上,只有7%左右提升./ 阅读全文

posted @ 2012-11-15 10:45 饭后温柔 阅读(724) 评论(0) 推荐(0) 编辑

2012年9月10日

摘要: 最近在做3d残影特效.3种方法可实现类似艾尔之光,北欧女神传的效果. 1 使用模型. 2 渲染到纹理. 3 模糊. 搭配合成器也应该是可行的方法. 我本人结合后边2种办法.效果如下: 阅读全文

posted @ 2012-09-10 11:05 饭后温柔 阅读(789) 评论(0) 推荐(0) 编辑

2012年9月1日

摘要: boost的spirit库解析相对简单的DSL语言非常方便.以下是我解析ogre的材质脚本的代码.这是解析代码.主要使用grammer.注意comment grammer类的使用方法,非常有用.View Code #ifndef _material_parser_h#define _material_parser_h#include "stdafx.h"/************************************************************************/// boost grammer// 具体的语法解析/*********** 阅读全文

posted @ 2012-09-01 13:25 饭后温柔 阅读(1019) 评论(0) 推荐(0) 编辑

2012年7月21日

摘要: //在小地图中描画出路径的轮廓.仿造艾尔之光副本中小地图//粗糙的版本.自行修改.#ifndef __UI3DRadarMap_H__#define __UI3DRadarMap_H__#include "Loki/Singleton.h"#include "SeerBaseConfig.h"#include <Ogre/Ogre.h>#include <map>#include "SeerNetProcotolData.h"#include "Loki/Singleton.h"#defin 阅读全文

posted @ 2012-07-21 10:40 饭后温柔 阅读(656) 评论(0) 推荐(0) 编辑

2012年5月14日

摘要: 项目中的轮廓描绘使用了扩展模型的方法,即偏移法向量然后重绘.角色自阴影使用shadow map.轮廓通过寻边(object空间方法)实现的话,算法复杂,留待以后实现..h#ifndef __CartoonRenderManager_H__#define __CartoonRenderManager_H__#include "Loki/Singleton.h"#include "SeerBaseConfig.h"/* CartoonRenderManager是一个单例类,用于描绘entity的轮廓. 用法: Orz::CartoonRenderManage 阅读全文

posted @ 2012-05-14 18:03 饭后温柔 阅读(1811) 评论(1) 推荐(1) 编辑

摘要: ofusion导出3dmax中的动画到osm文件,其默认的osmscene加载,没有对material进行材质拷贝.当多个动画不同时播放,而又用到了相同的材质时,就会出现错误.因为ogre的实体默认使用的是全局的material引用.因此需要对material进行拷贝,然后实体重新载入新的material.另一种方法是在shader中实现材质动画.主要处理alpha的变化,及纹理动画..hView Code #ifndef __ShaderAlphaAnimationComponent_h__#define __ShaderAlphaAnimationComponent_h__#include 阅读全文

posted @ 2012-05-14 17:41 饭后温柔 阅读(977) 评论(0) 推荐(0) 编辑

2012年2月23日

摘要: 本文主要来自:http://www.haskell.org/haskellwiki/Stack_overflow因为haskell经常使用到递归,我们知道递归常会引起堆栈(或堆)的内存分配,导致效率低下.通常会尽量写为尾递归,避免这一问题.做法是把普通递归中被保存在堆栈中的临时值(当前递归层次的结果... 阅读全文

posted @ 2012-02-23 01:37 饭后温柔 阅读(2276) 评论(0) 推荐(0) 编辑

2012年2月19日

摘要: 遇到一个费心的例子,想了很久,备忘之.<real world haskell>第四章:myFoldl f z xs = foldr step id xs z where step x g a = g(f a x)这是用foldr来实现foldl.作者说看懂这个例子需要准备纸,笔,头痛药,时间.果然如此,可恨作者自己没有解释.看读者们的评论也大多表示了不满,给出的自己的困惑乃至解释都不太令人满意,但好歹一步一步接近了真理.这个例子涉及到了partial function(haskell称为currying)特性.书中前面部分没有提到相关内容,导致让人一头雾水.抱怨下这本书,本来has 阅读全文

posted @ 2012-02-19 17:25 饭后温柔 阅读(2396) 评论(1) 推荐(0) 编辑

2012年1月28日

摘要: 工作三年,风雨飘摇不为过.友人说,缺少坚持.思之,自小性子脱荡,天马行空,莽莽撞撞二十又六载.遇事未留退路,但钻一个理字.或逞一时之痛快.常想这是我的坚持.失之,余之不为余也.职位,行业半年一换,所幸仍不脱游戏,程序二者.欲积跬步,车舆未发而阡陌错换,责之,哀之.咎由自取邪?重遇高中同学.十年前,彼此颇有好感.十年后,她已是一个优秀的人,我仍是老样子.话虽聊着,却貌似有一堵墙.仍有冲动要打破它,敲开门的那一刻,分明看到了眼里的滞碍.一直也算宽荡,与她相聚时刻却处处捉襟见肘.不如与友人之嬉笑怒骂.有人说这就是青春后遗症.我说青春还没过呢,算了好歹也沾点边.看的太重,老想着给它什么独特意义,反而不 阅读全文

posted @ 2012-01-28 00:11 饭后温柔 阅读(200) 评论(0) 推荐(0) 编辑

2012年1月6日

摘要: 名字只能限定为中文,英语字母,数字.编码为utf8.static bool _illegal_char(char c){ if( (c >= 48 && c <=57) //数字 || (c >= 65 && c <= 90) //大写字母 || (c >= 97 && c <= 122)) //小写字母 return false; return true;}static bool has_illegal_char(unsigned char* str, int len){ int i = -1, k = 1; 阅读全文

posted @ 2012-01-06 10:08 饭后温柔 阅读(2471) 评论(0) 推荐(0) 编辑