Questions tagged «c++»

C ++是一种静态类型化,自由格式,多范例,已编译的通用编程语言。

1
哪种方法最适合渲染星球?
我目前正在研究论文,它是渲染行星大小地形的引擎。 我仍在完成研究,并且遇到了很多与此主题有关的问题,但问题是我无法确定应该使用哪种详细程度(LOD)方法。 我了解Ulrich的geomipmapping,几何剪贴图(GPU)和分块LOD,它们在较大的地形上都能很好地工作,并且可以用于渲染多维数据集的6个面,然后通过此方法 “球形化”多维数据集,并且我了解如何实现所有这些在GPU上使用C ++ / OpenGL / GLSL的方法(使用ROAM之类的方法或任何其他不使用多维数据集的方法都无法使用,因为纹理化是很麻烦的)。另外我最近也在这里学习了使用镶嵌细分着色器渲染地形的教程。 因此,我没有时间去实现所有方法,而是看看哪种方法最合适,更适合于行星尺度,我在这里询问是否有人进行了这种比较,并帮助我确定了哪种方法我应该实现和使用吗(我的导师有点疯狂,想让我用二十面体做某事,但是除非使用ROAM,否则我无法理解该方法) 无论如何,如果您能帮助我做出决定或有其他建议或方法,我将不胜感激。一个条件是该方法应该能够实现GPU端(至少是其中的大部分),以防止CPU瓶颈。 另一个要求是,当我在地形中获取大量细节时,我知道关于浮子精度的数值问题,我不知道如何解决,我在论坛上阅读了一个解决方案,但无法理解如何解决。实现,我失去了对该线程的跟踪,我想知道如何解决这个精度问题。 我目前正在阅读有关一些矩阵转换的信息,以解决浮点精度,z对抗问题,使用动态z值进行视锥剔除以及大块的数据表示(使用具有浮点的补丁空间及其在世界坐标中的位置为double)我认为我可以轻松解决精度问题。我仍然需要在LOD方法与您的意见和建议之间进行比较,以决定哪种方法更适合该项目。考虑实施难度,视觉质量,性能,我想要最好的。 我忘了提到的是,这一代是混合的,我的意思是,我应该能够完全使用GPU(即时计算的高度)和/或使用基本的高度图图像渲染地球,并使用GPU(顶点)添加细节着色器)。纹理化是我会麻烦的一个侧面部分,现在我很高兴只使用取决于高度的颜色,或者使用片段着色器上生成的某种噪声纹理。

3
如何在游戏引擎中进行单元测试?
令我感到羞耻的是,我从未编写过适当的单元测试,只是编写了一些小的,无组织的测试程序,在测试成功后将销毁这些程序。我对如何在游戏项目中执行单元测试一无所知。(我的语言是C ++。) 我是否应该为引擎中的每个子系统有一个单独的项目以及与此相关的测试,然后再有一个更大的项目/解决方案来构建实际的引擎?举例来说event,我的引擎中装有模块;我该如何处理?

2
动画融合基础
假设我有一个框架,其中包含可以奔跑和行走的角色,当然,请保持静止。 我是否认为动画混合是通过在运行时生成动态动画在这些动画之间平滑过渡的过程? 如果是这样,如何运作的基本理论是什么,我将如何实施?
23 c++  animation 


3
我应该使用文本文件保存数据吗?
我的问题是我是否应该使用文本文件保存游戏数据。我对此有一些基本的担忧: 实际上,没有任何方法可以保护数据,因此,如果用户触摸数据,可能会搞砸一切,而我不希望这种情况发生。 这可能不是存储数据的最有效方法(将会有很多) 我知道如何有效地解析/写入文本文件,因此对于原型制作来说,它们很棒。我只想着眼于未来,我应该考虑切换到什么地方,这样它就不会在开发快要结束时打我。 如果我不应该使用文本文件,应该使用什么?我需要兼容C ++的东西。

1
静态和动画3D模型的文件格式
此问题是从Stack Overflow 迁移而来的,因为可以在Game Development Stack Exchange上回答。 迁移 8年前。 我目前正在使用C ++和OpenGL编写3D游戏,而我即将加载3D模型。因此,我正在寻找流行的文件格式和技术来 显示静态网格物体和 渲染动画网格。 我已经发现了很多可能的格式和技术,例如关键帧动画,骨骼动画,MD2到MD5、3DS,X,Collada等。 为了简单起见,我想使用一种允许同时使用的格式(和技术),即静态和动画网格。所以我的问题是,是否有一种格式适合该任务,您建议使用哪种格式。并澄清一下:我不需要超平滑动画或全新功能。 旁注:因为我是搅拌机爱好者(但不是专家;-),所以可以将其与之配合使用-但这当然不应该成为表演的障碍。
22 c++  opengl 


