自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专心-超越

程序员基础:架构/设计 数据结构及算法 | 专业领域:3D数学算法和图形渲染

  • 博客(114)
  • 资源 (8)
  • 收藏
  • 关注

原创 Unity Performance

Unity Performancehttps://forum.unity.com/threads/onrenderimage-is-slow-when-msaa-is-on.427006/;有些机器在每个批次2500个顶点左右,FPS最高。https://forum.unity.com/threads/onrenderimage-is-slow-when-msaa-is-on.427006...

2018-10-08 18:33:53 728 1

原创 MSAA and HDR

https://www.gamedev.net/forums/topic/583792-msaa-and-hdr/

2018-09-05 10:30:46 494

原创 CommandBuffer使用BuiltinRenderTextureType.CurrentActive注意事项

int screenCopyID = Shader.PropertyToID(“_ScreenCopyTexture”);buf.GetTemporaryRT (screenCopyID, cam.pixelWidth/2, cam.pixelHeight/2, 0, FilterMode.Bilinear); //结果错误 //buf.GetTemporaryRT(scr...

2018-08-09 16:56:57 2380 1

原创 Unity Static Batching

Unity5 的Static Batching 相对于Unity4 做了改进。 https://forum.unity.com/threads/regression-feature-not-bug-static-dynamic-batching-combining-v-buffers-but-not-draw-calls.360143/Static Batching 会减少Batchs的数量...

2018-08-09 13:54:38 2114

原创 PRT and Irradiance Volume different

PRT and Irradiance Volumehttps://www.gamedev.net/forums/topic/442871-prt-and-irradiance-volume/ Posted April 10, 2007Yes PRT and Irradiance Volumes are very similar, both are interested in modell...

2018-08-06 18:39:30 373

原创 how much does a tex2D/texCUBE cost?

how much does a tex2D/texCUBE cost? https://forum.unity.com/threads/how-much-does-a-tex2d-texcube-cost.182469/移动平台纹理采样比较昂贵。1. 效率采样在移动平台相当于几个到几十个简单的数学运算, 在PC上更高,一次采样相当于几个到上百个数学运算。 不建议用texture...

2018-08-03 18:32:22 468

原创 PS常用操作

由于我们经常用贴图通道来记录数据,在shader中进行计算,这部分的数据和程序密切相关,所以学习点PS也是非常必要的。 总结一些常用操作,以后用到新的操作不断更新。通道复制: 选择通道 ->Ctrl A全选 ->Ctrl C复制 -> Ctrl V粘贴到某通道 或粘贴到新建通道。Ctrl M 调出面板 调整输入输出曲线关系, 例如:值取反Ctrl I 该通道反相

2017-01-18 08:19:32 514

转载 hlsl函数 ddx ddy

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-10-30 11:31:27 4791

转载 UE4函数和属性说明符

Property Specifiers属性说明符When declaring properties, specifiers can be added to the declaration to control how the property behaves with various aspects of the engine and editor.当声明属性时,说明符可以被添加到该声明中

2015-10-23 11:02:19 8124

原创 安卓笔记

