|
2012年11月15日
摘要:
之前使用celshading实现简单的模型身上的阴影.现在因为要加入ogre的硬件蒙皮,导致阴影消失了.只有直接在shader里改里,一张shader里包含了celshading和硬件蒙皮.感觉不是太好,但硬件蒙皮+normal map也是得这么做,还没找到方法.全程使用的shader似乎不得不写在一起了.把硬件蒙皮融合进自己的shader,一定要注意顶点程序中输出顶点的坐标,关注你自己的shader中position所在空间关系.笔者由于复制粘贴的低级错误排查了蛮久.提升效率不是太明显.在普通的显卡上有15%-20%左右的提升,在特别低端(办公用集成显卡g41之类的)上,只有7%左右提升./ 阅读全文
2012年9月10日
摘要:
最近在做3d残影特效.3种方法可实现类似艾尔之光,北欧女神传的效果. 1 使用模型. 2 渲染到纹理. 3 模糊. 搭配合成器也应该是可行的方法. 我本人结合后边2种办法.效果如下: 阅读全文
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// 具体的语法解析/*********** 阅读全文
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 阅读全文
2012年5月14日
摘要:
项目中的轮廓描绘使用了扩展模型的方法,即偏移法向量然后重绘.角色自阴影使用shadow map.轮廓通过寻边(object空间方法)实现的话,算法复杂,留待以后实现..h#ifndef __CartoonRenderManager_H__#define __CartoonRenderManager_H__#include "Loki/Singleton.h"#include "SeerBaseConfig.h"/* CartoonRenderManager是一个单例类,用于描绘entity的轮廓. 用法: Orz::CartoonRenderManage 阅读全文
摘要:
ofusion导出3dmax中的动画到osm文件,其默认的osmscene加载,没有对material进行材质拷贝.当多个动画不同时播放,而又用到了相同的材质时,就会出现错误.因为ogre的实体默认使用的是全局的material引用.因此需要对material进行拷贝,然后实体重新载入新的material.另一种方法是在shader中实现材质动画.主要处理alpha的变化,及纹理动画..hView Code #ifndef __ShaderAlphaAnimationComponent_h__#define __ShaderAlphaAnimationComponent_h__#include 阅读全文
2012年2月23日
摘要:
本文主要来自:http://www.haskell.org/haskellwiki/Stack_overflow因为haskell经常使用到递归,我们知道递归常会引起堆栈(或堆)的内存分配,导致效率低下.通常会尽量写为尾递归,避免这一问题.做法是把普通递归中被保存在堆栈中的临时值(当前递归层次的结果... 阅读全文
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 阅读全文
2012年1月28日
摘要:
工作三年,风雨飘摇不为过.友人说,缺少坚持.思之,自小性子脱荡,天马行空,莽莽撞撞二十又六载.遇事未留退路,但钻一个理字.或逞一时之痛快.常想这是我的坚持.失之,余之不为余也.职位,行业半年一换,所幸仍不脱游戏,程序二者.欲积跬步,车舆未发而阡陌错换,责之,哀之.咎由自取邪?重遇高中同学.十年前,彼此颇有好感.十年后,她已是一个优秀的人,我仍是老样子.话虽聊着,却貌似有一堵墙.仍有冲动要打破它,敲开门的那一刻,分明看到了眼里的滞碍.一直也算宽荡,与她相聚时刻却处处捉襟见肘.不如与友人之嬉笑怒骂.有人说这就是青春后遗症.我说青春还没过呢,算了好歹也沾点边.看的太重,老想着给它什么独特意义,反而不 阅读全文
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; 阅读全文
|