自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 线程同步的几种方式

进程中线程同步的四种常用方式:有人说临界区不算,先写下临界区的概念 1、 临界区(CCriticalSection) 当多个线程访问一个独占性共享资源时,可以使用临界区对象。拥有临界区的线程可以访问被保护起来的资源或代码段,其他线程若想访问,则被挂起,直到拥有临界区的线程放弃临界区为止。具体应用方式: 1、 定义临界区对象CcriticalSection g_CriticalSection;...

2018-08-14 16:41:23 221

原创 STL学习 红黑树学习

一、红黑树RB-tree是被广泛运用的平衡二叉搜索树。 这里只是记录一下我个人觉得重要的东西,就没有图了。 强烈推荐《STL源码分析》这本书,上面讲得比较清楚。1.1规则(1)每个节点不是红色就是黑色。 (2)根节点为黑色。 (3)如果节点为红,则其子节点为黑。 (4)任一节点至BULL(树尾端),黑节点数必须相同。1.2一个由上而下的程序插入时红黑树的平衡是由各种旋...

2018-08-14 12:08:59 252

原创 妈耶我需要好好补一下计算机网络的知识了QAQ

耶妈哭瞎仔细复习了几天的C ++还有游戏架构,引擎游戏等知识今天突然接到了某面试,都前面答出来了查询查询结果问了好多计算机网络的题目,暴风哭泣QAQ 我上班不怎么遇到都快忘光了不要放弃,再来恶补一下网络方面的知识!!!!!我先把问题写了,等研究透了再把答案写上去,不能坑别个啊QAQ1.TCP和UDP的区别?(1)TCP面向连接(如打电话要先拨号建立连接); UDP是无连接的,...

2018-08-07 21:07:51 289

原创 连猴子都能学会的Lua速成教学(二)元表

