Questions tagged «c++»

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

4
HDR如何运作?
我试图了解什么是HDR及其工作方式。 我了解基本概念,并对如何使用D3D / hlsl进行实现有一点了解。 但是,它仍然很雾。 假设我要渲染一个具有地球纹理和一小部分顶点的球体,以充当恒星,那么如何在HDR中渲染呢? 这是我有些困惑的事情: 我猜想,我不能为纹理使用任何基本的图像格式,因为在着色器中,值将限制为[0,255]并限制为[0,1]。后缓冲区同样如此,我认为格式需要为浮点格式? 还涉及哪些其他步骤?当然,不仅仅需要使用浮点格式来渲染到渲染目标,然后在后期处理中应用一些光晕?(考虑到输出将始终为8bpp) 基本上,HDR的步骤是什么?它是如何工作的 ?我似乎无法找到任何好论文/文章描述的过程中,除了这一个,但它似乎有点掠过基础,所以它的混乱。
17 c++  hlsl  directx11  hdr 

1
如何在面向对象的编程中应用面向数据的设计?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我已经阅读了很多有关面向数据的设计(DOD)的文章,并且我理解它,但是我不能在设计时就牢记DOD的面向对象的编程(OOP)系统,我认为我对OOP的教育正在阻碍我。我应该如何融合两者?目的是在幕后使用DOD时拥有一个良好的OOP界面。 我也看到了这一点,但并没有太大帮助:https : //stackoverflow.com/questions/3872354/how-to-apply-dop-and-keep-a-nice-user-interface
17 c++  architecture 

3
在游戏开发中,C ++是否仍然“首选”?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我是2D游戏程序员。我擅长的某些编程语言是C,Java和C#。我也知道Actionscript 2.0、3.0和一些javascript。我对学习3D游戏编程感兴趣。到目前为止,我通过谷歌搜索和阅读不同的游戏开发论坛和文章而积累的研究成果。我注意到大多数程序员倾向于使用C ++。在在线游戏编程教学课程中,我注意到他们更喜欢将C ++和Visual C ++作为入门课程。之所以问这个问题,是因为我想了解C ++,C#和Java在3D游戏编程方面的“优势”差异。 还包括指向2D游戏程序员的良好 3D游戏编程文章的链接。 PS:恕我直言,我也发现C ++是神秘的。
17 c++  3d  game-industry 

5
什么时候应该使用向量/列表?
我可以理解何时使用列表,但是不知道何时使用向量比在视频游戏中使用列表更好:何时可以进行快速随机访问? (而且我知道为什么在列表中插入/删除会更快,因为它只是删除/添加了指针,但仍然必须找到对应的项目...)

4
如何为我的游戏编写一个保存/加载系统?
我试图找出一种方法来为我的游戏使用C ++编写保存/加载系统。截至目前,我正在使用二进制标志来完成所有操作。任何人都有其他方法的线索吗?我不介意使用二进制文件,但我想知道我的选择。我还想要一种可以很容易地检查一个事件是否完成以决定某些事情的东西(该游戏中的许多物品系统取决于玩家的完成或未完成)在整个游戏过程中)。
17 c++  loading 

1
是否可以在不使用编辑器的情况下将虚幻引擎用作大型C ++库?
我想完全用C ++编写游戏,但是我想从虚幻引擎提供的功能中受益,尤其是在图形和物理方面。但是,我强烈不喜欢它的视觉编辑器:我发现它笨拙,缓慢且不直观。最后,它迫使我使用Visual Studio而不是我最喜欢的C ++ IDE。 有没有一种方法可以将虚幻引擎用作我可以直接包含在C ++项目中的大型库,还是我不得不使用虚幻编辑器? 有关Unity的问题:如何在最少/不使用可视编辑器的情况下在Unity中构建游戏?
16 c++  unreal-4  unreal 

4
如何在俄罗斯方块中旋转块
我有一个游戏板网格,该网格高20行,宽10列,其原点(0,0)位于左上角。我在玩四联体,由四个方块组成。我有每个块相对于左上角原点的x,y位置。我还具有枢轴的位置,即我希望围绕其旋转的点,该点相对于左上角的原点。 每个方块在游戏板正方形中具有整数位置,因此枢轴在方块之间具有小数位置,例如(10.5,10.5) 我的问题是:我可以使用哪个公式围绕枢轴旋转每个块? 我已经看过现有的类似问题和答案,但是找不到我可以工作的答案。 帮助将不胜感激。
16 c++  rotation 

3
我应该使用数据库存储游戏内容吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为话题成为Game Development Stack Exchange。 4年前关闭。 我有一个使用SFML用C ++编写的2D游戏。我想使游戏具有可扩展性,可以通过在文件或数据库中添加行/条目/行来轻松添加诸如项目或实体之类的内容。 我正在寻找不需要编译到程序中的东西,而是可以在运行时读取和写入的东西。什么时候使用数据库合适?
16 c++  sfml  databases 

6
如何在C ++引擎编程中正确使用单例?
我知道单例很糟糕,我的旧游戏引擎使用了单例“ Game”对象,该对象处理从保存所有数据到实际游戏循环的所有事情。现在我要制作一个新的。 问题是,要在SFML中绘制某些内容,请window.draw(sprite)在window是的地方使用sf::RenderWindow。我在这里看到2个选项: 制作一个单例游戏对象,游戏中的每个实体都将检索该对象(我以前使用过的对象) 使它成为实体的构造函数:(Entity(x, y, window, view, ...etc)这只是荒谬而烦人的) 在将实体的构造函数保持为x和y的同时,执行此操作的正确方法是什么? 我可以尝试跟踪我在主游戏循环中所做的所有事情,只是在游戏循环中手动绘制其精灵,但这似乎也很麻烦,我也希望对实体的整个绘制功能具有绝对的完全控制权。

