热门 最新 精选 话题 上榜
碰撞模块 碰撞模块包含可对其进行操作的形状和功能。 该模块还包含一个动态树和大型系统的大阶段加速碰撞处理。 碰撞模块设计为可在动态系统外部使用。 例如,除了物理之外,您还可以将动态树用于游戏的其他方面。 但是,Box2D的主要目的是提供一个刚体物理引擎,因此对于某些应用程序而言,单独使用碰撞模块可能会受到限制。 同样,我将不花大力气对其进行记录或完善API。 形状 形状描述了碰撞的几何形状,可
翻译 2021-06-17 14:23:41
610阅读
b2Fixture,b2Body和b2Joint类允许您将用户数据附加为uintptr_t。 当您检查Box2D数据结构并且想要确定它们与游戏引擎中的对象之间的关系时,这非常方便。 例如,通常将角色指针附加到该角色上的刚体。 这将建立一个循环引用。 如果有actor,就可以得到刚体。 如果有刚体,就可以找到actor。 GameActor* actor = GameCreateActor();
翻译 2021-06-17 14:21:46
157阅读
15.7.2013 - I repaired a small, but significant bug, which caused malfunction on nVidia cards and was causing flickering issues on some AMD cards. In the particle_render.vert I just forgot to pass p
转载 2021-06-17 14:11:32
255阅读
怎么计算两个向量间的夹角呢?这里主要分两种情况,对于二维向量和三维向量来分别讨论。1. 二维向量二维向量的情况相对简单,根据向量间的点乘关系v1⋅v2=||v1||||v2||cosθ可以得到:θ=acos(v1⋅v2/||v1||||v2||)如果调用C/C++数学库函数acos,计算得到的结果的取值范围在 [0,π]。这里得到的夹角并不在0到36...
转载 2021-06-17 14:11:20
5198阅读
CMakeLists.txtcmake_minimum_required(VERSION 2.8.3)set(CMAKE_CXX_STANDARD 14)project(Demo)find_package(Eigen3 REQUIRED)add_executable(${PROJECT_NAME} "main.cpp")main.cpp#include &lt...
转载 2021-06-17 14:11:19
3129阅读
一直对齐次坐标这个概念的理解不够彻底,只见大部分的书中说道“齐次坐标在仿射变换中非常的方便”,然后就没有了后文,今天在一个叫做“三百年 重生”的博客上看到一篇关于透视投影变换的探讨的文章,其中有对齐次坐标有非常精辟的说明,特别是针对这样一句话进行了有力的证明:“齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换。”—— F.S. Hill...
转载 2021-06-17 14:11:18
173阅读
这篇文章总结一下图形学在游戏开发工程师面试时常考(可能会考)的问题。虽然图形学在面试中的比重比较小,但是还是要复习一下的。图形学的考点分为三部分,一是渲染管线,二是数学尤其是线性代数和三维几何。一、渲染管线1.1 有那几个坐标系(空间)?如何在空间之间转换?有五个坐标系,分别是: 物体坐标系(本地坐标系)Local Space 或 Model Space 世界坐标系 ...
转载 2021-06-17 14:11:17
1190阅读
gayhub地址在这里mini3d是实时渲染的hello world级别的demo,是一个小小的使用cpu的渲染引擎数学库部分矢量部分这一部分没有什么好说的,就是向量的一些基本操作,//使用齐次坐标系表示三维空间向量,所以多个w,w为1表示是向量,w为0表示坐标typedef struct { float x, y, z, w; } vector_t; typedef v...
转载 2021-06-17 14:11:16
230阅读
我们知道求矩阵的逆具有非常重要的意义,本文分享给大家如何针对3阶以内的方阵,求出逆矩阵的3种手算方法:待定系数法、伴随矩阵法、初等变换法(只介绍初等行变换)1、待定系数法求逆矩阵首先,我们来看如何使用待定系数法,求矩阵的逆。举例:矩阵A=1 2-1 -3假设所求的逆矩阵为a bc d则从而可以得出方程组a+2c=1b+2d=0-a...
转载 2021-06-17 14:09:05
5068阅读
auto MT = Translate(Identity, FVector(-5,2,2)); auto MR = Rotate(Identity, Deg2Rad(0.0f), FVector(1, 0, 0)); MR = Rotate(MR, Deg2Rad(0.0f), FVector(0, 1, 0)); MR = Rotate(MR, Deg2Rad(90.0f), FVector(0, 0, 1)); auto MS = Scale(Identity, FVector(...
原创 2021-06-17 14:08:50
283阅读
ViewMatrix = LookAtLH(eye, center, Up);
原创 2021-06-17 14:08:49
188阅读
ProjectionMatrix = PerspectiveFovLH_ZO(Deg2Rad(FOV), Aspect, 1.0f, NearPlane, FarPlane);
原创 2021-06-17 14:08:48
264阅读
DX数学库采用行矩阵,glm数学库采用列矩阵。行矩阵是一行一行的存储数据,而列矩阵是通过一列一列的存储数据。行矩阵和列矩阵互为转置。在通过矩阵进行变换的时候,如果是行矩阵那么就是从左到右进行相乘,比如构造Model矩阵时,Model=S X R X T。如果是列矩阵那么就是从右到左进行相乘,比如构造Model矩阵时,Model=T X R X S。当然这两个求得的Model矩阵是互为转置的。...
原创 2021-06-17 14:08:45
1226阅读
在这里简单介绍一下两者,两者都是 Image,但是还是有一点点区别的 Texture:是一张图片,但主要是用来改变物件的外观。有点像包装纸的概念,将物品用不同款式的包装纸(Texture)包装,让他看起来不一样。因为Texture本身不是物件,因此不能移动它。Sprite:是一张图片,同时也是一个物件,意思是他拥有座标(x, y),你能移动/创建/删除他。基本上将Texture + Rect
转载 2021-06-17 14:08:24
1009阅读
转载 2021-06-17 14:07:39
105阅读
用最新版 easyx 做了一个小游戏,程序中所有的类函数都是内联函数,大约 300 行,开发环境是 Visual Studio 2015 Community,其他的编译器能不能通过编译不确定。游戏运行截图如下:代码说明:关于无阻塞延时,首先,先要 ctime创建一个 clock_t 变量 a,初始化为 clock(),貌似是自从 1970 年到现在的毫秒数。我们要每隔 0.5 ...
转载 2021-06-17 14:07:38
271阅读
在国内外,业界盛传有十大开源游戏引擎,分别是OGRE、Irrlicht、Panda3D、Crystal Space、jME、Blender Game Engine、Reality Factory、The Nebula Device 2、RealmForge、OpenScene- Graph。我们对这十款开源游戏引擎深入进行分析。(1)OGRE是面向对象图形渲染引擎(Object-Orient...
转载 2021-06-17 14:07:37
3161阅读
3D游戏或者是虚拟现实逐步成为市场主流,由于IT行业的薪资普遍比较高,很多IT开发者转行到游戏开发或者说是虚拟现实开发中。但是大部分人只限于会使用引擎开发工具,比如使用Unity3D引擎或者是UE4虚幻引擎,它们能利用引擎提供的编辑器和组件快速的搭建出一款游戏,但是在遇到一些棘手问题时却是束手无策,出现这样的问题主要是因为对于一些3D的基本原理不是很清楚,接下来给读者详细介绍一下固定流水线中的矩阵...
转载 2021-06-17 14:07:35
131阅读
游戏引擎列表免费和开源引擎Agar – 一个高级图形应用程序框架,用于2D和3D游戏。Allegro – 基于 C/C++ 的游戏引擎,支持图形,声音,输入,游戏时钟,浮点,压缩文件以及GUI。Axiom 引擎 – OGRE的衍生引擎。Baja 引擎 – 专业品质的图像引擎,用于The Lost Mansion。Boom – Doom代码的一部分。由TeamTNT开发Build 引...
转载 2021-06-17 14:07:34
699阅读
Game Physics Engine Development看这本书一定要对照着作者github上的源码https://github.com/idmillington/cyclone-physics/来看。由于作者本人已经太长时间不更新代码,也不再回应issue,但是幸而给出了windows环境下demo的可执行文件,所以建议读者只看看代码学习下思路即可,不要再在尝试把代码跑起来这方...
转载 2021-06-17 14:07:31
495阅读
2-D边界碰撞检测一、使用向量进行障碍检测的原理上次说了使用向量模拟任意角度的反弹,这次谈谈它的前提---障碍碰撞。在游戏中进行障碍碰撞检测,基本思路是这样的:给定一个障碍范围,判断物体在这次移动后会不会进入这个范围,如果会,就发生碰撞,否则不发生碰撞。在实际操作中,是用物体的边界来判断还是其他部位判断完全取决于编程者。这时候,就可以从这个部位沿着速度的方向引出一条速度向量线,判断一下...
转载 2021-06-17 14:07:30
81阅读
一、先说一下写一个外挂需要什么条件1、熟练的C语言知识目前的外挂大部分都是用BC或者是vc写的,拥有熟练的C语言知识是写外挂的基本条件2、具有很强的汇编基础一般游戏都不可能有原代码的,必须靠反汇编或者跟踪的办法来探索其中的机理,所以有强的汇编基础也是必不可少的条件3、熟练掌握跟踪和调试的工具有了上面2个条件后,掌握一些工具也是很有必要的跟踪的工具,softice当...
转载 2021-06-17 14:06:11
126阅读
通用寄存器EAX,EBX,ECX,EDX,ESI,EDI,ESP,EBP, 它 们 的低 16 位就是 8086 的AX,BX,CX,DX,SI,DI,SP,BP,它们的含义如下: EAX:累加器 EBX:基址寄存器(Base) ECX:计数器 EDX:数据寄存器(Data) ESI:源地址指针寄存器(Source) ED...
转载 2021-06-17 14:06:10
65阅读
1.OD中ctrl+f9:运行到返回,就是运行到当前断点所在的函数末尾"retn xxx"处,若xxx=10,那么10等于10进制的16,就是说这个函数有4个参数,一个参数默认是占4字节,所以就是retn 10。2.调试程序时,在OD内部小窗口左上角会显示当前断点所在的函数层,是在系统领空还是某个应用程序领空。3.call前出现lea edx,dword ptr ss:[e...
转载 2021-06-17 14:06:09
178阅读
解密网游木马开发全记录------WM_GETTEXT篇网络虚拟财产的安全越来越受到广大网民的关注,而黑客经常使用非法手段获取网游账号及密码进行非法盈利。为了揭露网游盗号的基本原理,我将给大家演示黑客是如何通过编程实现密码的截取与发送。也希望广大网民提高安全意识,免受盗号危害。首先通过分析可知,一个完整的木马产品包括如下几个功能: 1、密码截取 2、密码发送 ...
转载 2021-06-17 14:06:04
187阅读
MFC实现贪吃蛇小游戏  1、概述 贪吃蛇是一个很经典的小游戏,这里介绍如何分离UI和逻辑来设计该游戏。  2、设计思路  整个游戏有三个组成部分:背景面板、食物、蛇。面板划分成不同的网格,食物和蛇都出现在网格中。  1)食物的随机生成要保证在网格内;  2)蛇的移动要保证按照格子大小进行。  3、类描述  1)属性  /**食物 * 1.位置...
转载 2021-06-17 14:06:00
232阅读
谈到UI,所有游戏前端程序员都深恶痛绝。因为这是每个开发的必经之路。拼UI,接协议,写逻辑,做动画,各种模块之前的相互调用。嘤嘤嘤~想想都觉得麻烦,但是这又是不可避免的,毕竟UI也是游戏很重要的一部分啊。一个合理的UI框架的设计,不仅能提高程序的开发效率,在应对后续策划五花八门的需求的时候,也能表现的从容不迫。UI框架的设计真的很重要~大家不要小瞧了这件事情~下面步入正题,我们通过简单的图来梳...
转载 2021-06-17 14:05:57
132阅读
打开游戏当前血量2620打开Cheat Engine扫描2620掉点血再次扫描2600此时,会根据第一次扫描结果,再次扫描扫描成功将数据放到修改区,点击箭头修改数据双击Value进行修改输入新的值修改成功...
转载 2021-06-17 14:05:54
463阅读
0x00:使用工具 Cheat Engine 5.6.1 将要修改游戏 PlantsVsZombies.exe - 植物大战僵尸 修改器开发环境 MingW and gcc注:VC等IDE也可以.相关文件会在后面添加下载链接0x01:使用CE查询分析游戏内存数据首先打开游戏, 开始游戏, 然后暂停游戏.这时候使用CE打开PlantsVsZomb...
转载 2021-06-17 14:05:53
454阅读
操作界面:寄存器:按键:快捷键 功能说明F2 在OD的反汇编视图中使用F2进行下断F4 程序执行到当前光标位置F5...
转载 2021-06-17 14:05:49
243阅读