1. ANativeWindow_setBuffersGeometry     eglGetConfigAttrib(display, configs[best_config], EGL_NATIVE_VISUAL_ID, &format);    ANativeWindow_setBuffersGeometry((ANativeWindow*)m_window, w, h, format

2015-04-23 17:07:27 906

转载 光照模型

1. Lambert模型  理想漫反射模型,各个方向一样。2.Phong(1975)[1]                          经验模型,R和V的夹角决定镜面高光的强度。3.Blinn-Phong(1977)[2] 引入了半角向量的概念,对Phong模型进行了改进,镜面高光由n和h的夹角决定。

2015-02-24 08:09:40 1495

转载 CE3和UE3在多线程渲染方面的简单对比

http://www.cnblogs.com/lancidie/archive/2011/10/21/2220553.html由于刚刚开始看CE3,对很多细节都还不是很熟,所以下面的有的针对CE3的描述可能是不准确的,在此先表歉意。       CE3和UE3都支持多线程渲染,即有一个单独的渲染线程,当然它们都可以通过简单的办法来开关,CE3通过r_multithreaded的值来控制

2015-02-24 08:03:38 765

翻译 DX & OpenGL 's depth

Some math I did ... (not 100% verified, but looks like it works)n = nearf = farz = depth buffer Z-valueEZ = eye Z valueLZ = depth buffer Z-value remapped to a linear [0..1] range (near plane t

2015-02-16 10:30:19 737

原创 unity3D常用工具小记

disunity 解压unity pak包 :java -jar disunity.jar extract "C:\aaaa\bbbb"

2015-01-29 19:33:47 698

翻译 Unity Optimisation Basics Part 3

TagsWhich of the following should execute faster?那种执行更快呢?12345if(gameObject.tag == "Player")if(gameObject.tag == "Player".GetH

2015-01-13 14:50:00 638

转载 Unity Optimisation Basics Part 2

Unity Optimisation Basics Part 2Math is hardCurrently in JSD, the Seeking missiles are taking up WAY more cpu per frame than I would have anticipated. As much as 30% of the total cpu load pe

2015-01-13 14:48:10 710

翻译 Unity Optimisation Basics Part 1

转自:http://stevehalliwell.com/unity-optimisation-basics-part-1/I recently decided to run the unity profiler over JSD and see what could be improved, this is just a quick review of my findings

2015-01-13 14:46:00 710

原创 Unity3D 常用库

JSON.NET:http://james.newtonking.com/jsonLitJSON: http://lbv.github.io/litjson/ProtoBuf  - net:http://code.google.com/p/protobuf-net/

2014-06-18 23:20:50 3235

原创 GPU瓶颈

关于是否是GPU瓶颈还是CPU瓶颈,NV的paper中说调整CPU或GPU的时钟,改变频率,来检测性能瓶颈到底来自那里。这个方法还需要借助辅助工具,一般游戏逻辑帧和图形帧是分离的,可以改变逻辑帧和图形帧的频率试试。看看帧数是否明显降低。或者忽略所有的Draw Calls看看fps。 显存位宽是显存在一个时钟周期内所能传送数据的位数,表示瞬间所能传输的数据量。是显存和芯片之间交换

2014-04-28 20:28:50 2320

原创 积累点人生经验吧

1. 不要把某些事情在心里面向往的那么美好,哪怕成本很高也需要亲自体验下,才好为以后的选择和决定提供有力的信息。想想谜团出个辉耀吧,多拉风,其实在团队贡献来讲,还不如MK给力。2.人在哪里心就在那里,活在当下。 常常想到这样一个例子:打dota时候有些人攒钱卖大件,有些人什么时期出什么装备。前者遇到高手就惨了!

2014-03-17 22:02:20 742

原创 选择

选择是源于对生活的热爱,放弃是源于生活的感悟。不懂放弃就不会选择!

2014-03-15 16:14:06 679

原创 今后学习计划

尤为重要的一年。年龄问题,行业机会问题,注定了这是不平凡的一年。一直在关注自己感兴趣的技术,按自己本性的方式处理和思考问题,不知不觉中年纪已经不小了。 兴趣,技术渐渐的看的淡了,开始思考“事业“二字。以下几个基本点是未来规划时间时需要注意和思考的:1. 软件设计能力  包括软件架构和问题的解决方案,以及快速开发改进,易用的工具链。2. 图形学的数学算法以及常见问题的解决方案

2014-03-12 22:05:15 2637

原创 [面试算法]有一无符号整型数组,大小为10, 初始的数值随机,但在[0, 99]之间。请用C语言写一个过滤程序,令数组内的数据互不相等。

写了个算法实现,就想做个记录。以后有时间测试下正确性,以及是否有更好的思路。//有一无符号整型数组,大小为10, 初始的数值随机,但在[0, 99]之间。请用C语言写一个过滤程序,令数组内的数据互不相等。// 说明:// 1.若数组内有相等的数据,可令某一数值加1或减1作出偏移,直至不等为止。// 2.数组内的数据只能在[0, 99]之间。// 3.数组第一次出现的数据保持不变

2014-02-25 22:35:32 3470

转载 c/c++内存分配与内存对齐全面探讨

关于程序设计的内存分配问题freec(辽宁工程技术大学 软件学院 计SJ07-3 辽宁 葫芦岛 125000)[摘  要]在大多数低层程序设计中,由于内存分配与内存对齐问题所带来的bug所占比重非常大。本文对内存分配中的分配空间类型、作用、方法、适用范围、优缺点以及内存对齐问题中的对齐原因、对齐规则等进行了详细的说明,并结合大量c语言代码进行阐述与分析。[关键词]内存分配;

2014-02-23 18:20:52 666

转载 C++常见内存错误汇总

在系统开发过程中出现的bug相对而言是比较好解决的,花费在这个上面的调试代价不是很大,但是在系统集成后的bug往往是难以定位的bug(最好方式是打桩,通过打桩可以初步锁定出错的位置,如:进入函数前打印日志,离开时再次打印日志)。而这些难以定位的bug基本分为2类:内存错误和并非问题。       1、内存泄露    如果在堆栈上分配的内存使用完成后没有释放就会造成内存泄露。

2014-02-23 11:00:18 731

原创 调试定位缺陷

调试定位缺陷-《代码大全》科学的调试方法一、经典的方法1. 通过可重复的实验收集数据2. 根据相关数据的统计构造一个假设3. 设计一个实验来证明或反正这个假设4. 证明或反正假设5. 根据需要重复上面的步骤二、不可复现的bug1. 将错误稳定下来此类错误可能的原因:无法重现的bug可能的原因:初始化错误与时间相关悬空指针:未初

2014-02-23 08:40:20 1620

原创 IO、网络、多线程模型总结

摘自网络上看过的文章,处于以不详~一、一些概念同步:发送请求,等待返回,然后再发送下一个请求。异步:发送请求,不等待返回,接下来可以处理其他事情,或者随时发送下一个请求。并发:同时处理多个请求二、线程池模型HS/HA半同步/半异步模式:分为三层,同步层、队列层、异步层,又称为生产者消费者模式,主线程处理I/O事件并解析然后再往队列丢数据,然后消费者读出数据进行应用逻辑处

2014-02-16 19:14:42 2126

原创 大道至简

图形引擎优化1. 画更少的东西  什么都不画,效率最高。只画正好需要画的,效率最佳。  场景管理:四叉树、BSP、K-Tree。  视锥剪裁  背面剔除 shader中的像素剪裁: 遮挡查询,剔除被遮挡像素等  等等。 优化的地方也就是讲需要绘制的选择的更精确。2. 减少必须消耗部分的调用,尤其是每帧更新时 d3d的一些API每次调用有不少的消耗,所

2014-02-16 17:03:23 1537

转载 数据驱动

什么是数据驱动编程前言:最近在学习《Unix编程艺术》。以前粗略的翻过,以为是介绍unix工具的。现在认真的看了下,原来是介绍设计原则的。它的核心就是第一章介绍的unix的哲学以及17个设计原则,而后面的内容就是围绕它来展开的。以前说过,要学习适合自己的资料,而判断是否适合的一个方法就是看你是否能够读得下去。我对这本书有一种相见恨晚的感觉。推荐有4~6年工作经验的朋友可

2014-02-16 16:19:13 1555

原创 Performance Optimizations (Direct3D 9)

Performance Optimizations (Direct3D 9)General Performance Tips1. Clear only when you must. 2. Minimize state changes and group the remaining state changes. 3. Use smaller textures, if you can do so.

2014-02-11 21:20:30 1276

原创 地雷和蜘蛛你选什么?

程序的错误报告,可以收集dump文件,有两个开源项目。CrashRpt : 谷歌的一个项目。图标为地雷。BugTrap:CodeProject的一个项目。图标为蜘蛛。

2014-02-07 17:12:20 1057

原创 排序算法要点

第一篇: 堆排序二叉堆满足二个特性:1).父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2).每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。堆排序的三个要点从小到大排序,要先建立最大堆。以构建最大堆为例1.堆调整以待排序节点开始,遍历子节点,把两个子节点值比较大的子节点向上移动。两个子节点都比该节点小,说明不用在调节了。注

2014-01-06 23:14:23 1111

原创 GI概念总结

GI就是以下的两种解释:global illumination 全局照明indirect illumination 间接照明模拟出光线追踪的效果实现方法:1.ssao系列 2.lightmap、辐射度3.PBRT实时GI:LPV cryengineSVO ue4KlayGE中用到的:VPL MSII RSM(reflective shadow map)

2013-12-03 11:45:50 3871

原创 [面试算法]减少中间变量的面试题

1.利用数据源的特点,例如首位,空位等,暂时当临时变量使用。2.如果需要中间变量做标志,可以考虑将数据源改变符号等针对数据源特点让数据源暂时做标志。例如:数据源都是正数,那么取反就是一种标志。3.利用递归,递归是开辟隐式存储空间。例如:unsigned int mystrlen(const char *str){ if (str==NULL) return 0;

2013-11-28 12:55:32 972

转载 深入分析qsort库函数

转自:http://blog.163.com/okwangrong@126/blog/static/404102532009717105635509/ 正如大家所知道的,快速排序算法是现在作为数据排序中很常用的算法,它集成在ANSI C的函数库中。我们经常使用快速排序,就是调用qsort函数,那么qsort函数里面到底是怎么实现的呢?我们现在就来看一看。    在这个系列的文章中,

2013-11-27 21:30:22 1688

原创 [面试算法]把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间。

//把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间。 void MoveSupperToEndWithOrginOrder( char* szSrc , int nSize ){int nLen = 0;for ( int i= 0; i < nSize; i++ ){//找到下一个大写字母if ( isupper(szSrc[i]) ){//检查大写字母连续的

2013-11-27 16:50:54 5199

转载 齐次空间 放射变换

http://blog.csdn.net/rabbitguiming/article/details/39641404D向量是由3D坐标(x,y,z)和齐次坐标w组成,写作(x,y,z,w)。在3D世界中为什么需要3D的齐次坐标呢?简单地说明一下,在一维空间中的一条线段上取一点x,然后我们想转移x的位置,那我们应该是x'=x+k,但我们能使用一维的矩阵来表示这变换吗?不能,因为此时一维的矩

2013-11-25 20:39:41 1182

原创 Link错误

warning LNK4042: 对象被多次指定;已忽略多余的指定1、把报LNK4042的.h和.cpp从项目中排除2、重新加入排除的.h和.cpp原因:1. 如果在属性窗口修改了文件的设定,就可能发生2. 在工程里存在两个不同位置的*.cpp文件。另一个只有一行#include *.h,不知何时加进来的。有的时候可能误将cpp文件移动到另一个目录下,而在工程里没有改变,VS会

2013-11-20 10:52:22 823

转载 Cache

为什么要引入Cache ①大容量主存一般采用 DRAM,相对SRAM速度慢,而SRAM速度快,但价格高。②程序和数据具有局限性,即在一个较短的时间内,程序或数据往往集中在很小的存储器地址范围内。因此,在主存和CPU之间可设置一个速度很快而容量相对较小的存储器,如下图所示。在其中存放CPU 当前正在使用以及一个较短的时间内将要使用的程序和数据,这样,可大大加快 CPU 访问存储器的速度,

2013-11-12 19:25:20 1424

转载 虚幻3引擎-多线程渲染机制

Threaded RenderingDocument Changelog: Created by Daniel Wright.Threaded RenderingOverviewRendering threadDevelopment approachThread specific data structuresPerformanc

2013-11-03 21:28:06 2066

Horizon-Based Indirect Lighting (HBIL)

2018 Mayaux - Horizon-Based Indirect Lighting (HBIL)

2018-08-23

游戏编程精萃4 源码

游戏编程精萃4 的源码,需要的赶紧下吧,哈哈

2013-09-04

实时碰撞检测研究

实时碰撞检测研究 是清晰版

2012-12-05

高效的体积云论文

云的研究论文

2012-05-18

重叠IO编写的词典程序

使用重叠IO编写的 词典程序 使用重叠IO编写的 词典程序 使用重叠IO编写的 词典程序

2009-12-17

windows API函数库

windows api函数编程 chm版

2008-05-03

CSS2.0参考手册

不错的书,方便查找功能十分的全

2008-01-17

Effective C# 中文版改善C#程序的50种方法

Effective C# 中文版改善C#程序的50种方法

2007-12-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除