自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Last Order

最后之作

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

原创 《Unity Shader入门精要》读书笔记第十章——面片朝向相机

在做游戏的时候,有时候会出现很多道具在场景之中如果用3D建模去实现,会比较耗性能这个时候通常做的就是,用2D面片实现3D效果,让正面一直朝向相机我们可以通过旋转物体来实现,也可以通过计算物体的屏幕坐标利用UI相机来实现,也可以通过shader来实现用shader实现的思想是这样的,通过重新建立物体的模型坐标系,使得z轴始终朝向相机就可以了问题在于x跟z轴如何确定通过脑补,我...

2019-04-19 16:15:18 1282

原创 《Unity Shader入门精要》读书笔记第九章——基于深度的运动模糊

基于深度的运动模糊运动模糊的基本实现就是连续一段时间的像素叠加在用后处理实现的时候,比较麻烦的就是拿世界坐标下的顶点信息然后再基于此,去计算点的速度矢量最后拿到矢量方向的一段时间的颜色信息,取平均值可以达到模糊效果思路很简单,主要难点是uv空间转换到世界空间首先是uv空间到齐次空间,这一步很简单,(uv.x*2-1,uv.y*2-1,depth*2-1)然后就是拿到齐次...

2019-03-31 20:04:13 292

原创 《Unity Shader入门精要》读书笔记第八章——bloom效果

本来想写一下伽马空间,hdr应用的最近时间似乎抓不住了挖的坑越来越多还是先写简单的Bloom光辉效果几乎是每个游戏都要用到的大概就是阳光明媚的中午,太阳穿过树叶,你此时抬头看,树叶跟光的那种效果有一种实现思路是把高斯模糊跟原色做一个简单的加法当然可能会觉得太亮了可以直接乘个系数,或者修改原色的亮度亮度公式0.2125 * color.r + 0.7154 * c...

2019-03-25 01:11:30 342

原创 《Unity Shader入门精要》读书笔记第七章——运动模糊

这个系列主要是通过阅读《Unity Shader入门精要》之后的一些感想,给读者一些启发。联系邮箱:[email protected]最近事情有点多,总算抽出时间本来想接着高斯模糊实现景深的但是可能写不完。。先写个运动模糊吧。。。运动模糊就是物体在移动的时候加上模糊效果比如赛车在加速的时候可能需要加点模糊的效果表示很快有一种很简单的做法就是不断叠加颜色,用alp...

2019-03-21 01:12:59 328

原创 《Unity Shader入门精要》读书笔记第六章——高斯模糊

这个系列主要是通过阅读《Unity Shader入门精要》之后的一些感想,给读者一些启发。联系邮箱:[email protected]在游戏屏幕后处理中,经常要用到模糊效果要达到模糊的效果基本上都可以通过降低图片分辨率来实现有时候要处理边缘过渡,最简单的就是取周围几个色块的颜色平均值但是平均值有个问题,因为考虑对一个点做模糊的时候,周围几个色块对它的影响应该跟距离成正关系...

2019-03-10 16:52:07 298

原创 lua深拷贝

有时候在lua里会用到深拷贝基本思路很简单,就是非table类型直接引用,table去做遍历但是在项目开发过程中有时候需要用到宿主程序的userdata这个就很蛋疼了查了一下,似乎没有针对userdata的深拷贝实现我有个想法,大概可以写一个工具把需要代理给lua的数据结构映射成一个索引table深拷贝的时候去拿这个索引做感觉似乎是可行的,如果项目有需要可以研究下f...

2019-03-03 10:47:52 997

原创 《Unity Shader入门精要》读书笔记第五章——Phong光照模型

这个系列主要是通过阅读《Unity Shader入门精要》之后的一些感想,给读者一些启发。联系邮箱:[email protected]在处理漫反射这件事情上基本上都是用兰伯特定律但是在处理镜面反射的时候,使用Phong模型效果也说得过去但是Phong是纯经验模型,没有物理依据主要是把出射光这一步计算省掉换成(视角向量+入射光向量).法线向量当然计算量是减少了,效...

2019-02-27 21:13:38 262

原创 《Unity Shader入门精要》读书笔记第四章——shadowmap实现影子

实现阴影的方法有很多介绍一种最简单的思路很简单,光被遮挡物挡住了就有了影子其实需要确定两个东西,遮挡物和投影区做法就是首先用一个相机,把遮挡物的render丢进去具体用layer mask也行,用command buffer也行,甚至用后处理也可以,反正丢进去就行把深度信息写到一张RT上,再丢到投影区的shader里,在片元里判断下是不是被挡住了就行这里主要注意一点,由...

2019-02-26 16:35:50 609

