摘要:前面几篇阴影相关的: https://www.cnblogs.com/crazii/p/5443534.html 这个是在做bh3 MMD角色自阴影时的笔记 https://www.cnblogs.com/crazii/p/7227269.html 这个是blade的CSM笔记和相关思考 这次在项目
阅读全文
摘要:前几天在群里跟人讨论地形atlas的问题,因为Blade也是用的4x4的atlas(16张纹理),但是大概是几年前做的,所以一些细节忘记了,在这里做下备忘。 1.atlas就是图集,图册,把多个纹理打包成一个。dx11完全可以用texture array了。mobile上还有使用的可能。下面的图来自
阅读全文
摘要:虽然地形已经有LOD和形变(geomorphing, 这里简称morphing)来进行LOD的渐变,从而避免bump, 但是如果LOD级别过多,远处的高山就会严重丢失细节,比如变成尖尖的凸起,非常丑陋,这是morphing无法解决的。 解决一种方式是使用强制的固定LOD (fixed LOD),如果
阅读全文
摘要:之前在工作总汇总了shadowmap的各种问题 [工作积累] shadow map问题汇总 最近有点时间再仔细研究了shadowmap的一些算法。主要修复了LiSPSM(上面链接里后面有更新),实现了TSM和CSM阴影。 总的来说,CSM只是结构上的不同,多了拆分和几个pass,实现起来相对比较简单
阅读全文
摘要:很久以前写在百度空间的这篇文章: [百度空间] [原] 全局operator delete重载到DLL 首先,纠正一个词“重载”,operator new/delete是替换(replacement),不是重载。只要任意一个编译单元定义了替换函数,并不需要全局声明,不用包含头文件,就会替换掉全局的默
阅读全文
摘要:之前milestone2已经做完的工作, 现在趁有时间记下笔记. 1.设计 这里是指兼容3ds max导出/fbx格式转换等等一系列工作的设计. 最开始, Blade的3dsmax导出插件, 全部代码都是写在导出的DLL里面的, 后来考虑到FBX等等其他格式, 现在把模块分成两部分: Model/A
阅读全文
摘要:1.ambient light 之前的shader里面, 方向光会加上ambient 的计算. 但是如果没有方向光, 就没有ambient. 这是把全局方向光改为点光源之后发现的, 因为透明物体的forward shading是正常的, 其他的全是黑的. 解决方法: 如果没有方向光, 就专门画一个单
阅读全文
摘要:最近完成了deferred shading和spot light的支持, 并作了一部分优化. 之前forward shading也只支持方向光, 现在也支持了点光源和探照光. 对于forward shading, 可以在渲染每个对象之前, 用对象的包围盒, 查询空间内的光源, 然后填入shader
阅读全文
摘要:问题汇总1.Light support for Editor编辑器加入了灯光工具, 可以添加和修改灯光.问题1. light object的用户互交.point light可以把对应的volume (wireframe sphere/cone)画出来用于用户选中, 但是光源太多的时候, 球就有点凌乱...
阅读全文
摘要:目前做的一些准备工作1.depth prepass for forward shading.做depth prepass的原因是为了完善渲染流程, 虽然架构上支持多个pass, 但实际上从来没有测过. 等流程完善的差不多了, 理论上只需要修改xml配置和shader, 不需要修改C++代码就可以实现...
阅读全文
摘要:因为工作忙, 好久没有记笔记了, 但是有时候发现还得翻以前的笔记去看, 所以还是尽量记下来备忘. 关于IK, 读了一些paper, 觉得之前翻译的那篇, welman的paper (http://graphics.ucsd.edu/courses/cse169_w04/welman.pdf 摘译:h
阅读全文
摘要:Blade的UI都是预定义的接口, 然后由插件来负责实现, 目前只有MFC的插件. 最近加上了TableView的视图, 用于一些文件的查看和编辑, 比如前面在文件包的笔记中提到需写一个package exploerer, 以及多国语言相关的笔记中需要的lang-edit-tool, 目前Blade...
阅读全文
摘要:原文: INVERSE KINEMATICS AND GEOMETRIC CONSTRAINTS FOR ARTICULATED FIGURE MANIPULATION http://graphics.ucsd.edu/courses/cse169_w04/welman.pdf 译者: crazii
阅读全文
摘要:最近在使用VS2015 Community, 在添加了shared items project, 并把源代码加入shared items, 添加Android工程编译的时候, 发现可以用Clang正常编译(VS2015默认使用自带的Clang编译器来编译安卓).一开始并没有多想, 后来在准备添加Cl...
阅读全文
摘要:The lifetime of the object returned bytypeidextends to the end of the program.根据C++标准, typeid()返回的type_info对象的生命周期那么长, 那么能不能通过直接比较指针来判断类型一致? 例如std::ma...
阅读全文
摘要:ref:http://www.cplusplus.com/doc/tutorial/preprocessor/concolusion:directives:#define #undef#include#if #else #elif #endif #ifdef #ifndef#error ( #war...
阅读全文
摘要:遵循C++03标准的, 可移植的, 更可控的singleton模板的实现.
阅读全文
摘要:Android移植:最后一步 - GLES3.0 render device的实现,
API的填充和shader适配.
阅读全文
摘要:以后的开发计划:完善game runtime code, 跑简单的demo目前只有编辑器的运行流程, 没有游戏/demo流程, 图形的测试主要在编辑器上测试, 现在需要测试android系统的图形, 没有demo的话没办法测试.计划准备先在Windows下测试, 将Windows下的游戏流程跑起来,...
阅读全文
摘要:跨平台的data pipeline整理和完善.
阅读全文