基于GPU Skin的骨骼动画Instance的实现

很多游戏类型需要在场景中表现大量的角色,而这些角色大多使用骨骼动画的方式来表现,传统的基于CPU蒙皮的方式在手机上对角色数量的限制非常大,本文实现了一种基于GPU Skin的方式,并且结合GPU Instance技术,将大量同类角色的蒙皮到绘制全交给GPU并行进行,并合并了同类角色的批次,本文对着种做法的性能做了测试和分析。...
阅读(299) 评论(0)

Unity中depth pass的优化以及谈谈unity中的Framebuffer

最近遇到个很小但是很有意思的问题,在unity中如何从屏幕copy depth texutrue出来用? 这个问题的来源是我发现在unity在移动平台上为了得到深度图,通常需要一个单独的pass,例如我们用到的一些后处理特效需要用刀场景深度信息,我们通过把camera的flag设置为depth tex 打开,unity就会在每帧用一个单独的pass绘制深度图,这其实很浪费,我们队全场景的顶点提交了两次,增加了大量drawcall。为了说明解决这个问题的思路,我们从framebuffer说起。...
阅读(660) 评论(5)

Unity中基于Gpu Instance进行大量物体渲染的实现与分析(一)

在3D渲染中,尤其是现代3D游戏中,我希望能够绘制越来越多的场景物体,这对于设备(尤其是移动端)的性能是个极大的考验,对于新一代的渲染api,都逐渐支持了Gpu Instancing技术,这对于大量相同物体的绘制提供了一个新的方案,在最新的unity5中也提供了对gpu instance 的支持,我尝试在unity5中利用gpu instance 技术来表现大量的植被,并对其性能进行了分析,以探索在3D手游中gpu instance的应用的可行性。...
阅读(1393) 评论(0)

优化shader程序的一些tips

在写shader的时候,其实一些写法对于其执行影响非常大,而且由于gpu和cpu在架构上的不同,代码的优化思想也不一样,最近一直在写几个shader,为了性能问题,查阅了很多资料,把一些tips总结下来。...
阅读(965) 评论(0)

Unity3d中渲染到RenderTexture的原理,几种方式以及一些问题

虽然RenderTexture这个技术是个普遍使用的技术,但是用好它还是要理解他的底层原理和避免一些使用的问题。这里就UNITY3d中的RenderTexure介绍Rendertexture的底层原理和使用时可能遇到的坑和效率问题。...
阅读(4902) 评论(2)

do{...}while(0)的意义和用法

转自http://www.spongeliu.com/415.htmllinux内核和其他一些开源的代码中,经常会遇到这样的代码:do{ ... }while(0)这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处:1、辅助定义复杂的宏,避免...
阅读(428) 评论(5)

扩展欧几里得定理的证明和代码

扩展欧几里得定理的证明和代码...
阅读(287) 评论(0)

Alpha To Coverage

Opengles3.0新增加了一个Alpha To Coverage的特性,这是一个对Alpha Test的优化,那么这里要搞清楚Alpha to Coverage 是个什么东西。     AlphaTest 和AlphaBlend都可以用来表现(全)透明的效果,对于草,树这种,我们会使用AlphaTest表现,把不需要显示的地方镂空处理,但是AlphaTest有一个最大的问题就是边缘的硬边,导致...
阅读(488) 评论(0)

opengles中的Tessellation(曲面细分)

从opengles3.2开始,支持了一项新的特性,Tessellation Shader,这是一个新的shader,发生在顶点处理阶段,曲面细分可以在显卡上动态生成新的顶点和面,这在支持gles3.2的设备上,可以用来表现模型的lod,我们不用传输大量的顶点数据给显卡,而使显卡能够根据一定规则自动生成细节层次更多的顶点。也有应用结合高度图生成细节更加复杂的模型,因为不用再cpu这边准备高面数的模型...
阅读(717) 评论(1)

Unity5和unity4的AssetBundle打包策略对比分析

项目开始逐渐迁移到unity5上,原有用4的打包流程在5上依然是work的,基本是不用改代码的,但是5对打包做了一些改进,今天在考虑要不要改一下项目的打包代码,使用5的所谓的“”新的方式“,但是仔细研究了一下,法线其实是没必要的,5的打包没解决什么根本问题,下面我对4 和5 的打包策略进行一下对比分析,并说一下我们目前大题的打包方法。...
阅读(2170) 评论(0)

作为技术面试官,我是怎样评价一个游戏开发人员的素质的

很长一段时间,一直在负责工作室的客户端程序招聘,招聘工作已经进行了大半年,面过的程序几十个,但是最终成功发了offer的单手可数,在这过程中,pass掉了很多人,有技术总监,有大厂数年经验者,也有更多的打酱油的,HR那边可能觉得我们这边的通过率不高,究其原因,我想说现在的程序员很多,非常多,但是能够称得上研发者的取值却很难找,能称得上有经验的游戏研发人员更是屈指可数,大部分的程序员确实满足不了我们工作室的最低要求。...
阅读(6042) 评论(14)

C#中的弱引用(WeakReference

转载自:http://www.cnblogs.com/bayonetxxx/archive/2009/06/02/1494728.html我们平常用的都是对象的强引用,如果有强引用存在,GC是不会回收对象的。我们能不能同时保持对对象的引用,而又可以让GC需要的时候回收这个对象呢?.NET中提供了WeakReference来实现。弱引用可以让您保持对对象的引用,同时允许GC在必要时释放对象,回收内存...
阅读(1067) 评论(0)

C#中的析构函数

转载自http://www.cnblogs.com/paper/archive/2009/07/31/1535998.html析构函数 析构函数(destructor) 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。以C++语...
阅读(1269) 评论(0)

VR渲染的一些优化

今天读了Alex Vlachos 先后在15和16年GDC写的一些关于在valve上做的vr 渲染的一些优化技巧,虽然很多东西没有能吸收,把理解的总结一下:1. 预测渲染:因为vr对渲染的延迟特别敏感,vr设备可能每时每刻都在动,而正常来说gpu上渲染出来的结果一定都会比cpu计算提交的时候玩,看到的总是和当前所处位置不一致的图像,延迟越大就越会头晕,valve解决的思路是大量应用了预测,等于在在...
阅读(613) 评论(0)

请问FXAA、FSAA与MSAA有什么区别?效果和性能上哪个好?

转载自 知乎 文刀秋二 的回答  http://www.zhihu.com/question/20236638/answer/14438218首先所有MSAA, SSAA, FXAA, TXAA等都是抗锯齿(Anti-Aliasing)技术。锯齿的来源是因为场景的定义在三维空间中是连续的,而最终显示的像素则是一个离散的二维数组。所以判断一个点到底没有被某个像素覆盖的时候单纯是一个“有”或者“没...
阅读(1268) 评论(0)
149条 共10页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:736816次
    • 积分:6695
    • 等级:
    • 排名:第3499名
    • 原创:131篇
    • 转载:18篇
    • 译文:0篇
    • 评论:139条
    博客专栏
    最新评论