原创 lua简单实现一个类

众所周知lua是没有类的概念但是为了方便开发,可以使用table实现一个class看了下lua pureMVC的class实现因为是在工程中使用,写了很多关于安全的代码其实跟class本身的特性无关class的功能无非是:派生,继承所以实现这两个就行了另外安利一下VS code里的插件luaide确实挺好用的,才一百块钱买断function class(clas...

2019-02-23 17:47:59 1833

原创 《Unity Shader入门精要》读书笔记第三章——漫反射/镜面反射

这个系列主要是通过阅读《Unity Shader入门精要》之后的一些感想,给读者一些启发。联系邮箱:[email protected]光照模型有很多,大概分为两大类经验模型,物理模型,半经验半物理模型物理模型当然效果最好,但是开销比较大所谓经验模型就是总结简化公式,一般开销比较小,满足特定情况先来谈谈一种具体的光照模型,标准光照模型,也就是只考虑光最多一次反射的简化物理模型...

2019-02-18 00:53:20 393

原创 《Unity Shader入门精要》读书笔记第二章——shader调试

这个系列主要是通过阅读《Unity Shader入门精要》之后的一些感想,给读者一些启发。联系邮箱:[email protected]的调试并不方便,在Unity中可以打一个PC包,通过VS的图形调试工具进行断点。在ShaderLab代码的编写上,可以在VS的工具扩展中搜索到ShaderlabVSCode插件进行辅助。有时候,主要是在处理法线纹理跟光照模型的时候...

2019-02-14 00:34:41 409

原创 《Unity Shader入门精要》读书笔记第一章——shaderlab语义

这个系列主要是通过阅读《Unity Shader入门精要》之后的一些感想,给读者一些启发。联系邮箱:[email protected]是Unity结合CG和HLSL的一些语义,开发出来的可编程管线语言,主要优势是能基于Unity实现跨平台。整体上来看,跟脚本语言有些类似,例如CG外的部分大小写不敏感,不需要分隔符等等。所以,可以当成类似JavaScript学习,...

2019-02-07 09:38:26 614

转载 Why do hash functions use prime numbers?

https://computinglife.wordpress.com/2008/11/20/why-do-hash-functions-use-prime-numbers/  In a previous post i pointed out how questions posted in reward based discussions sites like stackoverflo...

2018-11-15 15:18:52 278

转载 投影矩阵的推导(Deriving Projection Matrices)

  本文乃<投影矩阵的推导>译文,原文地址为:        http://www.codeguru.com/cpp/misc/misc/math/article.php/c10123__1/Deriving-Projection-Matrices.htm,由于本人能力有限,有译的不明白的地方大家可以参考原文,谢谢^-^!        译者: 流星上的潴        如...

2018-11-10 11:15:26 21021 5

转载 ScrollRect裁剪ParticleSystem粒子(UGUI)(一)

UGUI的ScrollRect可以正确的裁剪包括Image,Text等UGUI自身的组件,但是不能正确裁剪ParticleSystem粒子,这给客户端和美术人员造成了很大麻烦,今天我们就通过修改shader的方式,解决裁剪问题环境搭建创建新的场景,添加ScrollView,并将子对象Viewport的Mask替换成Rect Mask 2D(重要) 创建UI摄像机,修改Projectio...

2018-11-08 14:13:52 1102

转载 Unity UI优化(三) - 优化UI控件

英文原文:https://unity3d.com/cn/learn/tutorials/topics/best-practices/optimizing-ui-controls本篇文章针对出现在特定类型UI控件上的问题进行讨论。UI文本Unity内置的Text组件可以很方便地用于在UI中显示栅格化的文本字形。但是,在使用Text时有很多大家不了解却又经常遇到的与性能相关的因素。当想...

2018-11-07 17:25:27 360

转载 深入理解 c#堆栈和托管堆

原文地址:http://blog.csdn.net/baoxuetianxia/archive/2008/11/04/3218913.aspx首先堆栈和堆(托管堆)都在进程的虚拟内存中。(在32位处理器上每个进程的虚拟内存为4GB)堆栈stack堆栈中存储值类型。堆栈实际上是向下填充,即由高内存地址指向低内存地址填充。堆栈的工作方式是先分配内存的变量后释放(先进后出原则)。堆...

2018-11-07 11:34:22 984

转载 数组、ArrayList、List、LinkedList的区别

一、数组数组在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单。1、一维数组声明一个数组:int[] array = new int[5]; 初始化一个数组:int[] array1 = new int[5] { 1, 3, 5, 7, 9 }; //定长声明并初始化:int[] array2 = { 1, 3, 5, 7, ...

2018-11-07 11:33:18 173

转载 装箱和取消装箱(C# 编程指南)

装箱是将值类型转换为 object 类型或由此值类型实现的任何接口类型的过程。 当 CLR 对值类型进行装箱时,会将该值包装到 System.Object 内部,再将后者存储在托管堆上。 取消装箱将从对象中提取值类型。 装箱是隐式的;取消装箱是显式的。 装箱和取消装箱的概念是类型系统 C# 统一视图的基础,其中任一类型的值都被视为一个对象。下例将整型变量 i 进行了装箱并分配给对象 o。C...

2018-11-07 11:32:04 555

转载 最牛B的编码套路

最近,我大量阅读了Steve Yegge的文章。其中有一篇叫“Practicing Programming”(练习编程),写成于2005年,读后令我惊讶不已:与你所相信的恰恰相反,单纯地每天埋头于工作并不能算是真正意义上的锻炼——参加会议并不能锻炼你的人际交往能力;回复邮件并不能提高你的打字水平。你必须定期留出时间,集中锻炼,这样才能把事情做得更好。我认识很多杰出的程序员——这是在亚马逊...

2018-08-04 14:34:56 280

原创 利用深度法线进行描边

思想:深度法线不一样则描边Shader "testShader/outline"{ Properties { _MainTex ("MainTex",2D) = "white" {} _OutlineColor ("OutlineColor",Color)=(0,0,0,1) _SampleDis ("SampleDis",Floa...

2018-04-18 22:51:24 1444

转载 GPU处理图像 Shader的入门

GPU处理图像 Shader的入门from:http://www.jianshu.com/p/8687a040eb48字数2901 阅读316 评论0 喜欢3Shader着色器Shader出现在OpenGL ES 2.0中,允许创建自己的Shader。必须同时创建两个Shader,分别是Vertex shader和Fragment shader.Shader工具Shader会有很多坑,不过一些工具...

2018-02-12 22:31:17 482

转载 git repack

My advice is to try several git parameters related with pack:[pack] threads = 1 deltaCacheSize = 128m windowMemory = 50mWhat it got better results for me was setting git config pack.

2018-01-11 21:19:57 878

原创 四叉树在游戏中的应用

在游戏中检测物体之间的碰撞经常用到数据结构四叉树,基本构造思路是:树中每个结点对应一个矩形,每个结点对应的矩形被其四个儿子结点拆成四部分,一般为了方便划分,选用等分成四个面积相等的矩形。         插入的时间复杂度:O(log4(宽*高))         检索的时间复杂度:当所有物体叠加在一起时达到最坏O(物体数量),由于游戏中需要检测碰撞的物体一般是会运动的,所以平均来看是O

2017-03-28 17:50:54 2448

转载 C++ 多线程

本篇博客主要介绍C++ 的多线程机制。多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序。一般情况下,两种类型的多任务处理:基于进程和基于线程。基于进程的多任务处理是程序的并发执行。线程的多任务处理是同一程序的片段的并发执行。多线程程序包含可以同时运行的两个或多个部分。这样的程序中的每个部分称为一个线程,每个线程定义了

2017-01-04 10:04:45 562

原创 java调用oracle12c数据库

本文介绍如何在eclipse下用java调用oracle12c数据库在安装oracle12c时,建立的账号是system,密码是123456第一步:用database Configuration Assistant创建一个数据库,名字叫做"test"第二步:在新建java project后,加载oracle的驱动包,可在oracle默认的安装目录"app\adm

2016-11-03 10:30:45 3631

原创 将[1,n^2]区间内n^2个数字分别填充到n*n的矩阵里,要求任意两个相邻的数字的和,它们的最大值最小是多少?

题意:将[1,n^2]区间内n^2个数字分别填充到n*n的矩阵里,要求任意两个相邻的数字的和,它们的最大值最小是多少?例如1,23,4。就可以组成1+2,1+3,2+4这三个和,最大值是6。做法:在[1+n*n,2n*n-1]的区间二分,假设当前二分的答案是x,考虑x是否能构成一个符合题意的矩阵。用x分割成三个区间,[1,x-n*n-1],[

2016-10-27 21:51:49 1669

转载 Java关键字final、static使用总结

Java关键字final、static使用总结 一、final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。        final类不能被继承,没有子类,final类中的方法默认是final的。        final方法不能被子

2016-06-30 15:17:40 382

转载 深入理解Java的接口和抽象类

深入理解Java的接口和抽象类  对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲:  一.抽象类  二.接口  三.抽象类和接口的区别  若

2016-06-30 15:03:21 324

原创 codeforces 677 D. Vanya and Treasure

做法:每次可以把已经知道ans的点都拿出来,若它的位置是(r,c),则更新所有的dis[r][k]=min(dis[r][k],ans[r][c]+abs(c-k)),1#include#include#include#include#include#include#include#include#include#include#include#include#

2016-06-02 09:54:55 1045 1

原创 codeforces 451 E Devu and Flowers

import java.math.BigDecimal;import java.math.BigInteger;import java.util.Scanner;import java.util.Vector;public class Main { static final long mod=1000000007; public static void main(String[] ar

2016-03-26 17:25:47 546

转载 Codeforces 451 E Devu and Flowers

原链接http://blog.csdn.net/ccsu_001/article/details/38170939大致题意:从n个盒子里面取出s多花,每个盒子里面的花都相同,并且每个盒子里面花的多数为f[i],求取法总数。解题思路:我们知道如果n个盒子里面花的数量无限,那么取法总数为:C(s+n-1, n-1) = C(s+n-1, s)。可以将问题抽象成:x1+x2+...+

2016-03-26 17:23:42 442

原创 codeforces 614 A. Link/Cut Tree

import java.math.BigDecimal;import java.math.BigInteger;import java.util.Scanner;import java.util.Vector;public class Main { static Vector bx=new Vector(); public static void main(String[] args

2016-03-26 15:37:45 561

转载 Java Vector 类

Java Vector 类Vector类实现了一个动态数组。和ArrayList和相似,但是两者是不同的:Vector是同步访问的。Vector包含了许多传统的方法,这些方法不属于集合框架。Vector主要用在事先不知道数组的大小,或者只是需要一个可以改变大小的数组的情况。Vector类支持4种构造方法。第一种构造方法创建一个默认的向量,默认大小为1

2016-03-26 15:32:51 412

转载 Java中的static关键字解析

Java中的static关键字解析  static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题。以下是本文的目录大纲:  一.static关键字的用途  二.static关键字的误区

2016-03-26 13:10:18 359

转载 Java异常:Exception in thread "main" java.lang.ArithmeticException: Non-terminating decimal expansion;

这种异常是指BigDecimal类的divide()方法结果为无限小数所产生的的异常。     例如:10/3=3.33333333333333333........     java代码如下:     public static void main(String args[]){             BigDecimal a=new BigDecimal("1

2016-03-26 12:56:34 1210

原创 codeforces 650 D. Zip-line

题意:把位置i的数修改成x后的lis是多少呢?每次修改独立。做法:ans=max(第i个位置空缺时的lis,第i个位置为x,以它结尾的lis+以它开头的lis-1)。后者扫两遍即可求出。前者只需要知道,lis中,第i个位置的数无可替代即可,若可替代就是lis的长度,否则是lis的长度-1。如何判断?因为若无可替代,则当把这个数丢到辅助数组的某个位置后,它就不会再被后面的值替换。这样

2016-03-14 11:17:05 784

转载 Catalan Number

关于扩展的卡特兰数:1.(n-m+1)/(n+1)*c(n+m,n)2.c[n+m][n]-c[n+m][m-1]Catalan,Eugene,Charles,卡特兰(1814~1894)比利时数学家,生于布鲁日(Brugge),早年在巴黎综合工科学校就读。1856年任列日(Liege)大学数学教授,并被选为比利时布鲁塞尔科学院院士。卡特兰一生共发表200多种数学各领域的论著。

2016-03-12 16:27:45 744

原创 tarjan在acm里的应用

转载请注明原blog地址(http://blog.csdn.net/stl112514)学习了一下tarjan在acm里面的应用,首先仰慕下Robert Tarjan菊苣,摸完之后呢,写个总结。据我所知,主要是用于以下三点:1、有向图中求极大强连通分量(无向图就拆成有向图处理);2、无向图中求桥(也就是割边,当然,顺便求下割点);3、无向图中求极大双连通分量(好像有一种说法说分为点连通分量

2016-03-03 17:44:59 502 1

原创 tarjan求极大连通分量

下面大概说说tarjan算法吧:【功能】Tarjan算法的用途之一是,求一个有向图G=(V,E)里极大强连通分量。强连通分量是指有向图G里顶点间能互相到达的子图。而如果一个强连通分量已经没有被其它强通分量完全包含的话,那么这个强连通分量就是极大强连通分量。【算法思想】用dfs遍历G中的每个顶点,通dfn[i]表示dfs时达到顶点i的时间,low[i]表示i所能直接或间接达到时间最小

2016-02-29 08:14:07 647

Dev-Cpp 5.5.3 TDM-GCC x64 4.7.1 Setup.exe

官网下的,方便自己网吧使用。调试编译功能完整。

2014-04-24

空空如也

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

TA关注的人

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