什么是元表:对Lua来说,元表只是另一个表,没有特殊之处。任何表都可以作为其他表的元表,元表也可以拥有元表,甚至可以自身作为自己的元表。可以通过getmetatable()和setmetatable()来获取和设置元表,示例:x = {} -- 一张空表xprint(getmetatable(x)) -- 获得结果nil,因为x没有元表y = {}setmetatable(...

2018-08-06 15:56:42 620

原创 连猴子都能学会的Lua速成教学

Lua语言是游戏开发的一个重要助手,是一种比较流行的脚本语言,在国内也有像鹅厂这样的大厂在做维护和支持(xLua等),质量是很能得到保证的。它体积小速度快,是一种很优秀的语言。Lua速成1.注释①Lua的注释是以两个”-“开始的,例如: -- This is a comment ②同时也存在着块注释(多行注释),使用的是两个方括号,例如:--[[This is a sin...

2018-08-06 15:04:15 3281

原创 OpenGL与Unity Shader常用基础面试题

来计一下面试的时候问的图形学相关的题目,每次面试问得并不多,所以数量不多,以后不断添加。1.三大主流的Shader Language? HLSL、GLSL、CG2.OpenGL的渲染流程? 读取顶点数据→执行顶点着色器→组装图元→光栅化图元→光栅化图元→执行片段着色器→写入帧缓冲区→显示在屏幕上。(不同的管线流程应该是有去别的,大体上是这样的)3.前向渲染、延迟渲染? 在我...

2018-08-06 10:13:46 5649

原创 常用基础知识面试(C++为主)

挺多家公司面试都问相关基础问题(C++为主),有的时候一紧张老答不全,赶紧列出来,每天背三遍,吾日三省吾身。引用和指针的区别 ①指针是一个实体,需要分配内存空间;引用只是变量的别名,不需要分配内存空间。 ②引用在定义的时候必须进行初始化,并且不能够改变。指针在定义的时候不一定要初始化,并且指向的空间可变。 ③指针和引用的自增运算结果不一样。(指针是指向下一个空间,引用时引用的变量值加1...

2018-08-04 13:05:29 394

原创 【程序员的游戏开发之路】 游戏架构

啊啊啊啊今天去面了鹅厂,结果在实习公司Unity用得太多了,好多基础都忘得差不多了,看起来要捡起来好好再学习一下O(∩_∩)O莫要放弃,就从游戏架构开始学起哈。 参考的书是《 游戏编程权威指南 》游戏整体架构总体来说,游戏中的所有子系统属于以下的3个主要类别之一: 1.应用层 应用层关注的是游戏运行的机器,如果将游戏移植到别的平台,则需要重新写很多应用层的代码,但不需要修...

2018-08-02 23:35:32 1152

原创 【Unity学习】 真实的水面效果开发

这个水面的特效真的是太难做了,调整了好久好久我才把它写好实现真实水面的相关要求使用凹凸纹理 让水面有起伏感,产生水面有细小波纹的效果使用FTT制作水面的波动 对于水面上的某一个点,其当前的水波可以由若个正舷波叠加得到添加高光 添加高光主要是水面对阳光和灯光的反射添加反射 反射主要是在水面位置使用一个摄像机,然后将这个摄像机拍下的画面取反贴在水平面上。纹理扰动 不能光将反...

2018-08-02 11:12:09 9862 4

原创 【Unity学习】使用UnityShader的纹理动画效果实现滚动的背景

这次学习基本抄书了Unity Shader内置的时间变量 名称 类型 描述 _Time float4 t为从加载到现在的时间,4个分量: (t/20, t, t*2, t*3) _SinTime float4 4个分量: (sin(t/8), sin(t/4), sin(t/2), sin(t)) _CosTime float4...

2018-08-01 15:19:54 1526 1

原创 【Unity学习】Unity的阴影基础实现(Shadow Map)

Shadow Map的实现原理在实时渲染中,我们最常使用的是一种名为Shadow Map的技术。即将摄像机位置与光源位置重合,那么场景中的阴影区域就是摄像机看不到的地方,在Unity中就是使用的这种技术。 再前向渲染路径中: 其实我们只需要得到在以上这种情况下的深度信息就行了,所以没必要再像计算光照那样,使用BassPass 和 Additonal Pass来更新深度信息来得到阴影映射纹理...

2018-08-01 14:10:53 3197

原创 【Unity学习】 Unity中的光照渲染(一)前向渲染和延迟渲染

Unity的渲染路径现在的Unity渲染路径主要有两种: 一、前向渲染路径(Forward Randering Path) 二、延迟渲染路径(Deferred Rendering Path) 三、顶点照明渲染路径(残留,已被抛弃) 四、旧的延迟渲染路径在大多数情况下,我们可以通过Edit->Project Settings->Player->Other Setti...

2018-08-01 13:41:30 4451

原创 【Unity学习】Unity Shader 实现透明效果(2) 透明度混合

Blend 命令为了进行透明度混合,Unity为ShaderLab提供了Blend命令: 命令 描述 Blend Off 关闭混合 Blend SrcFactor DstFactor 开启混合,设置混合因子,前者乘以源颜色,后者乘以目标颜色,相加 Blend SrcFactor DstFactor SrcFactorA DstFactorA ...

2018-08-01 01:17:10 1517

原创 【Unity学习】Unity Shader 实现透明效果(1)

获得透明度效果的两种方法在Unity中,可以使用两种办法来获得透明效果: 1. 使用透明度测试(Alpha Test),但其实得到的并不是真正的半透明效果 2. 使用透明度混合(Alpha Blending),得到的效果是比较真实的渲染顺序问题1.对于不透明的物体,不考虑渲染顺序也能产生正确结果,因为有深度缓冲(Z-buffer) 2.对于半透明物体,这招就不管用了,因为在使用透...

2018-08-01 00:08:48 3280

原创 【Unity学习】Unity中的常见性能优化

遮挡剔除技术对于不在摄像机拍摄范围内的对象,对这一对象的绘制是完全没有必要的,所以可以用到遮挡剔除技术将静态物体勾选static选择Windows->Occlusion Culling打开遮挡剔除窗口,单机Bake修改bake界面的参数大小,可以修改Bake的单元的大小单机Bake按钮进行烘焙在场景右下方会出现Occlusion Culling下拉列表,选择Visualiz...

2018-07-31 22:14:04 489

原创 【Unity学习】Unity中本地持久化Playerprefs类

Playerprefs类简述unity3d提供了一个用于本地持久化保存与读取的类——PlayerPrefs。 它以键值对的形式将数据保存在文件中,然后程序可以根据这个名称取出上次保存的数值。 可以存储的数据类型为int、float和stringPlayerprefs类静态方法 方法 说明 SetFloat(“Name”,float),SetInt(“Name”...

2018-07-31 10:12:49 273

原创 Unity Shader 中实现凹凸映射

使用切线空间每一个顶点都有自己的切线空间。在该空间中,z轴是顶点的法线方向,x轴是顶点的切点方向,而y方向则是两者叉积的方向。 我们需要在顶点着色器中把视角方向和光照方向从模型空间变换到切线空间中,即我们需要从模型空间到切线空间的变换矩阵。而很好求的是,这个变换矩阵的逆矩阵正是在顶点着色器中切线(x轴),副切线(y轴),法线(z轴)的顺序!!按列!!排列即可得到。 并且,如果变换中仅存在平...

2018-07-30 18:03:30 681

原创 Unity Shader 内置的函数 和 基本光照模型实现

Unity Shader 内置的函数UnityCG.cginc中常用的一些帮助函数 函数名 描述 float3 WorldSpaceViewDir(float4 v) 输入一个模型空间中的顶点位置,返回世界空间从该点到摄像机的观察方向 float3 UnityWorldSpaceViewDir(float4 v) 输入一个世界空间中的定点位置,其余同上...

2018-07-30 13:36:14 671

空空如也

空空如也

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

TA关注的人

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