饭后温柔

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

2014年4月19日

摘要: windows下,codeblocks,mingw安装matplotlib.python下一些源码的编译安装,备忘.matplotlib官网编译好的版本只支持到3.3.我不慎刚下了python3.5.强迫症发作,只好编译了.1 下载ipython.2 这个东西也要编译.因为我没装任何版本的vs,只装... 阅读全文

posted @ 2014-04-19 06:48 饭后温柔 阅读(1080) 评论(0) 推荐(0) 编辑

2014年3月4日

摘要: 建好一个typelist,其中都是类型信息而已,很重要的一个应用,循环迭代干些事情。看了下boost的for_each实现,用我自己的typelist,大概代码如下: template void foreach_f(const F& f, TList* s = 0) { typedef typename front::type head_type; typedef typename pop_front::type tail_type; head_type head_arg; f(head_arg); fo... 阅读全文

posted @ 2014-03-04 02:21 饭后温柔 阅读(1344) 评论(1) 推荐(0) 编辑

2014年3月1日

摘要: 实现一个简易版的c++11 tuple。我使用的编译器是gcc,codeblocks13.12自带的,哪个版本我不熟gcc也没去查。大致看了下他家的tuple实现,多继承,tuple之上还有2个辅助类,走的是类似loki中GenScatterHierarchy的路子。1092行代码,不是盖的。。。有... 阅读全文

posted @ 2014-03-01 05:17 饭后温柔 阅读(5533) 评论(8) 推荐(3) 编辑

2014年2月26日

摘要: function traits.获取函数或成员函数的返回类型,参数类型,参数长度,类类型。函数参数列表推断基于typelist:http://www.cnblogs.com/flytrace/p/3551414.html先看一个普通函数非const的特化: template struct function_traits { typedef R return_type; typedef typelist arglist; enum { arg_count = sizeof...(Args) }; template ... 阅读全文

posted @ 2014-02-26 03:15 饭后温柔 阅读(3577) 评论(3) 推荐(1) 编辑

2014年2月23日

摘要: 前面的typelist的e一个小扩展,http://www.cnblogs.com/flytrace/p/3551414.html.可以插入pair,然后传入key_type查找对应的value_type.虽然是map,但仍是线性查找。基本就是一个基于typelist的体力活。基于二叉树的typemap,可能的思路是通过编译时递增整数常量作为key_type的索引。递归层次复杂了不见得一定会比线性查找来的快。#ifndef HI_MPL_TYPEMAP_H_INCLUDED#define HI_MPL_TYPEMAP_H_INCLUDED#include "TypeList.h&qu 阅读全文

posted @ 2014-02-23 23:06 饭后温柔 阅读(591) 评论(0) 推荐(0) 编辑

2014年2月16日

摘要: 最近看了C++11的一些特性,最感兴趣的是可变模板参数,自动类型推断和匿名函数。Loki中的TypeList,是需要递归定义的,并且需要一个NullType作为尾节点。可变模板参数使得实现TypeList更简洁,更易懂。以下是我用C++11实现TypeList,其实只用了可变模板参数。去掉了递归定义,特别是尾节点可直接使用typelist,使得整个语义很美。 ////////////////////////////////////////////////////////// template struct typelist { }; typedef type... 阅读全文

posted @ 2014-02-16 15:24 饭后温柔 阅读(4578) 评论(7) 推荐(4) 编辑

2013年11月12日

摘要: 搭边手游,看opengl superbible, 书中代码需要一个gltools库。作者自己提供的code google地址里gltools项目是空的,此一坑。他的网站(www.starstonesoftware.com)关于opengl的页面打不开,此二坑。好不容易github拖到一个,需要用到freeglut和glew。都准备就绪了,编译出错,link2001和link2019,均跟glew有关。仔细检查glew的c++选项和链接选项,glew的MT改为MD,此外保证gltools的其他选项与glew相同,编之,不通,但错误减少了,此三坑。此时去编它的静态库,通过了。本不想理会了,无奈较劲 阅读全文

posted @ 2013-11-12 03:45 饭后温柔 阅读(3528) 评论(2) 推荐(1) 编辑

2013年10月30日

摘要: 最近使用unity,碰到到一个很有趣的例子.场景无光线,却模拟出了光照,效果挺好.其思路与法线贴图原理异曲同工. 原作者提供的效果印象深刻. 模型除了使用原来的diffuse贴图外,还用到了一张模拟记录了"光照"信息的贴图(见机器人头上的贴图).这一点与法线贴图是一致的. 这个方法比较简单,也比较死.思路很巧. 分析一下贴图,有效范围基本是一个圆形.以前在学习法线贴图时,就遇到过法线投射在贴图的情景(http://www.cnblogs.com/flytrace/p/3387748.html).当各个方向的法线投影到一个正平面时,它形成一个圆. 法线贴图本质就是为了预先保存 阅读全文

posted @ 2013-10-30 04:25 饭后温柔 阅读(16290) 评论(2) 推荐(1) 编辑

2013年10月25日

摘要: 我算个笨人吧.笨人以前弄懂一些东西后,讲给笨人听往往更有效.看之前请自行具备图形学关于光照的基础知识. >> world/object space normal map 我们先讲基于世界或模型坐标的法线贴图(world/object space normal map).不常用,但是基础. 首先,请无 阅读全文

posted @ 2013-10-25 13:43 饭后温柔 阅读(52168) 评论(0) 推荐(12) 编辑

2013年10月21日

摘要: 对于顶点来说,从object Space转换到eye space, 使用model-view矩阵就好了.那么顶点的法线是否也可以直接使用model-view矩阵转化? 通常情况下是不行的. 如下两张图是顶点的tangent和normal向量使用m-v矩阵从object space到eye space的变换: >>>>>>>>>>>>>>>> 可以看到在eye-space中,tangent的方向仍符合定义,normal则不再垂直于tangent了.m-v矩阵不适用于normal. 令T为tangent 阅读全文

posted @ 2013-10-21 01:07 饭后温柔 阅读(7185) 评论(0) 推荐(2) 编辑