自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 初识lua协同程序

协程类似与线程,但与线程不同,线程可以多个线程同时运行,但是协程需要彼此协作的运行,一个具有多个协程的程序任意时刻只能运行一个协程,并且在运行协程只会在其显示地要求挂起时,才会暂停。一个协程有4种不同的状态:挂起,运行,死亡和正常。创建一个协程时,他处于挂起状态。coroutine.status(co)检查协程的状态coroutine.resume(co)用于启动或再次启动一个协程的执行,将其由挂...

2018-02-23 10:22:15 201

原创 C++构造函数能否是虚函数的问题

连着两天,都被问到了这个问题,感觉自己理解的都是有偏差的。所以我觉得我有必要总结一下了。1.存储的角度:构造函数不能是虚函数。因为虚函数是由一个虚函数列表维护的,如果一个构造函数是虚函数,这个虚函数列表还没有被创建出来,所以是有问题的。2.使用的角度:父类和子类出现同名虚函数称为覆盖    父类指针=new 子类名(...);父类指针->函数名(...);//调用子类的虚函数。而构造函数是

2018-02-09 11:32:13 1156 1

原创 Unity Shader学习(六)---详谈深度纹理和法线纹理

深度纹理和法线纹理上进行采样等操作,会使物体不受外部光照因素影响,保存的是当前渲染物体的真实信息,类似于边缘检测等会更可靠。深度纹理:就是一张渲染纹理,只不过它里面存储的像素值不是颜色值,而是一个高精度的深度值。这些深度值来自于顶点变换后得到的归一化的设备坐标(NDC)。变换到NDC时,z坐标是从-1 , 1之间。为了可以存储在一张图中,我们将其转换:d = 0.5 *Zndc + 0.5。d

2018-02-05 18:04:15 595

原创 Unity Shader学习(七)---bloom效果

(一)bloom效果(全屏泛光)的基本原理先了解HDR技术:就是用有限的高度分布模拟更高范围的高亮度分布,实现这样的功能的技术叫做色调映射技术(Tone Mapping)。Tone Mapping计算像素的亮度:Lum(P) = 0.27R + 0.67G + 0.06BLscale(x,y) = a * Lum(x,y)/Lumave---Lumave平局亮度Lfinal =

2018-02-05 16:16:17 569

原创 迷宫问题