2
相对于框架/引擎,裸机OpenGL为小型开发人员提供了哪些优势?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 6年前关闭。 我注意到一种趋势,独立开发人员会放弃框架和引擎,转而使用裸机OpenGL或将其与SDL / SFML2结合使用。作为独立开发人员,我看不到低级OpenGL在单独的引擎或框架上可以提供什么。 大多数像样的引擎和框架都提供了您需要的功能,而不会妨碍您。他们可能还会打开直接处理OpenGL的选项。有些甚至提供了编译跨平台的功能! 我了解渴望了解幕后情况的愿望,但我看不到OpenGL可能为独立开发人员带来的任何好处引擎或框架方面的。 您能解释一下使用OpenGL从头开始构建游戏的原因吗?
16 opengl  c++ 

2
大型游戏中的输入管理技术
是否有用于管理大型游戏中输入的标准技术。当前,在我的项目中,所有输入处理都在游戏循环中完成,如下所示: while(SDL_PollEvent(&event)){ switch(event.type){ case SDL_QUIT: exit = 1; break; case SDL_KEYDOWN: switch(event.key.keysym.sym){ case SDLK_c: //do stuff break; } break; case SDL_MOUSEBUTTONDOWN: switch(event.button.button){ case SDL_BUTTON_MIDDLE: //do stuff break; } } break; } (我正在使用SDL,但我希望主要实践也适用于库和框架)。对于大型项目,这似乎不是最佳解决方案。我可能有几个对象都想知道用户所按的内容,因此使这些对象处理输入更为有意义。但是,它们不能全部处理输入,因为一个事件发生后,它将被推入事件缓冲区,因此另一个对象将不会接收该输入。最常用的方法是什么?
16 c++  sdl  input  standards 

5
当大多数教程过时时,从OpenGL开始[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 4年前关闭。 我确定已经有很多这样的问题,但是OpenGL库的不断更新使它们全都消失了,而在一两个月后,这里的答案将再无价值。 我准备开始使用C ++在OpenGL中进行编程。我有一个正在运行的编译器(DevCpp;不要问我切换到VC ++,不要问我为什么)。现在,我只是在寻找有关如何使用OpenGL进行编程的可靠教程。我的助手找到了NeHe Productions提供的教程,但是当我发现时,它已经过时了!(尽管我确实汇总了一个基本窗口以支持OpenGL画布) 然后我上网,找到了明显使用freeglut的OpenGL SuperBible?但是我想知道的是SuperBible 5th Edition是否已经更新。我发现关于freeglut的建议说最新版本是2.6.0,但现在是2.8.0! OpenGL SuperBible仍然是一个不错的,相当新的起点吗? 有没有更好的学习OpenGL的地方? 我是否可以将freeglut简单地存储在DevCpp include目录中(也许在GL中),或者有一些重要的过程吗? 因为我才刚刚开始,有什么我想问的意见或建议吗? @dreta为我清除了一些问题,因此现在我对要问的问题有了更好的了解: 我想我想使用包装器库从OpenGL开始,而不是直接访问OpenGL。我只是认为,对于初学者来说,对我而言,编程和获得良好结果会更容易,而我还不必了解所有肮脏的细节(如@stephelton所述)。 问题是,我找不到没有对不再支持的函数的未定义引用的任何库。Freeglut听起来可以运行,但仍使用GLU。有人知道我能做什么吗?另外,我尝试编译第一个SuperBible的源代码,但是由于没有将GLAPI定义为类型,所以出现了错误,该错误源自GLU库。 我想使用《 SuperBible》,但我不知道该如何解决。
16 c++  opengl 

6
我可以在C ++中为移动平台开发游戏吗?
我精通C ++和C,也有使用C ++开发AAA游戏的经验。现在,我毫不客气地考虑着手开发iOS或Android手机游戏。不幸的是,我不了解Objective-C和Java,也没有勇气学习它。因此,如上所述,在不使用JAVA和Objective-C的任何声明的情况下,是否有可能在C ++中进行移动开发?
16 c++  java  android  ios  objective-c 

1
在Mac OSX上使用PS3控制器进行输入
我设法找到一个USB驱动程序以连接到OSX中的PS3控制器,并且如此处所述,可以通过蓝牙连接到该控制器。 我已验证输入是否可以通过Snes9x正常工作。 无论如何,这只是我实际问题的背景。在Mac上,是否可以通过C ++访问PS3 HID?对于使用XCode在Mac上进行C ++开发的人来说,我还比较陌生,而对于寻找可能要使用的库,互联网一直令人失望。 是否有人对如何访问代码中的控制器按钮/轴状态有任何想法,以便可以将其传输到输入映射?

3
是否有任何文档比较/对比C ++标准库的实现?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为话题成为Game Development Stack Exchange。 4年前关闭。 (这本身不是游戏编程,但是我确定如果我这样问我,即使历史告诉我们每个大型游戏最终都担心这些事情,我还是被告知不要过早优化。) 是否有文档可以总结不同C ++标准库实现之间的性能差异,尤其是内存使用情况?一些实现的细节受到NDA的保护,但是即使是STLport与libstdc ++,libc ++与MSVC / Dinkumware(相对于EASTL)之间的比较似乎也非常有用。 我特别在寻找以下问题的答案: 标准容器有多少内存开销? 什么容器(如果有的话)仅通过声明进行动态分配? std :: string是否在写时复制?短字符串优化?绳索? std :: deque使用环形缓冲区还是废话?

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.