- 博客(100)
- 资源 (5)
- 收藏
- 关注
转载 【D3D11游戏编程】学习笔记二:XNAMath之XMVECTOR
(注:【D3D11游戏编程】学习笔记系列由CSDN作者BonChoix所写,转载请注明出处:http://blog.csdn.net/BonChoix,谢谢~) 历代的D3D教程中,介绍基本绘图时都会拿立方体作为例子,这次也不例外~ 立方体虽然简单,但正所谓麻雀虽小,五脏俱全。绘制立方体的过程其实已经包含了所有D3D渲染程序中最基本的、必不可少的步骤。因此,从绘制立方
2017-09-22 11:47:11
624
原创 (C++11)Lambda表达式(匿名函数)和为什么使用Lanbda表达式
名称Lanbda来自landba caculus(λ演算)--一种定义和应用函数的数学系统。这个系统能让您使用匿名函数--即无需给函数命名。在C++11中,对于接受函数指针或函数符的的函数,可使用匿名函数定义(lambda)作为其参数。与前述函数f3对应的lambda如下:bool f3(int x){return x%3==0;}(计算是否被3整除)对应lambda表达式:[](in
2017-06-01 18:53:49
1941
原创 为什么c++ 中类内初始值不能使用圆括号初始化?
偶然在记得在知乎上看到过回答,后来忘了,翻了好久浏览记录翻出来了,希望对别人加深理解有所帮助源自知乎:https://www.zhihu.com/question/37019538为什么c++ 中类内初始值不能使用圆括号初始化?为什么class A{public:int a(100);};这样不行呢 用花括号或者=就可以呢 这样设计的目的是什么
2017-05-26 19:36:10
6828
原创 c++11模板别名using=
对于冗长或复杂的标识符,如果能够创建其别名将很方便。以前c++为此提供了typedef:typedef std::vector::itrrator itType;C++11提供了另一种创建别名的语法 using=using itType=std::vector::iterator itType;差别在于新语法也可以用于模板部分具体化,但是typedef不能:template
2017-05-23 20:35:31
848
转载 C++静态库与动态库区别
C++静态库与动态库这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存
2017-05-19 15:48:59
558
转载 UE4中的事件调度器及C++中的使用
事件调度器非常的适合在各个蓝图之间实现通信功能。当前UE4版本4.8.3。在蓝图中,事件调度器的作用就像是事件的派发器。通过将事件预先的绑定在事件调度器上,可以让系统可以在需要时将事件派发给所有已经绑定的事件。事件调度器的使用一个比较常见的使用事件调度器的地方,就是关卡蓝图。关卡蓝图中的很多物体的Actor及其逻辑,如果要脱离关卡蓝图的话会比较难于使用。因此
2017-04-24 14:25:25
5032
转载 我所理解的设计模式(C++实现)——适配器模式(Adapter Pattern)
原博链接:http://blog.csdn.net/lcl_data/article/details/8780140解决的问题:适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。比如说我的hp笔记本,美国产品,人家美国的电压是110V的,而我们中国的电压是220V,要在中国能使用,必须找个变压器转一下电压才可以。这个变压
2017-04-22 08:45:18
450
原创 模板类和友元
懒得抄了,直接截图,后面对模板类友元函数是单个类具体化的友元,还是模板类所有具体化的友元进行自己理解的总结。总结:1.模板类的非模版友元函数友元函数与 T无关时,友元和类的实例化是一对多的关系。即这个友元函数是所有类实例化的友元,可以访问所有类里面的成员对象。友元函数与 T有关时,比如包含T的参数等,指定友元的具体化只是对应具体化类的友元,即一对一的关系,指定具体化友元指定访问
2017-03-22 19:02:04
596
原创 UE4 The global shader cache file missing 运行错误解决办法
UE4项目在VS中对项目代码编译时报如错,找了好久在UE4论坛上查到了别人的解决方案,贴出来仅供大家参考。看到一位开发者解释出错的原因如下:There are a number of build configurations available to you, but it helps to think of them as two parts, a "State" and a
2017-03-17 11:42:52
18706
6
原创 模板类中的表达式(非类型)参数
templateclass ArrayTP{public:ArrayTP();explicit ArrayTP(constT&v);virtual T& operator[](int i);virtual T&operator[](int i)const;private:T ar[n];};关键字class(或中等价的关键字typename
2017-03-16 20:40:54
761
原创 函数参数按引用传递和按值传递对动态联编的影响
不适当的代码将阻止动态联编.例如,下面两个函数:基类:Brass,派生类:BrassPlusViewAcct()为基类和派生类的虚函数void show(const Brass & rba){rba.ViewAcct();}void inadequate(Brass ba){ba.ViewAcct();}第一个函数按引用传递对象,第二个按值传递对象。
2017-03-08 20:18:12
508
转载 浅谈C++基类的析构函数为虚函数
本文重点:应该为多态基类声明虚析构器。一旦一个类包含虚函数,它就应该包含一个虚析构器。如果一个类不用作基类或者不需具有多态性,便不应该为它声明虚析构器。1、原因: 在实现多态时, 当用基类指针操作派生类, 在析构时候防止只析构基类而不析构派生类。2、例子: (1)、 #include using namespace st
2017-03-01 20:34:40
855
原创 关于初始化参数列表使用注意
1.初始化列表的格式只能呢个用于构造函数2.非晶态const数据成员必须用参数化列表进行初始化3.引用格式数据成员初始化必须用参数化列表进行初始化
2017-02-28 18:20:42
1352
原创 UE4启动丢失VCRUNTIME140.dll错误解决
注意自己系统是32位还是64位的,下载对应版本。然后进行安装后重启UE4即可。64位的vc++2015http://www.paopaoche.net/psp/162059.html32位的vc++2015http://dl.pconline.com.cn/download/423172.html
2017-02-16 16:20:08
11995
转载 使用UE4开发VR项目_性能优化(三)_思路和方法
本文是《使用UE4开发VR项目-性能优化》的第三篇。希望能和您分享一下在UE4 VR项目优化的基本思路方法和技巧。 前篇请参考这里:http://gad.qq.com/article/detail/7170307http://gad.qq.com/article/detail/7173658(四)GPU渲染线程分析 如果遇到GPU瓶颈最快的验证方法是改变分辨率 降低
2017-02-08 15:02:45
4184
转载 使用UE4开发VR项目_性能优化(二)_思路和方法
原作者:Mullin-ぼくリん 目前VR行业发展迅速,VR性能逐步完善。但目前VR仍然存在一些技术瓶颈。 VR渲染效率和延迟是导致晕动症和人眼疲劳最重要的两个问题。本文通过UE4项目开发中的一些流程和技巧来优化VR实时渲染效率。达到提升渲染效率降低延迟,从而降低导致晕动症和人眼疲劳的机率。本文是《使用UE4开发VR项目-性能优化》的第二篇。希望能和您分享
2017-02-08 14:57:21
7452
转载 使用UE4开发VR项目_性能优化(一)_常用工具
原作者:Mullin-ぼくリん 《使用UE4开发VR项目-性能优化》系列文章将分成三篇分别介绍使用UE4开发VR项目的一些工具使用和VR优化思路。目的是总结UE4开发VR项目中常用的一些调试工具和使用方法。本文是第一部分,主要介绍UE4中常用的分析和优化工具。 VR项目初始化设置请参考我的另一篇文章《基于UE4的VR项目基础环境配置和MotionController控制配置
2017-02-08 14:55:31
3030
转载 想用好虚幻4引擎做游戏,你需要避免这些扰人的坑(备忘)
在手游品质越发上扬的如今,已经有不少厂商开始使用一些性能更好的引擎,去尝试游戏制作了。而虚幻4引擎(以下简称UE4)就是其中之一,在这款引擎中已经诞生了诸如《铁拳7》《地狱之刃》《帕拉贡》等一系列大作。对玩家而言,这些作品都是不折不扣的视觉盛宴。日本网站4Gamer曾刊登一篇文章,分享了使用UE4在图像渲染中会遇到的难点以及解决方法,分享人是该引擎的开发商Epic
2017-02-05 16:27:42
18360
1
转载 看虚幻引擎技术大神分享烧脑干货《克服VR眩晕之帧数:提升UE4内容实时渲染效率》(备忘)
在10月24日精彩落幕的2015创领发现VR DAY的活动中,主办方创领发现(UCCVR)有幸邀请到了虚幻引擎的原厂技术大牛来现场与各位VR相关的制作人/开发者进行面对面的交流与分享。下面让我们来仔细解读一下该场分享的技术内容。 VR已经成为了当今最火热的一个话题,带上头盔之后,从此进入一个奇妙的世界,在这里你不再是观众,你参与这个世界发生的每一件事件。整个世界从此与众不同。在赛道
2017-02-05 11:36:31
1836
转载 VR渲染延迟优化方法
VR中的”延迟”, 特指”Motion-To-Photon Latency”, 指的是从用户运动开始到相应画面显示到屏幕上所花的时间. 这中间经过了大概这么几个步骤:传感器采集运动输入数据采集到的数据进行过滤并通过线缆传输到主机游戏引擎根据获取的输入数据更新逻辑和渲染视口提交到驱动并由驱动发送到显卡进行渲染把渲染的结果提交到屏幕, 像素进行颜色的切换用户在屏幕上看到相应的画面
2017-01-22 11:21:22
3348
转载 垂直同步是什么意思,到底是打开还是关闭垂直同步?
大家在玩游戏的时候应该注意到了“垂直同步”这个名词。现在很多游戏特效设置了里边都有这个选项,那么到底是打开还是关闭垂直同步?垂直同步是什么意思,有什么作用呢? 提示:如何打开或关闭垂直同步进入游戏后在游戏的画面设置里边一般都会有垂直同步的开关选项的,如图: 垂直同步是什么意思? 垂直同步又称场同步(Vertical Hol
2017-01-22 11:06:53
12187
原创 PhysX APEX Clothing中Clothing碰撞体(shape clothing)的使用
APEX Clothing中Clothing碰撞体的使用1.关于ClothingShape碰撞体Clothing Shape类型的碰撞体是专门为布料解算设计的,只在Physx3X的版本中可用,2X的版本中是没有的。它的碰撞轮廓是流线型的,碰撞效果比单一的球形或胶囊体的碰撞体更加流畅和精确。2. ClothingShape的使用2.1 ClothingShape关键属性
2017-01-08 14:37:22
3646
原创 Epic Games Launcher启动器添加识别本地UE4引擎
Epic Games Launcher识别本地引擎文件1.打开Epic Games Launcher点击添加新版本UE_4.14,会创建UE_4.14文件夹并下载。2.停止下载,拷贝你已经下载好的虚幻4版本到Launcher目录,比如“D:\Program Files (x86)\Epic Games”3.点击继续下载。...
2016-12-14 15:10:23
30278
4
原创 UE4中动画优化与压缩
动画优化1.共享动画每个 动画序列 资源指向一个特定的骨架,且仅可以在那个骨架上进行播放。这意味着,为了在多个骨架网格物体间共享动画,所有网格物体都必须使用同样的骨架资源。2.动画压缩····Automatic:尝试其他一系列压缩算法并且选择在可配置误差范围内的压缩文件的最小结果Bitwise Compress Only:仅按位进行动画压缩,不会对关键帧进行减除。Lea
2016-12-13 15:52:42
5242
转载 C++函数模板 模板实例化、具体化
C++函数模板 模板实例化、具体化 函数模板是C++新增的一种性质,它允许只定义一次函数的实现,即可使用不同类型的参数来调用该函数。这样做可以减小代码的书写的复杂度,同时也便于修改(注:使用模板函数并不会减少最终可执行程序的大小,因为在调用模板函数时,编译器都根据调用时的参数类型进行了相应实例化)。下面来看看函数模板的使用过程:struct job{ char name
2016-11-30 21:19:30
826
原创 UE4中自定义的碰撞几何体使用注意事项
简单的碰撞几何体对于优化游戏中的碰撞检测是很重要的。虚幻引擎4在 静态网格物体编辑器 中提供了创建碰撞几何体的基本工具。但是,某些时候,最好还是通过在您的3D建模应用程序中创建自定义的碰撞几何体然后再将其随同渲染网格物体导出来进行处理。一般,这适用于任何不需要和具有开放区域或凹陷区域的网格物体进行碰撞的对象。比如:Doorway(门口)网格物体具有窗框的墙壁。
2016-11-30 17:22:04
22706
1
转载 C++文件读写详解(ofstream,ifstream,fstream)
目录(?)[-]状态标志符的验证Verification of state flags获得和设置流指针get and put stream pointers二进制文件缓存和同步Buffers and Synchronization在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后
2016-11-29 11:56:10
958
原创 UE4项目工程的目录结构
根目录Engine -包含了所有源代码,内容等,它们组成了整个引擎。Templates -在创建新项目 时的可用项目模板集合。GenerateProjectFiles.bat - 用来创建在Visual Studio中运行引擎和您的游戏所需的虚幻引擎4解决方案和项目文件。 请参照项目文件自动生成 获得更多详情。UE4Games.uprojectd
2016-11-28 19:23:10
18079
转载 C#设计模式(9)——装饰者模式(Decorator Pattern)
一、引言在软件开发中,我们经常想要对一类对象添加不同的功能,例如要给手机添加贴膜,手机挂件,手机外壳等,如果此时利用继承来实现的话,就需要定义无数的类,如StickerPhone(贴膜是手机类)、AccessoriesPhone(挂件手机类)等,这样就会导致 ”子类爆炸“问题,为了解决这个问题,我们可以使用装饰者模式来动态地给一个对象添加额外的职责。下面让我们看看装饰者模式。二、装
2016-11-24 19:34:17
457
原创 左值和右值
左值参数是可被引用的数据对象,例如变量,数组元素,结构成员,引用和解除引用的指针都是左值。非左值包括字面常量(用引号括起来的字符串除外,它们由地址表示)和包含多项的表达式。
2016-11-23 20:08:46
414
原创 const指针
const变量和常量都能赋给const指针一级间接关系非const指针可以赋给const指针二级及以上简介关系费const指针不能赋给const指针
2016-11-17 20:22:35
589
原创 PhysX APEX布料导入UE4中碰撞体失效的问题
关布料中的碰撞体(布娃娃)失效的问题困扰了很久,没办法只能用最笨的方法,从0开始加。加一个导UE4试试,然后再加,一个一个试。当测试碰撞体数大于16个时发现问题了,当一个布料文件中超过16个就会出现碰撞体失效的情况,但我老大说官网说是最多32个,但测试的结果确实是16个。比如我加了第17个,第17个有效的话,前16个中某一个就会失效。超过的的越多失效的越多,但不一定是一对一的关系。比如我做
2016-11-15 17:25:24
7165
原创 C/C++字符函数库cctype
控制字符:控制字符(Control Character),出现于特定的信息文本中,表示某一控制功能的字符。在ASCII码中,第0~31号及第127号(共33个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等。打印字符:能够输出的字符叫打印字符。例如:回车
2016-11-12 16:12:53
693
转载 visual c++中stdafx.h的作用以及原理
摘要: visual c++ 中的stdafx.h头文件的作用stdafx.hVC工程里面经常见到stdafx.h这个头文件,以前也没有特别注意,但是这个文件用不好经常会出错,所以就GOOGLE了一下,总算是弄清楚了。。。stdafx的英文全称为:Standard Application Framework Extensions(标准应用程序框架的扩展)。所谓头文件预编译,
2016-11-12 15:53:51
691
原创 cin,cin.get()的区别
相同:cin和cin.get()都是在回车后才将输入从缓冲发给程序。不同:cin将忽略输入中的空格和换行符,而cin.get()则不会忽略 空格,制表和换行符。
2016-11-12 10:35:51
1466
转载 关于联合体union的详细解释
1.概述联合体union的定义方式与结构体一样,但是二者有根本区别。在结构中各成员有各自的内存空间,一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间,一个联合变量的长度等于各成员中最长的长度。2.联合体长度在The C Programming Language里面讲述union内存分配的原话是1)联合体就是一个结构
2016-11-09 14:51:09
2330
转载 vector中insert()的用法详解
iterator insert( iterator loc, const TYPE &val ); void insert( iterator loc, size_type num, const TYPE &val ); void insert( iterator loc, input_iterator start, input_iterator end ); insert() 函
2016-11-08 19:09:40
1580
原创 PhysX For Autodesk 3dMax 2016 64下载
2009年3月26日,美国加利福尼亚州旧金山市—游戏开发人员大会(GDC),NVIDIA正式发布了NVIDIA APEX。NVIDIA APEX是PhysX 技术开发软件开发包(SDK)中的一个全新功能,它能够为艺术家、游戏关卡设计师以及游戏开发人员提供一套易于使用的工具。得益于此类工具,基于多种平台的下一代游戏中可扩展的物理效果都将得以更为流畅得实施。 凭借NVIDIA PhysX技术
2016-11-07 12:00:12
9519
原创 C/C++使用strcpy报错解决方案
strcpy函数的拷贝不能保证拷贝的安全性,有溢出风险。解决方案1使用strcpy_s代替,但此函数有三个参数,中间的参数需要制定拷贝长度。strcpy_s(p,80,temp);解决方案2使用预编译宏去掉警告项目--属性--配置属性--C/C++--命令行添加:D/ _CRT_SECURE_NO_WARNINGS 解决方案3main前面加上
2016-11-05 12:13:56
11001
1
Windows程序设计源代码
2017-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