自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tiantian至简的专栏

在追求技术的旅途上勇往直前,生活上亦当如此

  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

转载 C++ 预编译解析

转载自:http://blog.csdn.net/hlfkyo/article/details/5506425C++代码一直以其运行时的高性能高调面对世人, 但是说起编译速度,却只有低调的份了。比如我现在工作的源代码,哪怕使用Incredibuild调动近百台机子,一个完整的build也需要四个小时,恐怖!!!虽然平时开发一般不需要在本地做完整的build,但编译几个相关的工程就够

2017-07-27 14:31:26 1251

转载 ue4 NewObject

出自:http://www.cnblogs.com/wellbye/p/5808894.htmlue4 NewObject/StaticConstructObject_Internal/StaticAllocateObject/FObjectInitializer:对象创建和初始化UObject是一套很复杂的体系,之前读ue3代码时曾分析过其类型系统实现,主要是与UClas

2016-12-06 14:53:20 11661

转载 C++中的内存对齐

转载自:http://blog.csdn.net/pizi0475/article/details/46872289在我们的程序中,数据结构还有变量等等都需要占有内存,在很多系统中,它都要求内存分配的时候要对齐,这样做的好处就是可以提高访问内存的速度。 我们还是先来看一段简单的程序:                                程序一

2016-11-30 18:19:28 454

转载 UE4 初始化流程

http://blog.csdn.net/flushthink/article/details/40295495自古以来所有的游戏引擎都分为三个大阶段:Init,Loop,Exit。UE4也不例外。首先找到带有入口函数的文件:Runtime/Launch/Private/XXXX/LaunchXXXX.cpp。Windows平台就将XXXX替换成Windows。

2016-11-29 11:48:59 4367

转载 NDK与Cygwin配置

1、Android 开发环境搭建Android开发环境搭建不是重点,相信看此文章的很多人都已经搭建成功,这里随便概述性的说说。下载 JDK下载 Eclipse下载 Android SDK启动Eclipse , 安装 ADT2、下载安装Android NDK我使用的NDK版本为r5Google 出的最新NDK 为 r6 下载

2016-11-28 16:38:44 413

原创 FRenderCommandFence类

FRenderCommandFence用于game线程和渲染线程的同步,UE4最多允许game领先渲染线程一帧,也就是渲染线程跑第N帧的时候,game线程最多跑第N+1帧,这是因为game线程跑的太快没多大意义,还会耗光内存。因为game线程不断的产生数据传递给渲染线程,如果渲染线程消费数据远远慢于产生数据,就会有越来越多的数据存于内存中。先介绍一下FRenderCommandFence

2016-11-18 15:40:17 1934

原创 UE4渲染任务的产生及入队

渲染任务是如何产生并压入到渲染队列的呢还记得ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER宏吗,该宏的作用就是生成渲染任务并压入渲染队列。这是笔者知道的一种方式,应该还有其他方式。ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER宏展开后会得到下面的核心代码,它的作用是把创建任务并压入渲染队列:TG

2016-10-31 19:55:24 3827 1

原创 UE4 渲染线程执行任务的流程

先列出相关的类:FTaskGraphInterface: 虚基类,提供了一组管理和操作线程的接口.class FTaskGraphImplementation : public FTaskGraphInterface   该子类实现了基类的接口,在构造函数里创建了N个FRunnableThread和FTaskThreadBase.FTaskThreadBase:继承自F

2016-10-26 19:03:35 5035

原创 UE4 RHI浅析

RHI: Render hardware interface 渲染硬件层接口, 本人理解RHI是一套硬件无关,平台无关的图形渲染API. 它是如何做到与平台无关,与硬件无关的呢?每个RHI接口都对应着多个图形API的实现版本. 对于每个RHI接口,其实都有针对DX11,DX12,OpenGL等版本的实现。对于不同平台,引擎初始化的时候就已经确定要用哪一套图形API了。 之后,调

2016-10-24 19:52:32 8854 3

原创 UE4 ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER 宏

该宏非常重要, 其作用是: 创建一个渲染命令任务,并将该任务压入渲染队列,待渲染线程执行. 主要用于多线程渲染!#define ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER(TypeName,ParamType1,ParamName1,ParamValue1,Code) 等效于下面两个宏:#define ENQUEUE_UNI

2016-10-14 18:44:20 3661

转载 UE3的各种viewport和client

转载自:http://www.cnblogs.com/wellbye/p/5366034.html名字里带viewport/client的类不少,以及相关的类:FViewportFrame、FViewportFViewportClient/UScriptViewportClient/UGameViewportClientUClient/UWindowsC

2016-10-14 17:54:43 1891