struct Postion{    int _X, _Y;    Postion(){}    Postion(int X, int Y)        : _X(X), _Y(Y){}};bool isCanGo(const int prePosValue,             const int posX,             const

2018-01-30 14:19:01 152

原创 lua基础的关键点

(一)lua虚拟机Lua体积很小,往往使用静态链接嵌入到程序内部,在发布应用时不需要附带任何的运行时支持。通过luaL_newstate 创建Lua虚拟机时,第一块申请的内存将用来存储global_State(全局状态机)和lua_State(主线程)实例。为了避免内存碎片的产生,同时减少内存分配和释放的次数,Lua采用了一个小技巧:利用一个LG结构,把分配lua_State和global...

2018-01-29 19:03:54 309

原创 一些常见问题

1 粒子系统都有需要哪些?发射器:发射器形状,初始的发射方向(转向)粒子属性:材质,颜色,速度,生命周期,力场渲染:底层如何渲染2 更新系统安全性问题?MD5码网络劫持:HTTPS可以解决。HTTPS增加了SSL协议,SSL依靠证书来验证服务器的身份,并确保建立的安全链接。HTTPS两种用途:(1)建立安全的通道,保证安全性,(2)确保网站的安全性3.透明度:透明度测试:根据深度值去判断,不符合的...

2018-01-26 11:55:26 285

原创 Unity Shader学习(六)---高级渲染

(一)非真实感渲染(1)卡通风格渲染基于色调的着色技术:使用漫反射系数对一张以为纹理进行采样,以控制漫反射的色调。渲染轮廓线:基于观察角度和表面法线的轮廓线渲染:使用视角方向和表面法线的点乘结果来得到轮廓线的信息。在一个Pass中但效果不好。过程式几何轮廓线渲染:第一个Pass渲染背面的面片,并使用某些技术让它的轮廓可见;第二个Pass再正常渲染正面的面片。该方法适用于大不多表

2018-01-24 16:05:11 587

原创 Unity Shader学习(五)---动画与屏幕特效

(一)Unity内置的时间_Time float4 t是自游戏开始所经过的时间,(t/20,t,2t,3t)_SinTime float4 t是时间的正弦值 (t/8,t/4,t/2,t)_CosTime float4 t是时间的余弦值 (t/8,t/4,t/2,t)unity_DeltaTime float4 dt是时间增量 (dt,1/dt,smoothDt,1/smoothD

2018-01-17 16:28:29 742

原创 lua源码解析

(一)概述:lua核心部分仅包括lua虚拟机的运转。lua虚拟机的行为是由一组组opcode控制的。这些opcode定义在lopcodes.h及lopcodes.c中。而虚拟机对opcode 的解析和运作在lvm.c中,其API以luaV为前缀。lua虚拟机的外在数据形式是一个lua_State结构体,取名State大概意为 Lua虚拟机的当前状态。全局State引用了整个虚拟机的所有数据。这

2018-01-16 17:05:50 2874

原创 引擎一些基础知识的理解

与项目有关的1.三角函数和幂指数的优化主要是创建一个表,每一次都是一个查表的过程,可能会有精度的问题。2.进入游戏的时候就会把网络模块启动,并且是和主线程并行的基础的知识点:3.可编程管线的流程:从顶点着色器到片元着色器。顶点着色器的输入信息来自CPU,处理的单位是顶点,主要完成的是坐标变换和逐顶点光照。 顶点着色器是从模型空间到裁剪空间的的变换;将输出的信息传递给片元着色器,片元

2018-01-16 16:41:51 275

原创 Unity Shader学习(四)---透明效果

(一)透明效果是什么呢?渲染中实现透明效果,通常会在渲染模型时控制它的透明通道。对于不透明的物体,不考虑渲染顺序也能得到正确的排序效果,这是由于强大的深度缓冲的存在(z-buffer)。实时渲染中,深度缓冲是用于解决可见性的问题。因此实现透明效果的时候需要关闭深度缓冲。透明度测试:当片元的透明度不满足条件,对应的片元就会被舍弃。被舍弃的片元就不会做任何处理。因此透明度测试是不需要关闭深度写

2018-01-14 19:47:12 555

原创 Unity Shader学习(三)---纹理

纹理映射技术就是把一张图粘贴在模形的表面上(一)用一张纹理来代替物体的漫反射颜色 // Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'// Upgrade NOTE: replac...

2018-01-11 18:32:56 729

原创 Unity Shader学习(二)---光照的问题

(一)基本的物理知识光学中用辐照度来量化光。光线由光源发射出来以后会与一些物体相交,结果为散射或者吸收。散射分为折射和透射。为了区分不同的散射方向,在光照模型中用不同的部分计算:高光反射和漫反射。着色指的是根据材质属性(如漫反射属性等),光源信息(如光源方向、折射度),使用一个等式去计算沿某个观察方向的出射度的过程,我们也把这个等式称为光照模型。(1).环境光:环境光模拟间接光照。

2018-01-09 16:19:18 2385

原创 Unity Shader学习(一)

一 Unity Shader分为:(1)Standard Surface Shader:会产生一个包含标准光照模型的表面着色器(2)Unlit Shader :会产生一个不包含光照但包含雾效的基本顶点/片元着色器 (3)Image Effect Shader:为实现各种屏幕后处理效果提供了一个基本模版(4)Compute Shader:会产生一种特殊的Shader文件,这类Shad

2018-01-08 12:17:45 301

转载 安卓onKeyDown事件

//监听手机屏幕上的按键    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        if (keyCode == KeyEvent.KEYCODE_BACK) {            //如果点击的是后退键  首先判断webView是否能够后退            //如果点

2017-12-12 18:37:29 250

原创 tinker的学习

年初用了很长时间来学习tinker,并且与现在项目里的更新进行了对比与分析。项目里面的更新其实已经做的很完善了,不过tinker可以更新java代码这个真的很厉害,于是就好好的研究了一下,今天有空,刚好可以复习和总结一下。https://juejin.im/post/589736ad570c350062426974http://w4lle.com/2016/12/16/tinker/h

2017-12-11 20:29:22 329

原创 1086. Cryptography 打印素数表

1086. CryptographyWhile preparing this problem set the jury has run into the following problem: it was necessary to send by e-mail the texts of the problems. As it is well known, e-mail is not relia

2017-11-08 15:40:37 269

原创 Gaby Ivanushka

这道题就是快排的变形#includeusing namespacestd;void quickSort(int a[],int,int);int main(){    int array[]={34,65,12,43,67,5,78,10,3,70},k;    int len=sizeof(array)/sizeof(int

2017-11-08 11:30:57 169

转载 Mount

本质上,Ext3 mount的过程实际上是inode被替代的过程。例如,/dev/sdb块设备被mount到/mnt/alan目录。那么mount这个过程所需要解决的问题就是将/mnt/alan的dentry目录项所指向的inode屏蔽掉,然后重新定位到/dev/sdb所表示的inode索引节点。在没有分析阅读linux vfs mount代码的时候,我的想法是修改dentry所指向的inode索

2017-11-01 17:44:33 226

原创 1079. Maximum

1079. MaximumTime limit: 2.0 secondMemory limit: 64 MBConsider the sequence of numbers ai, i = 0, 1, 2, …, which satisfies the following requirements:a0 = 0a1 = 1a2i = aia2i+1 = ai + ai+

2017-10-11 16:35:31 260

原创 1068. Sum Time limit

1068. SumTime limit: 2.0 secondMemory limit: 64 MBYour task is to find the sum of all integer numbers lying between 1 and N inclusive.InputThe input consists of a single integer N that is no

2017-10-11 16:13:00 132

原创 1044. Lucky Tickets. Easy!

1044. Lucky Tickets. Easy!Time limit: 2.0 secondMemory limit: 64 MBBackgroundThe public transport administration of Ekaterinburg is anxious about the fact that passengers don’t like to pay for

2017-10-11 15:43:59 370

原创 1025. Democracy in Danger

1025. Democracy in DangerTime limit: 1.0 secondMemory limit: 64 MBBackgroundIn one of the countries of Caribbean basin all decisions were accepted by the simple majority of votes at the genera

2017-10-11 10:14:53 264

原创 1020. Rope

1020. RopeTime limit: 1.0 secondMemory limit: 64 MBPlotters have barbarously hammered N nails into an innocent plane shape, so that one can see now only heads. Moreover, pursuing their mean obje

2017-10-10 19:26:57 214

原创 1014. Product of Digits

1014. Product of DigitsTime limit: 1.0 secondMemory limit: 64 MBYour task is to find the minimal positive integer number Q so that the product of digits of Q is exactly equal to N.InputThe i

2017-10-10 18:48:24 305

原创 1005. Stone Pile 背包问题 动态规划

You have a number of stones with known weights w1, …, wn. Write a program that will rearrange the stones into two piles such that weight difference between the piles is minimal.InputInput co

2017-10-10 14:40:19 1036

原创 1002.Phone Numbers

In the present world you frequently meet a lot of call numbers and they are going to be longer and longer. You need to remember such a kind of numbers. One method to do it in an easy way is to assign

2017-10-09 17:37:45 368

原创 1001. Reverse Root

/*1001. Reverse RootTime limit: 2.0 secondMemory limit: 64 MBThe problem is so easy, that the authors were lazy to write a statement for it!InputThe input stream contains a set of integer nu

2017-10-09 15:50:59 305

原创 Unity资源加载的一些问题

Unity小白,决定开始一点点积累一些相关知识。

2017-08-02 10:15:20 1743

转载 C++面试基础

各种二进制的本质:原码:将一个整数,转换成二进制,就是其原码。如单字节的5的原码为:0000   0101;-5的原码为1000 0101。 反码:正数的反码就是其原码;负数的反码是将原码中,除符号位以外,每一位取  反。如单字节的5的反码为:0000 0101;-5的反码为1111 1010。    补码:正数的补码就是其原码;负数的反码+1就是补码。如单字节的5的补码为

2017-03-28 22:31:47 229

原创 tolua++的一些想法

http://www.runoob.com/lua/lua-metatables.htmltolua 和 tolua++的区别:tolua++是tolu a的扩展,他实现了一些toua没有的特性,比如多重继承,std::string等,新版的tolua也很老了,大概是2012年更新的吧,新版的tolua支持了类模版。tolu a++更是多年不更新,大概是2009年左右更新的吧,只支持l

2017-03-20 23:59:11 702

转载 c++free delete

1.malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。 2.对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于m

2017-03-17 22:28:56 248

空空如也

空空如也

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

TA关注的人

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