自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【学习笔记】【计算机图形学】GAMES101-现代计算机图形学入门 - 05 Rasterization 光栅化 1 Triangles

将 -1,1 的投影空间,变换到[0,with] x []0,height]的屏幕空间。LED 发光二极管 Light emitting diode array。把屏幕空间的顶点构成的三角形,化为一个个像素,称为光栅化过程。利用可是角度,可计算出长方形的高低,再利用比例可计算长宽。我们定义的屏幕空间是,左下角为0.0,如图所示。判断一个像素与三角形的关系,进行光栅化。光栅化Raster:把图片画在屏幕上。Triangle Mesh 三角网格。将内存内的区域显示在显示器上。锯齿:像素化必然导致的问题。

2024-07-26 08:32:47 348

原创 【学习笔记】【计算机图形学】GAMES101-现代计算机图形学入门 - 04 Transformation Cont

我们发现,旋转矩阵,如果把角度从顺时针转化到逆时针,得到的矩阵和矩阵的转置矩阵相同。通过定义,我们又发现,反方向旋转的矩阵和矩阵的逆是相等的。将相机和物体同时切换到相机在默认(位置在原点,up在Y,方向朝-Z轴)点的空间当中;利用在near面的点在变换后,任然不变的性质,用near面的特殊点,补全透视矩阵。课后问题:中间部分的点在经过压缩后,Z坐标的变换,向近处还是远处,还是不变。透视投影矩阵 = 正交投影矩阵 乘 透视投影到正交的压缩变换矩阵。转置矩阵和逆矩阵相等的矩阵,也叫做正交矩阵。

2024-07-26 08:31:39 266

原创 【学习笔记】【计算机图形学】GAMES101-现代计算机图形学入门 - 03 Transformation 变换

Trade off:为了方便,引入一个新的概念,虽然解决了一个问题,但是会带了另一个方面的副作用。如:向量+向量=向量,坐标-坐标=向量,坐标+向量 = 坐标,(坐标+坐标=坐标的中点)如图。如果没有齐次坐标,平移变换,无法通过二维矩阵直接达成,不属于线性变换。所有为了方便和统一变换,引入齐次坐标,即为二维坐标添加了第三个维度。不仅如此,多出来的一维齐次坐标后,向量与坐标进行加减后,仍然。变换满足结合律,所以可以用一个矩阵,来表示一个复杂的变换。2d Transform 2D变换。

2024-07-23 20:15:24 188

原创 【学习笔记】【c#】对于协程与异步的深度理解