原创 UE4多线程任务系统详解

首先,了解一下该系统重要的数据类型.1. FQueuedThreadPool:虚基类,队列线程池,  FQueuedThreadPoolBase继承自FQueuedThreadPool,     FQueuedThreadPoolBase维护了一个TArray QueuedWork(需要被执行的工作),  TArray AllThreads(所有的线程)   TArray

2016-10-10 18:59:17 8252

原创 C++ *& 连用

在阅读UE4源码时,遇到*&连用时一下子没反应过来,一查才知道就是个指针引用,原来指针也能有引用的,不禁感叹C++功力之弱。虽然大学四年里一直用C++,看过好多本c++的书籍,阅读的引擎源码也不算少,但是毕业后这两年基本都是用lua,C++的功力直线下降了。以此为戒,奋起直追。

2016-09-14 18:57:17 2014

转载 阅读一款3D引擎的方法备忘

转载自: http://www.cnitblog.com/linghuye/archive/2009/11/29/62870.html要带着引擎系统所共有的问题去阅读,不要被具体引擎的实现思路牵着走,要思考这个引擎如何实现或绕过(如不考虑低端机)这些必然要面临的问题.首先,最重要的必须,在Debug模式下调试起来一个主场景程序,然后沿着代码流走几遍,在代码里闲逛,生成第

2016-09-14 18:10:32 307

转载 布料模拟

数字布料模拟技术简介 http://www.tsinghuadmpx.com/zhuantilanmu/shuzibuliaomonijishu/2010/0205/1157.html导读:首先,这是一篇牵扯到数学和物理知识的文章,如果您对文中所涉及的公式有所不明白的话,请在边上摆上一本《高等数学》以及一些物理学常识的知识。 首先来讲布,第一个问题是:为什么要模拟布的运动?

2016-07-06 17:47:50 4203

转载 pthread的各种同步机制

转载自:http://blog.csdn.net/liutianshx2012/article/details/45743333简述pthread是POSIX标准的多线程库,UNIX、Linux上广泛使用,windows上也有对应的实现,所有的函数都是pthread打头,也就一百多个函数,不是很复杂。然而多线程编程被普遍认为复杂,主要是因为多线程给程序引

2016-06-17 12:05:43 4014

转载 lua虚拟机初始化

转载地址:http://www.cnblogs.com/ringofthec/archive/2010/11/09/lua_State.html1. 创建lua虚拟机lua_State *lua_newstate (lua_Alloc f, void *ud)创建一个新的独立的lua虚拟机. 参数指定了内存分配策略及其参数, 注意, 让用户可以定制内存分配策略是

2016-06-06 15:06:48 504

转载 Unity手游代码更新策略

出处: http://blog.csdn.net/janeky/article/details/25923151在实际手游的开发运营中,我们需要经常修复bug,增加新玩法。这些通常都涉及到代码的更新。unity游戏代码的更新比较复杂,也存在不同的更新策略,各有优缺点,在不同的平台上做法也不尽相同。这里主要谈一些比较常用的策略和各大手机平台上的策略。大家有更好的思路,欢迎探讨

2016-05-12 11:06:43 632

转载 手机游戏上线前的准备

原地址:http://www.gamelook.com.cn/2015/09/229002游戏研发完成后游戏该怎样推广?如何找渠道?推广时需要注意什么?下面给大家介绍一下具体流程,可能每个公司的上线流程不太相同,在时间点或者在物料准备等有所差异,但大概是这么个流程。首先要确定游戏的定位,其次是联运,独代,还是自己推?然后开始确定渠道,商务对接,竞品调研,与渠道对接sdk。

2016-05-10 18:27:47 1396

转载 手机游戏运行时分析工具

原创地址:http://blog.sina.com.cn/s/blog_73bed4520102w4tt.htmlstep.1 准备工具1.adb连接工具(我用的cofface adb  )【cofface】adb基于最新安卓源码编译修改,兼容其它助手,增加参数,支持识别所有机型工具详情:http://blog.cofface.com/archives/569.

2016-04-27 17:30:59 1658

转载 Unity+NGUI性能优化方法总结

原创地址: http://blog.csdn.net/zzxiang1985/article/details/433392731 资源分离打包与加载   游戏中会有很多地方使用同一份资源。比如,有些界面会共用同一份字体、同一张图集,有些场景会共用同一张贴图,有些会怪物使用同一个Animator,等等。可以在制作游戏安装包时将这些公用资源从其它资源中分离出来,单独

2015-12-25 10:11:21 463

转载 MonoBehaviour介绍

