- 博客(214)
- 资源 (139)
- 收藏
- 关注
转载 Unity进阶技巧 - RectTransform详解
前言最近要做UI,有时候需要在代码中调整改变UI控件的属性,比如位置、大小等,然而在NGUI里面,控制UI控件的位置等属性的是RectTransform这个组件,这个组件继承自Transform组件,却增加许多自己的特性,在不了解这些特性的情况下鲁莽的去使用它,会导致出现很多匪夷所思的问题,而且使用起来也不够得心应手,于是决定研究一下RectTransform到底是如何工作的你将学得到什么?什么是Pivot 什么是Anchor 如何结合使用Pivot和Anchor来调整UI 了解RectT
2020-05-20 21:34:04
522
转载 投影矩阵的推导(Deriving Projection Matrices)
本文乃<投影矩阵的推导>译文,原文地址为: http://www.codeguru.com/cpp/misc/misc/math/article.php/c10123__1/Deriving-Projection-Matrices.htm,由于本人能力有限,有译的不明白的地方大家可以参考原文,谢谢^-^! 译者: 流星上的潴 如需转载,请注明出处,感谢! 在3D图形程序的基本矩阵变换中,投影矩阵是其中比较复杂的。平移和...
2020-05-19 12:26:34
522
1
转载 矩阵及变换,以及矩阵在DirectX和OpenGL中的运用问题:左乘/右乘,行优先/列优先,..
(一)首先,无论dx还是opengl,所表示的矢量和矩阵都是依据线性代数中的标准定义的:“矩阵A与B的乘积矩阵C的第i行第j列的元素c(ij)等于A的第i行于B的第j列的对应元素乘积的和。”(实用数学手册,科学出版社,第二版)例如c12 = a11*b11+a12*b21+a12*b13...(二)在明确了这一点后,然后我们再看“矩阵的存储方式”,矩阵存储方式有两种,一种是“行主序(row-major order)/行优先”,另一种就是“列主序(column-major order)/列优先”1)D
2020-05-19 11:26:43
2254
原创 opengl shaer book
https://thebookofshaders.com/https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books.md#spock-framework
2020-05-13 11:18:15
149
转载 Unity Shader-渲染队列,ZTest,ZWrite,Early-Z
简介在渲染阶段,引擎所做的工作是把所有场景中的对象按照一定的策略(顺序)进行渲染。最早的是画家算法,顾名思义,就是像画家画画一样,先画后面的物体,如果前面还有物体,那么就用前面的物体把物体覆盖掉,不过这种方式由于排序是针对物体来排序的,而物体之间也可能有重叠,所以效果并不好。所以目前更加常用的方式是z-buffer算法,类似颜色缓冲区缓冲颜色,z-buffer中存储的是当前的深度信息,对于每个...
2020-05-07 14:15:58
323
转载 Unity3d shader中Queue 使用渲染队列进行深度排序
为了让我们真正明确透明度。我们须要了解一下深度排序。或者说,对象的绘制顺序。Unity同意我们控制一个特定对象绘制到屏幕上的顺序,因此我们能够更好地控制哪些对象应该覆盖在其它对象上。你能够把绘制顺序理解成Photoshop中的图层的概念。在处理透明度或者相似界面对象的元素时。绘制顺序尤其重要。本篇将会解说怎样使用Unity内置的标签(tags)来利用这个分层化的方法去渲染你的对...
2020-05-07 11:54:19
801
转载 c#中关于协变性和逆变性(又叫抗变)帮助理解
今天回忆了之前看的《深入理解C#》这本书中的泛型章节,其中对泛型的可变性的理解。泛型可变性分两种:协变和逆变。逆变也又称为抗变。 怎么理解这两个名词的意思: ①:协变即为在泛型接口类型中使用out标识的类型参数。协变的字面意思是“与变化的方向相同”②逆变那就是用in来标识的泛型接口类型的类型参数。逆变的字面意思是“与变化的方向相反” 需要注意的是无论是协变还是逆变也只能在泛型接口中...
2020-05-05 10:23:05
296
转载 golang ----rune数据类型
golang ----rune数据类型查询,官方的解释如下: 1 2 3 4 5 6 7 // rune is an alias for int32 and is equivalent to int32 in all ways. It is // used, by convention, to distin...
2020-04-28 15:35:58
327
转载 Js中async/await的执行顺序详解
前言虽然大家知道async/await,但是很多人对这个方法中内部怎么执行的还不是很了解,本文是我看了一遍技术博客理解 JavaScript 的 async/await(如果对async/await不熟悉可以先看下这篇文章)后拓展了一下,我理了一下await之后js的执行顺序,希望可以给别人解疑答惑,先简单介绍一下async/await。async/await 是一种编写异步代码的新方法。...
2020-04-28 11:06:16
1644
5
转载 CustomEditor命令(特性)
当我们需要为一个组件添加自己自定义的编辑器内容时,需要用到这个特性:CustomEditor,语法如下:1、publicCustomEditor(TypeinspectedType);2、publicCustomEditor(TypeinspectedType, booleditorForChildClasses); bool editorForChildClasses可以让...
2020-04-27 11:40:52
2537
原创 uniy3d学习笔记
1.在project视图的右侧拓展自定义按钮EditorApplication.projectWindowItemOnGUI : 委托用于OnGUI事件在项目窗口每个可见列表项。
2020-04-22 19:51:17
358
原创 windows一些命令
1.查看windows电脑上当前有哪些服务:可以使用win+R打开窗口,再输入services.msc,在打开的服务窗口中显示当前系统的所有服务及状态
2020-04-15 20:22:48
334
原创 PWN练习网站
1.什么是PWFCTF比赛主要表现以下几个技能上:逆向工程、密码 学、ACM编程、Web漏洞、二进制溢出、网络和取证等。在国际CTF赛事中,二进制溢出也称之为PWN。PWN是一个黑客语法的俚语词,自"own"这个字引申出来的,这个词的含意在于,玩家在整个游戏对战中处在胜利的优势,或是说明竞争对手处在完全惨败的 情形下,这个词习惯上在网络游戏文化主要用于嘲笑竞争对手在整个游戏对战中已经完全被...
2020-04-10 08:47:50
2602
转载 lua动态链接库(luaopen_*函数的使用)
lua中使用c动态库,像luacjson(支持unicode),luasocket,都是以动态链接库的形式在lua中使用的,至于怎么写这些动态链接库很少有教程说到,下面我就说说如何把c文件编译成动态库。首先,假设需要在lua中调用一个在c中实现的求和函数,函数名add(a,b)。我给这个测试库取名为dylib,它包含一个函数add。lua中这样使用: local dylib = req...
2020-04-09 17:05:28
1826
原创 makefile中的makefile变量与shell变量的区别
在linux的Makefile中,经常会见到$var和$$var的形式。下面就这两种表示方法的区别进行简单的概述。在Makefile中的规则命令行中:$var:将Makefile中的变量var的值,传给shell命令。$$var:访问shell命令中定义的变量var。经典示例代码如下所示:var=3 # atarget: echo ...
2020-04-08 11:55:47
786
原创 lua笔记
Lua中的字符串通常表示“一个字符序列”。Lua完全采用8位编码。Lua的字符串是不可变的值。不能像C语言中那样直接修改字符串的某个字符,而是应该根据修改要求来创建一个新的字符串。Lua的字符串和其它对象都是自动内存管理机制所管理的对象,不需要担心字符串的内存分配和释放。在Lua中,字符串可以高效的处理长字符串。当字符串是多行存在时,可以使用“[[]]”符号来界定一个多行字符串,同时,Lua...
2020-03-26 17:06:47
4396
转载 多种SOKECT通讯模型的理解(select,WSAAsyncSelect,WSAEventSelect,Overlapped I/O 事件通知,Overlapped I/O 完成例程,IOCP)
老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。他们的信会被邮递员投递到他们的信箱里。 这和Socket模型非常类似。下面我就以老陈接收信件为例讲解SocketI/O模型。 一:select模型 老陈非常想看到女儿的信。以至于他每隔10分钟就下楼检查信箱,看是否有女儿的信,在这种情况下,“下楼检查信箱”然后回到楼上耽误了老陈太多的时间,以至于老陈无法做其他工作。 s...
2020-03-26 15:20:50
553
转载 最准确的理解同步/异步,阻塞/非阻塞
网上流传着一个小故事来介绍同步/异步,阻塞/非阻塞的概念相信不少同学都看过,(普通水壶,简称水壶;会响的水壶,简称响水壶)。具体如下:同步阻塞:小明把水壶放到火上,然后在那傻等水开同步非阻塞:小明把水壶放到火上,然后去客厅看电视,时不时的去厨房看看水开没有异步阻塞:小明把响水壶放到火上,然后在那傻等水开异步非阻塞:小明把响水水壶放到火上,去客厅看电视,水壶响之前不再去看它了,响...
2020-03-26 15:09:05
464
1
转载 理解同步、异步、阻塞和非阻塞
关于同步、异步、阻塞和非阻塞这个概念性问题,这可能是非常容易混淆的概念之一,特别是那些刚开始解除网络编程的人来说。本篇文章争取来说清楚这个问题,如果有错误之处,恳请批评指正。写在前面首先大家心中需要有以下的清晰认知:阻塞操作不等于同步(blocking operation does NOT equal to synchronous) 非阻塞操作不等于异步(non-blocking o...
2020-03-26 14:43:37
417
转载 unix IO模型
在之前的文章《理解同步、异步、阻塞和非阻塞》我们谈了一下关于同步、异步、阻塞和非阻塞的理解。这篇文章,我打算来谈谈unix的io模型,其中会涉及到下面的内容:阻塞 I/O(blocking IO) 非阻塞 I/O(nonblocking IO) I/O 多路复用( IO multiplexing) 异步 I/O(asynchronous IO) 信号驱动式IO模型(signal-dri...
2020-03-26 14:37:22
437
转载 Select、poll、Epoll、KQueue区别
在早期的文章《unix IO模型》中我们介绍了5种IO模型,如下图是几种IO模型的对比几种IO模型的对比从上面的图可以看出,从左到右,越往后,阻塞越少,理论上效率也就越优。其中Select对应的是第三种IO模型:I/O Multiplexing IO多路复用模型,而epoll与kqueue其实和Select一样也属于I/O Multiplexing IO多路复用模型,只是相比于se...
2020-03-26 14:35:55
2288
转载 Mac homebrew 的安装和 brew 命令的使用
Homebrew 是 mac 下的包管理器,基于命令行模式,使用命令brew管理软件。类似 ubuntu 下的 apt-get 、fedora 下的 yum。Homebrew 的官方地址:https://brew.sh/。安装 brew 命令打开mac的终端软件,输入下面的内容,然后回车:/bin/bash -c "$(curl -fsSL https://raw.gith...
2020-03-25 10:55:51
1225
原创 javascript宏任务与微任务笔记
https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/?utm_source=html5weekly
2020-03-25 10:25:36
151
转载 Tasks, microtasks, queues and schedules
Posted 17 August 2015 - hold onto your butts for this one, it's spec-heavyWhen I told my colleagueMatt GauntI was thinking of writing a piece on microtask queueing and execution within the browser...
2020-03-25 10:22:22
580
转载 js 宏任务和微任务 promise
1.概念:宏任务(macrotask )和微任务(microtask) 表示异步任务的两种分类。常见宏任务:I/O 、setTimeout、setInterval;微任务:Promise.then catch finally、process.nextTick在挂起任务时,JS 引擎会将 所有任务 按照类别分到这两个队列中,首先在 macrotask 的队列(这个队列也被叫做 task q...
2020-03-25 09:56:56
1039
原创 cocos creator渲染笔记
cocos creator2.0以上的版本对之前的渲染流程进行了优化,根据渲染renderTag,使用查表法进行渲染数据的更新.creator中渲染组件都要继承cc.RenderComponent,这个是渲染组件的基类,如果要自定义渲染组件,需要重写cc.RenderComponent的_resetAssembler 及_activeMaterial 方法,_resetAssembler 在组...
2020-03-24 16:55:25
1127
转载 CocosCreator2.1.0渲染流程与shader
CocosCreator2.1.0版本正式支持导入3D模型对于2.5D游戏的开发来说有着重要意义自己此前在写捕鱼游戏时了解过自定义shader并实现了4种不同的水波效果但经过CocosCreator版本的不断升级尤其是1.10和2.0两个版本旧的渲染器被抛弃了因此老的shader特效也全都不能用了直到最近正好有时间,花了几天把原先写的特效升级到了最新的2.1.0版本...
2020-03-23 19:45:06
899
转载 Cocos Creator v2.2 自定义渲染组件及材质介绍
Cocos Creator v2.2 已于 10 月 18 日正式发布,该版本对原生平台进行了大幅性能优化,同时在引擎层面也做了不少改动,包括 3D 模型渲染合批、大幅增强 TiledMap 支持等等,详细的版本改动可[点击这里]查看。此外,Cocos Creator 2.2 版本基本同步了 Cocos Creator 3D 的材质系统,新版本的材质系统已趋于稳定,可以很方便地在编辑器中进...
2020-03-23 19:44:12
1354
转载 CreatorPrimer|2.x的渲染初探
Shawn之前只是从感性的一面了Cocos Creator 2.0在性能更好,增加部分3D效果的支持,同时API有一些变化。随着对Cocos Creator 2.x的实践,以及引擎组大神们的指导,对Cocos Creator 1.x和2.x有了新的了解和认识,在此将这次学习内容与大家分享。1. 1.x与2.x的渲染区别Cocos Creator 1.x 是在cocos2d-js基础上增加了...
2020-03-23 19:43:08
295
转载 Cocos Creator 资源加载流程剖析【二】——Download部分
Download流程的处理由Downloader这个pipe负责(downloader.js),Downloader提供了各种资源的“下载”方式——即如何获取文件内容,有从网络获取、从磁盘获取,不同类型的资源在不同的平台下有不同的获取方式。比如脚本在原生平台使用require方法获取,而在H5平台则使用动态添加的 <script> HTML标签,指定src进行加载。 又比...
2020-03-20 11:05:30
1626
原创 写javascript代码时的一些优化方式
1.javascript中的原型查找比较耗时,如果项目中使用object只是做为一个字典或者单例,不用使用原型对象时,尽量将原型对象设置为null,如果有原型对象,并且确定某个属性是在子类中,可以使用object.hasownProperty判断属性是否存在....
2020-03-20 09:54:08
168
转载 Instruments 之 Energy Log
对于生活离不开手机的我们来说,手机的电量就是一条重要的生命线,一般来说,当电量低于 20% 的时候,我们的心总是那么揪着。作为一个开发者来说,我们应该为用户的手机省电,让用户有限的电量能够更长时间的使用我们开发的 APP,对用户,对我们开发者来说是两全其美的方案。所以 APP 的电量消耗也应该是性能优化的点。案例还是以 raywenderlich 的 Catstagram APP 作为分析...
2020-03-18 11:12:55
1388
转载 iOS开发:对于Xcode的Open Developer Tool中常用功能使用的总结
整理一下Xcode菜单栏里面Open Developer Tool里面的功能,这里只介绍常用的几个功能的使用,剩余没有介绍到的功能模块请自行脑补。。。根据Open Developer Tool菜单栏里面显示的从上到下的顺序开始介绍,请按顺序阅读即可。一、Instruments工具Instruments工具是iOS性能优化工具。对于程序员来说,程序代码性能是个老生常谈的话题,随着程序项目...
2020-03-18 10:17:06
524
转载 tolua++实现分析
项目正在使用cocos2dx的lua绑定,绑定的方式是tolua++。对大规模使用lua代码信心不是很足,花了一些时间阅读tolua++的代码,希望对绑定实现的了解,有助于项目对lua代码的把控。从阅读结果上来看,起码在内存管理上,帮助还是很大的。1.tolua++如何将c++对象导入到lua里tolua++为每一个传入lua的对象建立一个userdata,userdata的值,是c++对...
2020-03-17 15:44:33
370
转载 tolua++ 源码分析
tolua++ 源码分析图中的黑色表示lua table,灰色表示userdata,浅灰=》light userdata,绿色=》内存tips:1, lua里的userdata是一块内存(lua_newuserdata时指定体积),有metatable,但是doesn't have any key。所以,每次访问一个usrdata,都一定是到它的metatable里找的。...
2020-03-17 15:32:11
724
转载 lua——userdata使用
userdata说明:0、Lua中使用userdata类型来表示在C中定义的类型。userdata只是提供了一块原始的内存区域,可以用来存储任何东西,并且,在lua中userdata没有任何预定义的操作。在C中调用函数lua_newuserdata会根据指定的大小分配一块内存,并将相应的userdata压入栈中,最后返回这个内存块的地址:void *lua_newuserdata(lua_St...
2020-03-17 10:09:42
2049
转载 Lua Userdata 的元表 (Metatable)
在Lua C API编程上,经常有一些博客会说,必须使用luaL_newmetatable和luaL_setmetatable来给userdata加元表。还说给userdata加的元表不是普通的table。于是本着不信邪的态度,我翻了一下源码并自己尝试写了一些测试。普通的表能做userdata的元表么对于这个问题,我觉得是可以的,因为Lua中只有这一种数据结构,不存在什么特别的表。cla...
2020-03-17 10:06:41
1196
转载 lua: userdata的metatable使用
1 如何封装c++的指针对于c++对象的lua包装,我们可以使用template<typename T>struct luaUserdataWrapper{luaUserdataWrapper() {}luaUserdataWrapper(const T& d) : data(d) {}T data;};class CObj...
2020-03-17 09:58:22
618
转载 tolua++实现分析
项目正在使用cocos2dx的lua绑定,绑定的方式是tolua++。对大规模使用lua代码信心不是很足,花了一些时间阅读tolua++的代码,希望对绑定实现的了解,有助于项目对lua代码的把控。从阅读结果上来看,起码在内存管理上,帮助还是很大的。1.tolua++如何将c++对象导入到lua里tolua++为每一个传入lua的对象建立一个userdata,userdata的值,是c++对...
2020-03-16 15:24:32
232
转载 我所理解cocos2d-x 3.6 lua -- Cocos如何绑定Lua自定义类
cocos2d-x 2.x 与 cocos2d-x 3.x 差异(tolua++)cocos2d-x在2.x版本里就是用toLua++和.pkg文件这么把自己注册进Lua环境里的,然而从cocos2d-x 3.x开始,用bindings-generator脚本代替了toLua++。bindings-generator脚本的工作机制是:1、不用编写.pkg...
2020-03-13 17:38:57
411
PyQt4-4.11.4-cp27win32
2017-10-25
mangos源码(游戏服务器端程序框架)
2017-10-12
JAVA反编译和逆向工程技术
2017-10-12
cocos2dx Texturepacker打包的大图
2017-10-24
Unity3D人工智能编程精粹
2017-10-20
cocos creator shader
2018-07-17
我所理解的Cocos2d-x
2017-11-22
Game AI Pro 2 Collected Wisdom of Game AI Professionals.pdf
2018-02-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