我在网上看到过相关的对于协程的理解,就是在每次执行代码时候,判断协程条件是否达成,达成就继续执行回调的方法(unity是继续执行接下来的代码,unity为什么一定用enumerator 类型作为协程的类型,什么是enumerator 作为返回值的方法?这么说,async/await 是属于多线程范畴,以同步的代码形式,来实现异步编程操作。阻塞操作:长时间的操作(如 I/O 操作)会阻塞线程,导致整个程序暂停,直到操作完成。非阻塞操作:长时间操作可以在单独的线程中执行,不会阻塞主线程。

2024-07-19 14:12:49 373

原创 【学习笔记】【游戏美术】游戏视觉特效的艺术准则——来自Riot Games和暴雪的经验分享

本文内容来自Riot Games《英雄联盟》项目的Jason和来自暴雪《炉石》项目的Hadidjah在GDC上分享的一期名为《视觉特效的艺术准则》的讲座。在添加更多色彩让画面不那么平的时候,应该选用最主要的色彩,而不是使用大量的色彩(这会导致画面混乱)。调整特效节奏,做到调整玩家感觉,营造打击感(感觉这个图,就像音乐的节奏一般,表现画面的节奏)【【青幻译制】游戏视觉特效的艺术准则——来自Riot Games和暴雪的经验分享】用强度图(吸引你注意力的强度图,来表现画面变换,以展现节奏)伤害和治疗的节奏区别。

2024-07-19 13:14:49 393

原创 [学习笔记][C#]委托与事件的区别

委托是一种,表示对具有特定参数列表和返回类型的方法的引用。它可以看作是一个,允许你在运行时。委托可以绑定多个方法,这些方法会按顺序被调用。委托示例事件是基于,用于多播委托并限制其访问权限。事件在类的外部只能被触发(调用)和订阅(注册/取消注册),不能直接赋值或清空。这种机制增加了安全性和封装性,确保事件只能由定义它的类来触发。事件示例。

2024-06-30 20:31:41 324

原创 [服务器搭建]Forge服务端在linux Debian上搭建复盘过程

这个库是某些图形环境依赖的库,即使您不使用图形界面,某些程序仍然可能需要它。之后字运行使用命令java -Djava.awt.headless=true -jar forge-1.12.2-14.23.5.2859.jar nogui。问问chat,说Minecraft 服务器试图连接到 X11 窗口服务器,但在无头环境中不需要图形界面。

2024-06-12 01:35:02 749 5

原创 [学习笔记][Unity3D网络游戏实战]客户端基本网络框架

来及《Unity3D网络游戏实战》这本书第六章的个人理解笔记

2024-06-05 17:48:11 802

原创 [学习笔记][设计模式]单例模式

比如说我们在系统运行时候,就需要加载一些配置和属性,这些配置和属性是一定存在了,又是公共的,同时需要在整个生命周期中都存在,所以只需要一份就行,这个时候如果需要我再需要的时候new一个,再给他分配值,显然是浪费内存并且再赋值没什么意义,所以这个时候我们就需要单例模式或静态方法去维持一份且仅这一份拷贝,但此时这些配置和属性又是通过面向对象的编码方式得到的,我们就应该使用单例模式,或者不是面向对象的,但他本身的属性应该是面对对象的,我们使用静态方法虽然能同样解决问题,但是最好的解决方案也应该是使用单例模式。

2024-05-09 22:23:10 457 1

原创 [学习笔记][设计模式]桥接模式

如此,变可以使用组合的方式表现一种抽象的2个特质的多种变体,并且每次添加其中一种的新变体时,只需要再写一个新的类继承于抽象的实现变可以了,在具体调用的使用,通过组合实例的方式,把所需要的实例表现出来。将一种带有多个维度性质的物体抽象,如果只抽象成一种基类,然后通过继承把一种特质分离开,再继承添加分离一种特质,这将会导致继承类的规模爆增,如果后续如果一种特质多了一种变体,将会导致大量改动,所有使用继承的方式是不合适的。比如在炮塔基座上有武器,有防御外壳,有能源,共同构成炮塔。多个组合,而不满足于二者桥接。

2024-05-09 22:16:53 821 1

原创 [游戏教程][MC]简单的使用HMCL启动器游玩MC(附带加载版本列表失败解决方法)

想解决。

2024-02-01 14:31:39 2499 1

原创 [学习笔记][算法]往届低程真题(缺)

因为24*60-1)*1.5e6=2158500000>2147483647 超出了int的范围,所以用long long代替int。然而,这个同步可能导致性能损失,因为 C++ 的流库与 C 标准库之间的同步可能是相对昂贵的。在设置数组时,将遍历的起始点i=0变为i=1后,没有考虑清楚数组的范围,导致数组越界不够大。默认情况下,C++ 的输入输出流与 C 标准输入输出流是同步的,这就意味着每次调用。在竞赛编程等需要高效输入输出的场景下,关闭同步流和使用。是一个常见的优化手段,这样可以提高输入输出的速度。

2024-01-08 12:08:40 458

原创 [学习记录][算法] 2023.12.16 爆刷水题

【代码】[学习记录] 2023.12.16 爆刷水题。

2023-12-17 10:07:11 485 1

原创 [学习笔记]对于输入输出的探索(简略,待深入)

将多组类似下方的数据按‘:’分割存储。

2023-12-15 17:16:52 31

原创 [学习笔记]蓝桥题2023/12/10

反思:应在审题时,考虑数据规模,预估算法解决的可能方法范围,注意题目中,可能隐藏的数学规律,从而巧妙的解决问题。知识点:1.质数的求法 2.最大子数组(固定大小)的和 3.前缀和与差分。我的问题:暴力解法未考虑数据大小,导致数据过大时,无法正常输出结果。巧妙的应用了数学规律,直接输出所以可能结果。反思:应加强了解基础算法,并多刷题见题。我的问题:缺少基础算法知识。

2023-12-10 21:50:09 69

原创 [学习笔记]快速排序

快速排序笔记

2023-12-07 23:08:05 44

原创 二位数组作为参数传递

td::shared_ptr<int> sharedPtr 可共享一块内存的智能指针。std::unique_ptr<int> uniquePtr 智能指针的声明。了解到动态内存规划知识与智能指针。td::make_unique<int>(42) 创建;比赛中,无法正确的讲不确定大小的二位数组作为参数传递。1,明确第二维度的大小如(a[][3])2,指针参数(int *a[3])// 动态分配一个二维数组。// 输入二维数组的元素。// 释放动态分配的内存。详细可查看他人的相关文章.了解到智能指针的使用。

2023-11-26 16:09:49 38 1

空空如也

空空如也

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

TA关注的人

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