虽然现在为止还没使用过Unity3D进行项目开发,但是在这次求职中,发现大部分是招Unity3D技术岗位,这玩意实在是太火爆了。好吧,现在开始学习Unity3D!原文地址: http://www.cocos2dev.com/?p=486Unity中的脚本都是继承自MonoBehaviour。一、基础函数:创建脚本就默认的update、start方法:(这些官

2015-12-18 17:49:51 542

原创 cocos2dx LOD地形剖析

一般3D游戏的地形都是使用 LOD地形,Cocos2dx的Terrain也不例外, 原因是大的地形绘制需要在短时间内处理上亿个三角形,使用LOD技术能极大的提高地形的绘制效率。       多分辨率网格简化技术/细节层次模型技术(LOD技术),引入“分而治之”的思想,根据地形的不同复杂程度和人眼观察地形的特点,对地形的不同区域采取不同细节的描述和绘制。采用LOD技术绘制地形,在不降低表现效果的

2015-10-28 18:23:04 1873

转载 OpenGL GLSL初始化工作以及如何使用

本文来源于 ZwqXin (http://www.zwqxin.com/), 转载请注明      原文地址:http://www.zwqxin.com/archives/shaderglsl/communication-between-opengl-glsl.htmlshader代码可以用文本文件保存,可以在程序中用字符串保存,但最终还是必须在程序中以字符串的形式传入

2015-10-23 11:16:28 679

转载 AB是一家?VAO与VBO

VBO, VAO 解析,两者的关系和使用

2015-10-23 10:59:00 406

转载 闪电特效算法

转载自: http://blog.csdn.net/u012945598/article/details/18862091这部短片使用了中点位移法来模拟闪电。中点位移法通常是用于生成分形地形的算法,你会发现闪电的形状类似于一个理想化的山脉的边缘。下面节选的这段闪电递归程序可以帮你完成所有的工作。function drawLightning(x1,y1,x2,y2,d

2015-08-13 12:03:40 3517

转载 Shader 逐顶点和逐像素光照

转自:http://blog.csdn.net/pizi0475/article/details/6968070逐顶点光照所谓逐顶点光照,简单地说就是在vetext shader中计算光照颜色,该过程将为每个顶点计算一次光照颜色,然后在通过顶点在多边形所覆盖的区域对像素颜色进行线形插值。现实中,光照值取决于光线角度,表面法线,和观察点(对于镜面高光来说)。具体实现时的shade

2015-06-08 19:37:38 2321

转载 Shader Model知识点

原地址: http://www.cnblogs.com/lancidie/archive/2011/08/18/2144714.htmlDirectX 10另一个引人瞩目的特性便是引入了Shader Model 4.0,那么,Shader Model 4.0能够带来怎样的新特性,特别是将它与DirectX 9.0c中Shader Model 3.0相比时?  引入新Shad

2015-06-08 18:01:24 832

转载 C++全局变量的声明和定义

(1)编译单元(模块)     在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器做了两步工作: 第一步,将每个.cpp(.c)和相应的.h文件编译成obj文件; 第二步,将工程中所有的obj文件进行LINK,生成最终.exe文件。    那么,错误可能在两个地方产生: 一个,编译时的错误,这个主要是语法错误; 一个,链接时的错误,主要是重复定义变量等。

2015-06-08 15:30:58 349

转载 OpenGL ES 2.0 Shader

这里介绍的与shader相关的部分主要分为三个阶段:1)         加载shader,其中包括加载shader、编译shader 、连接shader并且产生着色器程序id(文中的1、2、3部分);2)         获取指向顶点着色器相应数据的Index(文中的第4部分);3)        根据Index向顶点着色器中传递数据(文中的第5 部分);1.  

2015-06-05 15:18:07 459

转载 HDR和bloom效果的区别和关系

什么是HDR?         谈论游戏画面时常说的HDR到底是什么呢?HDR,本身是High-Dynamic Range(高动态范围)的缩写,这本来是一个CG概念。HDR的含义,简单说,就是超越普通的光照的颜色和强度的光照。计算机在表示图象的时候是用8bit(256)级或16bit(65536)级来区分图象的亮度的,但这区区几百或几万无法再现真实自然的光照情况。目前普通的图片都是由三原色

2015-05-26 18:01:55 6755

转载 OpenGL帧缓存对象(FBO:Frame Buffer Object)

转http://blog.csdn.net/xiajun07061225/article/details/7283929原文地址http://www.songho.ca/opengl/gl_fbo.html但有改动。OpenGL Frame BufferObject(FBO)Overview:       在OpenGL渲染管线中,几何数据和纹理

2015-05-22 14:37:02 453

经典的数据结构课件.ppt

经典的数据结构课件,非常好的,珍藏多年了

2011-05-12

空空如也

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

TA关注的人

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