- 博客(21)
- 资源 (10)
- 收藏
- 关注
原创 3D数学之-向量矩阵欧拉角和四元数
摘要:向量运算和点乘和叉乘很重要。物体变换等价于相反的量变换坐标系(可以不相反的顺序例如欧拉角)。坐标系间转换,例如物惯到惯物,那么需要相反的顺序相反的变换(逆)执行变换。矩阵是代表物体的变换,该变换是用物体变换,假设变换到新的用旧坐标系表示的新的坐标系。矩阵的行向量是新坐标系的基向量,是用原坐标系轴假设变换(旋转或平移)到一个新的位置后
2015-05-31 16:32:49 7094
转载 Direct3D Draw函数 异步调用原理解析
转载自:http://www.cnblogs.com/lingjingqiu/p/3170727.html概述在D3D10中,一个基本的渲染流程可分为以下步骤:清理帧缓存;执行若干次的绘制:通过Device API创建所需Buffer;通过Map/Unmap填充数据到Buffer中;将Buffer设置到DeviceContext中;调用Draw执行绘制过程;
2015-05-17 10:32:49 1206
原创 D3D变换的理解
1.简化变换的思想:使用惯性坐标系(惯性坐标系是世界坐标系平移到物体坐标系的位置)可以简化物体-世界,世界-物体,或者说任何两个坐标系间的转换做一个中间的转换,使问题变得简单。使用嵌套坐标系(父坐标系-子坐标系-子坐标系)也可以分解问题,简化复杂的变换逻辑。其实把问题简单化思考的方法,不外乎实例化,拆分它,转换它,再组合转换抽象回来,就可以很elegant的解决问题了。很多物体间的方位和运
2015-05-16 22:14:06 5399
转载 渲染优化 lock unlock
昨天参加了公司组织的nvdia的培训,讲了一些关于D3D的优化和可能的瓶颈所在,具体的条目就不说了,这里说一些关于资源的Lock和Unlock,以及我在GL下的测试。老师讲到向Draw*这类函数是将其指令放入指令队列,带填满后或者强制刷新时交给显卡去画,也就是说它并不是即时的,而像对资源的Lock和Unlock确是即时的操作,而且cpu和gpu是并行计算的,当lock的资源正是当前gpu正在使
2015-05-15 23:27:47 1024
原创 设计模式/架构基本原则
整理来自来自《大话设计模式》系统模块组件间目标:高内聚低耦合设计模式的目标就是高内聚低耦合,可读,可复用,易于应对业务变化可拓展。高内聚低耦合也是软件设计的目标。对内设计合理:数据和算法分离,逻辑和表现分离的MVC模式,对外:有统一简单的接口,也是软件工程里面的设计模块的目标。 接口:里氏原则-依赖倒转原则面向接口编程,父类接口实现调用框架,子类实现细节,细
2015-05-15 08:58:11 889
原创 设计模式思想总结
0.首要意识: 重构是通往良好的设计模式之路,重构要不断进行,设计模式也需要灵活变化(但是一定要有好设计的追求)。目的是为了写出高内聚低耦合,符合软件具体情况的可靠、健壮、可读、可复用、可维护的优雅架构和模块。误用模式会有很大害处,不用模式也会有很大害处,结合情景正确灵活的使用23种设计模式或者自己构造更加合适的模式才是正确之路。(遇到太复杂混乱的模块和架构,一定要记得用设计模式
2015-05-15 08:58:04 771
转载 UML设计中的箭头详解
UML类图是描述类之间的关系,关系有重复度和形式之分。重复度:单重复度,只存在一对一的关系。多重复度,用列表、vector或其它的数据结构维护一对多,多对多的关系这里再说一下重复度,其实看完了上面的描述之后,我们应该清楚了各个关系间的关系以及具体对应到代码是怎么样的,所谓的重复度,也只不过是上面的扩展,例如A和B有着“1对多”的重复度,那在A中就有一个列表,保存着B对象的N个引用,
2015-05-15 08:56:26 18197 5
转载 使用高版本boost库导致xp下找不到GetTickCount64函数的解决方法
转载自:http://blog.csdn.net/keljony/article/details/44017775由于某些原因项目1中用到的boost库从boost_1_39升级到boost_1_55,升级完成后将程序放在xp下测试,提示找不到GetTickCount64()函数,整合工程却没有发现哪调用了此函数,最后在boost官网上早有人提到了这个问题。branches/rel
2015-05-13 20:25:41 1684
原创 STL 各种容器排序和查找算法对运算符的使用及特别注意运算符重载错误
STL排序会调用operator 例子:// 游戏中的日常任务简单例子// 其实只要关系到使用STL进行排序的都要非常小心operator <的重载函数。struct tagDailyTask{ bool m_bFinish;// 是否完成了任务 DWORD m_dwID; // 任务ID tagDailyTask() { m_bFinish = false; m_d
2015-05-13 08:19:41 2312
原创 Direct3D基础回顾
Direct3D基础概念渲染接口机制IDirect3D9 + 显卡适配器 + 窗口/全屏模式和窗口句柄+设备类型和顶点运算类型+ D3DPRESENT_PARAMETERS + D3DCAPS9= device对象device对象存在工作状态和丢失状态。device创建资源缓存到表面,设置DX状态命令操作资源,渲染出来(渲染部分程序一直绘制)。资源管理
2015-05-10 23:23:45 1222
原创 Direct3D Stencil模板缓存技术
一、概念和应用Blend融合是源像素上固定区域给与透明度,实现透明效果,也可以隐藏自身或者隐藏目标像素(标记来自于源像素固定区域的)。模板缓存是提供一个模板缓存(和深度缓存一起,和后台缓存对应),对渲染到后台缓存的像素进行过滤,标记来自于目标像素,后写入的像素就被过滤到后台缓存渲染。总之,Blend目标是融合透明度,过滤像素可以通过源像素和像素的透明度;Stencil目标是过滤渲染到后
2015-05-10 23:09:57 4116 1
转载 D3D中设备丢失的处理
转载自:http://www.cnblogs.com/graphics/archive/2010/08/21/1805548.html什么是设备丢失D3D中设备(Device)有两种状态,一种是可操作状态,也就是正常状态,另一种是丢失状态(Lost),处于丢失状态的设备是不能进行渲染操 作的。简单的说,设备丢失是只应用程序(Device)与显卡失去了联系,因此无法使用显存。这里的D
2015-05-06 07:41:41 6462
原创 C++技巧2内存管理和优秀的设计思想
1.智能指针智能指针的使用,auto_ptr赋值时候(显式直接赋值,隐式函数参数传递,返回值传递)都会丢失所有权,原来的指针被释放了,容易发生误用原来智能指针和智能指针所有权丢失的问题。建议使用boost的scope_ptr就够了或者使用auto_ptr仅是保护作用,需要赋值的需要用boost的shared_ptr.2.引用计数引用计数技巧:希望多个引用使用同一份内存数据,增加引用计数
2015-05-05 23:59:36 844
原创 VS2010 Profile性能分析
使用VS2010及其VS系列的分析菜单下的“启动性能向导”。一、基本Profile分析1)摘要视图可以选择指定的区域进行分析,比如成功运行以后的,或者高峰点进行右键筛选分析。2)调用关系树视图 可以看到总体的性能消耗函数。3)调用和被调用视图,可以主要的性能开销调用路径。4)函数视图可以看到每个函数的调用情况: 定位入口点“非独占样本数”指示该函数及其调用的任何函数所
2015-05-05 23:48:32 8280 2
原创 PVR图像文件格式初探
ios上图片当然是用pvr(pvrtc2/pvrtc4)格式,推荐pvr.ccz的rgb565/rgba4444格式。1.PVR格式优点:1. cpu上,解压速度快,读取后直接交给显卡,不需要转换为ARGB形式就可以提交个显卡。2. 内存和显存上,读取后直接提交给显卡,不用开辟临时内存来读取像素数据,避免了内存的申请释放消耗和内存的飙升。3.文件
2015-05-03 08:49:00 28100
转载 DDS支持的Mipmap Texture/Cubemap Texture/Volume Texture 纹理理解
1)DDS支持的mipmap Texture多级渐进纹理映射技术(DX Texture Tool 默认):在三维计算机图形的贴图渲染中有一个常用的技术被称为Mipmapping。为了加快渲染速度和减少图像锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的文件,这样的贴图被称为 MIP map 或者 mipmap。这个技术在三维游戏中被非常广泛的使用。“MIP”来自于拉丁语 multum
2015-05-03 00:13:50 5310
原创 DDS文件格式
DX中开发的游戏DDS是首选,就类似ios中的pvr格式一样强大,因为那是显卡支持的。一、DX下DDS文件的优点:1.cpu上运算速度快,不需要解析为RGB数据就可以直接由DX函数加载提交给显卡渲染贴图。2.内存占用少效率高,因为不需要创建临时的内存来存放解析的数据,所以避免了内存和申请释放和内存飙升。3.压缩效率高,通过更少为位数有损压缩,但是画质也非常好,压缩效
2015-05-03 00:10:47 13606
转载 手机游戏中图片格式选择整理
整理自:http://zengrong.net/post/2070.htmhttp://blog.csdn.net/langresser_king/article/details/8426708http://blog.csdn.net/laogong5i0/article/details/8637425一、选择:ios上图片当然是用pvr(pvrtc4)格式,推荐pvr.c
2015-05-02 12:24:27 5290
转载 TGA文件格式整理
整理自:http://dev.gameres.com/Program/Visual/Other/TGAFormat.htmhttp://blog.csdn.net/yyfzy/article/details/785948http://tech.watchstor.com/management-115327.htmhttp://baike.baidu.com/subview/1879
2015-05-02 11:30:08 9545
转载 Jpeglib读取jpg文件
整理自:http://hi.baidu.com/lewutian/item/e8eed42664ee61122a0f1c89http://blog.csdn.net/mcgrady_tracy/article/details/74390661.下载编译库下载库:http://www.ijg.org/ 网址下面的windows版本的。本文下载的是jpe
2015-05-01 23:50:09 6640
原创 JPG文件格式初步认识
优点:1).照相机几乎都是保存为jpg格式,摄影作品或写实作品支持高级压缩,广泛应用于照相和互联网中。2)JPEG能提高无损和有损的高压缩比。3) JPEG一直在不断发展,JPEG 2000的压缩比更高,而且不会产生原先的基于离散余弦变换的JPEG标准产生的块状模糊瑕疵。JPEG 2000同时支持有损数据压缩和无损数据压缩。另外,JPEG 2000也支持更复杂的渐进式显示和
2015-05-01 22:00:58 4079
VisualAssist.X_10.9.2333
2020-05-31
Unreal Engine 4 Game Development in 24 Hours
2018-10-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人