5
改善O(N ^ 2)函数(所有实体迭代所有其他实体)
有一点背景知识,我正在和一个C ++的朋友一起编写一个演化游戏,使用ENTT作为实体系统。生物在2D地图中四处走走,吃些绿色或其他生物,繁殖并改变其特性。 此外,当实时运行游戏时,性能还不错(60fps没问题),但我希望能够显着加快速度,而不必等待4小时即可看到任何重大变化。所以我想尽快得到它。 我正在努力寻找一种有效的方法来让生物找到食物。每个生物都应该寻找最接近它们的最佳食物。 如果要吃东西,应该以中心位置为中心的生物以149.64半径(视野距离)环顾四周,并根据营养,距离和种类(肉或植物)来判断应选择哪种食物。 。 负责查找每个生物食物的功能正在消耗大约70%的运行时间。简化当前的编写方式,它是这样的: for (creature : all_creatures) { for (food : all_entities_with_food_value) { // if the food is within the creatures view and it's // the best food found yet, it becomes the best food } // set the best food as the target for creature …

3
非整数速度值-是否有更干净的方法可以做到这一点?
通常,我会希望使用速度值(例如2.5)在基于像素的游戏中移动角色。但是,如果这样做,碰撞检测通常会更加困难。所以我最终做了这样的事情: moveX(2); if (ticks % 2 == 0) { // or if (moveTime % 2 == 0) moveX(1); } 每当我不得不写那封信时,我都会畏缩一次,是否有一种更清洁的方式来移动具有非整数速度值的角色,或者我会永远坚持这样做吗?

6
将游戏数据/逻辑与渲染分离
我正在使用C ++和OpenGL 2.1编写游戏。我在想如何将数据/逻辑与渲染分开。目前,我使用基类“ Renderable”,该基类提供了一种纯虚拟方法来实现绘图。但是每个对象都有如此专门的代码,只有对象知道如何正确设置着色器制服和组织顶点数组缓冲区数据。最后,我在代码中多次进行gl *函数调用。有没有通用的绘制对象的方法?
21 c++  opengl  rendering  logic  data 

4
现代游戏代码中实际使用了多少汇编程序?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 平均而言,现代游戏代码中多久使用一次汇编? 特别是在已经具有良好C ++编译器的平台(例如x86,PPC或ARM)上,因为我认为嵌入式系统上的游戏会大量使用汇编语言。
21 c++  c 

5
学习如何通过Assembly进行优化[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 我是计算机游戏技术专业的二年级学生。我最近完成了我自己的“探路者”的第一个原型(它不使用A *而是几何方法/模式识别,探路者只需要他认为有关的地形知识即可做出决定,因为我想要一个可以实际探索的AI(如果已经知道地形),那么它将很容易以最短的方式行走,因为探路者具有节点的内存。 无论如何,我的问题更笼统:如何开始优化算法/循环/ for_each / etc。使用汇编语言,但欢迎使用一般技巧。我特别在寻找好书,因为要找到与此主题相关的好书真的很困难。有一些像这样的小文章,但仍然不足以优化算法/游戏... 我希望那里有一本现代的好书,我只是找不到...

10
与C ++竞争游戏编程
此问题是从Stack Overflow 迁移而来的,因为可以在Game Development Stack Exchange上回答。 迁移 8年前。 我很好奇为什么C ++在游戏开发中如此流行,而不是其他语言。我知道您可以使用它创建非常快速的代码,但是究竟是什么使它流行呢? 仅仅是因为它速度快吗?它是语言的其他功能吗,例如OO范例或可移植性?是因为所有随时间推移创建的库吗?还是所有这些(和其他)原因的某种组合? 如果有人可以帮我解决这个问题,我会很高兴的。:-)
21 c++ 

2
在2D游戏中实现相机/视口
将相机/视口实现到2D游戏的最实用方法是什么? 我读过,应该存储对象的世界位置而不是相对于屏幕的位置? 现在的情况: 我实现了一个简单的2D游戏,从XML文件加载对象和关卡。当前,级别XML文件如下所示: <map> <tile obj="ground" x="0" y="555" /> <tile obj="ground" x="16" y="555" /> <tile obj="ground" x="32" y="555" /> ... </map> 所有对象都有一个二维矢量“位置”,将其当前位置存储在屏幕上。 我想要的是: 图片中: 相机为800x600或640x480 块和精灵为16x16像素。 世界大小可能有所不同 坐标可能应该相对于世界而不是相对于屏幕进行标准化? 视口相对于播放器x,y的位置,并在播放器到达相机死区时移动(类似于此视频)。 我问的是伪示例/文章,但是如果您需要了解我在开发中使用的东西:SDL和C / C ++。
20 c++  2d  architecture  camera 

4
什么是存储动态游戏对象的最有效容器?[关闭]
很难说出这里的要求。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,不能以当前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 7年前关闭。 我正在做第一人称射击游戏,我知道很多不同的容器类型,但是我想找到最有效地存储动态对象的容器,该对象将在游戏中频繁添加和删除。EX子弹。 我认为在那种情况下,它将是一个列表,以便内存不连续并且永远不会进行任何大小调整。但随后我也正在考虑使用地图或集合。如果有人有任何有用的信息,我将不胜感激。 我是用c ++编写的。 另外,我想出了一个我认为可行的解决方案。 首先,我将分配一个大尺寸的向量。比如说1000个对象。我将跟踪此向量中最后添加的索引,以便知道对象的末尾在哪里。然后,我还将创建一个队列,该队列将保存从向量中“删除”的所有对象的索引。(不会进行实际的删除,我只知道该插槽是免费的)。因此,如果队列为空,我将添加到向量+ 1中最后添加的索引,否则,我将添加至队列前面的向量的索引。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.