- 博客(533)
- 资源 (22)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 lua 游戏架构 之 SceneLoad场景加载之 SceneManager (四)
SceneManager 类提供了一个强大且灵活的场景管理框架,使得游戏开发人员可以更容易地处理复杂的场景切换和资源管理任务
2024-07-21 15:33:13
1581
4
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 lua 写一个 不同时区之间转换日期和时间 函数
该函数的主要功能是根据给定的时区偏移量调整时间戳,并返回格式化后的日期字符串。如果`dontFixForTimeOffset`为真或者时间戳小于31536001(即1970年1月1日之后的秒数),则直接返回原始时间戳的格式化日期。
2024-07-20 23:34:45
317
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 lua 游戏架构 之 SceneLoad场景加载之 SceneBase (三)
场景基类SceneBase ,这个类提供了一个框架,用于处理场景的加载、初始化、激活、释放等生命周期管理,以及进度更新和用户界面显示。开发者需要根据具体的场景需求,重写一些虚函数以实现特定的功能。
2024-07-20 22:35:22
2079
14
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 lua 游戏架构 之 LoaderWallet 异步加载
异步加载资源,并允许用户指定加载完成后的回调函数。这对于需要异步加载资源并处理加载结果的应用场景非常有用,比如游戏中的资源预加载、UI资源的动态加载等。
2024-07-18 21:15:47
1435
6
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 lua 游戏架构 之 TablePool`对象池
管理一个对象池。对象池是一种用于优化内存使用的技术,通过重用对象而不是频繁地创建和销毁对象,从而减少内存分配和垃圾回收的开销。
2024-07-18 19:10:46
562
4
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 微信小游戏 彩色试管 倒水游戏 逻辑(三)
定义 一个CupMgr class管理 cup 。这个系统允许玩家通过拖动杯子来倒水,直到所有杯子都达到目标状态
2024-07-16 20:02:29
1348
7
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 升级Unity5-----Unity5灯光烘焙与Unity4 灯光烘焙实际应用中的差别
Skybox:会直接影响你的环境光Ambient Source:环境源,这里选 的skyboxAmbient Intensity: 环境光的强度值,也就是环境光的亮度值Reflection Source:反射源,这是Unity4.X里没有的。烘焙后会在场景文件的同名文件夹中多出一个名为 LightmapSnapshot的文件。Realtime Resolution:实时分辨率,这个物体所产生的GI对其它物体的影响程度,值越大影响越大。
2016-06-24 16:27:21
4864
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(三)_图元的属性_3_OpenGL颜色函数(下)
该数组的前三个元素指定一个RGB颜色值,接下来的三个元素指定一个顶点坐标(x, y, z),这样交错下去直到最后。将offset设定为相邻颜色或顶点值之间的字节数,即两者均为6 * sizeof(GLint)。颜色值从交错数组的第一个元素即hueAndPt[0]开始,顶点值从第四个元素即hueAndPt[3]开始。 因为一个场景通常包括若干个对象,每个对象有多个平表面,OpenGL提供一个可以一次性指定所有顶点和颜色数组及其他类型信息的函数。如果我们要将上例中的颜色和顶点值改为浮点数,则需按
2016-06-22 18:29:34
3077
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(三)_图元的属性_3_OpenGL颜色函数(上)
变量表中的第一个参数指示正在使用单个帧缓存,第二个参数设定RGB模式,即默认模式。我们可以用GLUT_RGB或GLUT_RGBA之一来选择颜色模型。如果要用指向颜色表的索引来指定颜色,则用OpenGL常量GLUT_INDEX取代GLUT_RGB。 OpenGL的RGB和RGBA颜色模型
2016-06-22 18:20:45
5840
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(三)_图元的属性_2_颜色和灰度
最左边一位控制红枪,中间位控制绿枪,而最右边的一位控制蓝枪。在帧缓存中增加一些位可增加可选择的颜色数量。每像素有6位时,每支枪可用2位来控制。这可使三支颜色枪的每支得到4个不同强度的控制,而使每个屏幕像素有64种颜色可选用。随着提供的颜色数量的增加,帧缓存的容量要求也增加。1024 x 1024分辨率的全彩色(每像素24位)RGB系统需要3 MB的帧缓存容量。
2016-06-18 10:12:38
4516
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(三)_图元的属性_1_OpenGL状态变量
属性值和其他参数设置由定义当前OpenGL状态的独立函数指定。OpenGL中的状态变量有颜色和其他图元属性、当前矩阵模式、模型观察矩阵的元素、缓存当前位置和场景光照效果参数等。所有OpenGL参数都有默认值,它们在被指定新值前保持不变并发挥作用。任何时候我们都可以查询系统的状态参数的当前值。本章后面几节中只讨论输出图元的属性设定,后面几章将会涉及其他参数。
2016-06-17 17:26:59
2514
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Lua自己实现string.split功能
Lua自己实现string.split功能 split函数是编程语言中使用的函数,是指返回一个下标从零开始的一维数组,它包含指定数目的子字符串
2016-06-17 15:10:42
11589
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(二)输出图元_20_章节总结_程序展示_饼图
饼图用来给出整体中各部分的分布比例。使用中点圆算法子程序来构造一个饼图。例子中的值用于确定扇形的数量和大小,该程序的输出请参见图3.69。
2016-06-12 17:31:42
2547
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Unity渲染路径 Rendering Paths_2_Forward Rendering 正向渲染
正向渲染一个基于着色器的渲染路径。它支持逐像素计算光照(包括法线贴图和灯光Cookies)和来自一个平行光的实时阴影。在默认设置中,少数最亮的灯光在逐像素计算光照模式下渲染。其余的灯光计算对象顶点的光照。 根据影响物体的光源的不同,正向渲染路径用单个或多个通道来渲染物体。在正向渲染中,光源本身也会根据他们的设置和强度受到不同的对待。
2016-06-02 11:41:57
3483
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 Unity渲染路径 Rendering Paths介绍
Unity支持不同的渲染路径。应具体取决于你的游戏内容和目标平台/硬件来选择使用哪一个。不同的渲染路径有不同的特点和性能特点,主要影响灯光和阴影。 项目所使用的渲染路径在Player Settings选择。此外,可以为每个摄像机重写(不同摄像机可以是不同的设置)。如果图形卡不能处理选定的渲染路径,Unity将自动使用一个较低保真度的设置。因此,在GPU上不能处理延迟照明(Deferred Lighting),将使用正向渲染(Forward Rendering )。如果不支持正向渲染(Forwa
2016-06-02 11:09:31
2954
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(二)输出图元_18_显示列表_3_删除 OpenGL 显示表
删除 OpenGL 显示表参数startID给出最前面的显示表标识,而参数nLists给出要删除的显示表总数
2016-06-01 21:18:22
3691
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 untiy 3d ShaderLab_第8章_3_ 单光贴图和Forward 渲染路径
在单光照贴图的情况下,Camera的RenderingPath为VertexLit时,有一个不理想的地方就是被烘焙过的静态物体,默认的材质不会受到实时光照的影响。当然,可以通过提供自定义的材质改变这一行为,但是很麻烦。在RenderingPath为Forward时,这种麻烦就不会存在了,经过烘焙物体,Unity的默认材质会继续受到实时Pixel光源的影响。首先我们可以注意到,相比于VertexLit模式下,烘焙过的物体,默认材质不再受到实时光源的影响,我们在Forward模式下的黄色实时Pixel光源仍对烘
2016-06-01 21:14:27
4054
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(二)输出图元_18_显示列表_2_执行OpenGL显示表
要执行的显示表数量赋给参数nLists,而参数listIDArray是显示表标识的数组。一般而言,listIDArray可包含任意多的元素,而无效的标识会被忽略。同样,listIDArray中的元素可指定为多种数据格式,而参数arrayDataType用来指出数据类型,例如GL_BYTE,GL_INT,GL_FLOAT, GL_3_BYTES或GL_4_ BYTES。显示表标识通过将listIDArray中一个元素的值与offsetValue的整数值相加而得。offsetValue的默认值为0。 这
2016-06-01 11:47:47
3695
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(二)输出图元_18_显示列表_1_创建和命名OpenGL显示表
把对象描述成一个命名的语句序列(或任何其他的命令集)并存储起来既方便又高效。在OpenGL中使用称为显示表(display list)的结构可以做到这一点。一旦建立了显示表,就可以用不同的显示操作来多次引用该表。在网格中,描述图形的显示表存放在服务器中,以避免每次显示场景时都要传送表中的命令。我们可以为以后的执行来建立并存储显示表,或指定表中的命令立即执行。显示表对层次式建模特别有用,因为一个复杂的对象可以用一组简单的对象来描述。
2016-05-31 19:58:25
3623
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(二)输出图元_17_图形分割
有的图形软件包中提供了子程序,描述由多个命名部分组合而成的图形并管理每一部分。使用这些函数可以创建、编辑、删除或移动图形的一个组成部分。我们也可使用图形软件的这个功能来进行层次式建模(以后会说到),其中一个对象可以用包括一定层次的子对象的树结构方式来描述。 图形子部分的名称有多种说法。有些图形软件包称它们为结构(structure ),另一些则称为段( segment)或对象(object)。同样,在不同的图形软件包中允许的对子部分的操作也不相同。例如,建模软件包提供很多描述和管理图形元素的操
2016-05-31 19:40:49
3396
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(二)输出图元_16_字符函数
这里参数font用GLUT符号常量赋值,用来指定一特定字型集,参数character赋以ASCII编码或其他要显示的字符。这样,要显示大写的"A",可以使用ASCII编码65或指定为‘A’。同样,编码66与‘B’等效,编码97与小写字符‘a’等效,编码98与‘b’等效,依次类推。固定宽度或比例间隔字体都可以使用。可用GLUT_BITMAP_8_Y_13或GLUT_BITMAP_9_BY_15来选择一种固定宽度字体并确定其参数。也可GLUT_BITMAP_TIMES_ROMAN_10或GLUT_BITMAP_
2016-05-30 21:27:16
4408
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(二)输出图元_14_OpenGL像素阵列函数_1_位图函数
OpenGL中有两个函数可用于定义矩形阵列的形状或图案。一个是位图,另一个是像素图。OpenGL也提供若干的函数用于存储、复制及管理像素值阵列。函数中的参数width和height分别给出阵列bitShape的列数和行数。bitShape的每一元素赋值为0或1。值为1表示对应像素用前面设定的颜色显示;否则,对应像素不受该位图影响。(作为一个选项,可使用1表示将指定颜色与存储在刷新缓存中对应位置的颜色值相结合。)参数x0和y0定义了矩形阵列“原点”的位置。原点位置指定为bitShape的左下角,而x0和y0可
2016-05-23 21:24:13
6508
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(二)输出图元_12_OpenGL顶点数组
为了简化这些问题,OpenGL提供了一种机制来减少处理坐标信息的函数调用数量。使用顶点数组(vertex array ),可以利用很少的函数调用来安排场景的描述信息。步骤如下:1.引用函数glEnableClientState (GL_VERTEX_ARRAY)激活OpenGL的顶点数组特性。2.使用函数glVertexPointer指定顶点坐标的位置和数据格式。3.使用子程序如glDrawElements显示场景,该子程序可处理多个图元而仅需少量的函数调用。
2016-05-21 18:41:08
5684
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(二)输出图元_11_OpenGL多边形填充区函数(上)
描述填充多边形的OpenGL过程与描述点和折线类似,但有一个例外。函数glVertex用来输入多边形的一个顶点坐标,而完整的多边形用从glBegin到glEnd之间的一组顶点来描述。但有另外一个函数可以用来显示具有完全不同格式的矩形。 默认时多边形内部显示为单色,由当前颜色设定确定其颜色。作为选项(下面的内容中叙述),可以用图案填充多边形且显示多边形的边作为内部填充的边界。函数glBegin中指定多边形填充区的变量可使用6个不同的符号常量。这6个基本常量可用来显示单一填充多边形、一组不相连的
2016-05-21 17:46:52
10503
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(二)输出图元_10_多边形填充区_4_多边形表
场景中的对象一般用一组多边形面片来描述。实际上,图形软件包经常提供以多边形网格形式描述表面形状的函数。对每一个对象的描述包括指定多边形面片的几何信息和其他表面参数(如颜色、透明性及光反射特性)。在输入每个多边形的信息时,数据放进一些表格中等待后续处理、显示和场景的对象管理。这些多边形数据表分成两组来组织:几何数据表和属性数据表。几何数据表包含顶点坐标和标识多边形面片空间方向的参数。对象的属性信息包含指定对象的透明程度及其表面的反射性能和纹理特征。
2016-05-13 20:33:33
5102
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(二)输出图元_10_多边形填充区_3_内-外测试
各种图形处理经常需要鉴别对象的内部区域。识别简单对象如凸多边形、圆或椭圆的内部通常是一件很容易的事情。但有时我们必须处理较复杂的对象。例如,我们可能描述一个图3.46所示的有相交边的复杂填充区。在该形状中,xy平面上哪一部分为对象边界的“内部”、哪一部分为“外部”并不总是一目了然的。奇偶规则和非零环绕规则是识别平面图形内部区域的两种常用方法。
2016-05-12 14:03:35
5434
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(二)输出图元_10_多边形填充区_2_分割凹多边形
接着按多边形边界顺序计算连续的边向量的叉积。如果有些叉积的z分量为正而另一些为负,则多边形为凹多边形;否则,多边形为凸多边形。这意味着不存在三个连续的顶点共线,即不存在连续两个边向量其叉积为0。如果所有顶点共线,则得到一个退化多边形(一条线段)。我们可以通过逆时针方向处理边向量来应用向量方法。如果有一个叉积的z分量为负值(如图3.43所示),那么多边形为凹且可沿叉积中第一边向量的直线进行切割。下面的例子给出了分割凹多边形的这一方法。
2016-05-12 11:45:03
6988
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 untiy 3d ShaderLab_第8章_2_在效果和性能间进行权衡
Resolution 分辨率: 每世界单位中光照图分辨率的大小。因此当设置分辨率为50的一个10单位乘以10单位的平面将产生一张500*500像素的光照贴图。Scale In Lightmap 光照图比率: (只作用于可渲染网格)特别大的数值将分配给可渲染网格更大的分辨率。最终分辨率比例(光照图缩放)*(物体世界坐标空间所占面积)*全局分辨率烘培设置)如果设置为0物体将不被烘培。(但是它依旧对其他的物体有影响)Quality 质量: 高质量(比较好的效果)和低质量(计算速度快)的预设值。它们将影响最终聚
2016-05-11 20:52:26
3688
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机图形学(二)输出图元_7_并行曲线算法
在曲线生成中使用的并行方法类似于显示线段中使用的方法。我们既可采用顺序算法按曲线分段分配处理器,也可以提出其他方法将处理器分配给屏幕的不同区域。 显示圆的并行中点方法是,将45°到90°的圆弧分成等长子圆弧,并给每段子圆弧配置一个处理器。然后类似于并行Bresenham画线算法,需要对每个处理器建立初始y值并确定参数pk的值。接着计算整个子圆弧的像素位置,并通过对称性得到其他八分圆中的位置。同样,并行椭圆中点算法将第一象限内的椭圆弧分割成等长弧,并将这些弧分配给各个处理器,在其他象限中的像素位置可由
2016-05-05 17:00:54
3739
第一人称射击游戏(Unity)
2015-09-17
Unity_模仿击打铝罐代码
2015-09-17
图片控件ImageView
2014-12-08
羽哥Time And DatePicker
2014-12-08
RadioButtonAndCheckboxDemo
2014-12-08
universal-image-loader-1.8.6-with-sources.jar
2014-12-05
android-support-v4.jar
2014-12-05
羽哥位移的血轮眼
2014-12-05
羽哥android动画-旋转+透明的血轮眼
2014-12-05
羽哥TabHostDemo
2014-12-02
羽哥RatingBarDemo
2014-12-01
羽哥SeekBarDemo
2014-12-01
羽哥SpinnerDemo
2014-12-01
微信飞机大战
2014-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人