sfml 相关问题

SFML(简单快速多媒体库)是一种用C ++编写的便携且易于使用的多媒体API。您可以将其视为SDL的现代,面向对象的替代方案。 SFML由几个软件包组成,完全满足您的需求。您可以将SFML用作与OpenGL交互的最小窗口系统,或者作为用于构建游戏或交互式程序的全功能多媒体库。

如何在 C++ 中管理一个类的多个实例,为它们提供所有信息然后删除它们?

对于我的语言不精确,我深表歉意,我对编程还很陌生。 假设我正在尝试在 SFML 中创建粒子效果。我目前的解决方案是创建多个 inst...

回答 1 投票 0

对象速度在 SFML C++ 中随机变化

我在 SFML C++ 中创建了一个小程序,我希望在其中移动一个对象。但我的问题是移动速度不是恒定的,有时速度随机下降并且移动不流畅......

回答 1 投票 0

未处理的异常...堆栈溢出

我正在学习 SFML。我正在尝试使用“SFML 游戏开发”中的代码运行一个非常基本的 SFML 程序,但出现错误: 在 test-s 中的 0x799BEA64 (sfml-window-d-2.dll) 抛出异常...

回答 0 投票 0

由于 Imgui-sfml,文本未绘制到屏幕

#include“physics.hpp” #包括 #包括 #包括 #包括 #包括 #包括 #在...

回答 0 投票 0

SFML 库不会被发现:致命错误:SFML/Graphics.hpp:没有这样的文件或目录

我正在尝试安装 SFML 并将其包含到我的 VS 代码中,我也是一个绝对的初学者。 我查了几个关于这个主题的视频,但没有帮助。 我尝试运行的代码是示例代码 ...

回答 0 投票 0

SFML 安装没有库复制到 /Library/Frameworks。 [MacOS]

我正在尝试运行 SFML 程序,但它无法加载库。我知道安装步骤建议: >将Frameworks的内容复制到/Library/Frameworks。 https://www.sfml-dev.org/tutorials/2.5...

回答 1 投票 0

C++ SFML 窗口在跳出后停止响应

我想在我的 SFML 窗口没有响应的情况下使用 cin 命令进行输入 输入后立即。 我试过查找一些教程,但我想我的搜索很模糊,因为 o...

回答 0 投票 0

为什么不是所有的键都在 SFML 事件循环之外处理?

我面临着如何在循环中或循环外处理击键的问题?为此,我需要阅读点击次数 w a s d 键不会在 KeyPressed 循环外处理,但是 ...

回答 1 投票 0

为什么精灵不动?

我正在使用 SFML 作为我的图形库,用 C++ 制作横向卷轴平台游戏。因此,它不是让玩家移动,而是让周围的世界移动。我为 Tile Map 创建了一个类,并为 ...

回答 0 投票 0

使用 SFML 将地球纹理显示到 OpenGL 球体上时出现彩虹伪像错误

我正在使用 SFML 作为窗口,使用 OpenGL 来显示带有纹理的球体。然而,我没有看到地球纹理,而是看到了一个奇怪的彩虹神器。我在 Windows 11 上运行并使用 SFM...

回答 0 投票 0

hb 你给我一些很好的 sfml 替代品,因为 sfml csnt 加载字体 [关闭]

因为 sfml 无法加载字体,有哪些好的 sfml 替代品? 我问了好几个星期,而且很详细。也许实际上是有帮助的,而不是无视我或对 c++ &l 没有任何线索......

回答 0 投票 0

如何在 SFML 程序中减慢显示变化?

我写了一个简单的 SFML 程序,我想看看有什么变化,具体的排序算法是如何工作的。我怎样才能做到这一点。我尝试了多线程,但我可能对你的知识薄弱......

回答 0 投票 0

我想删除我的帖子,谢谢

我想删除我的帖子,谢谢。

回答 1 投票 0

ObjectName 未知覆盖说明符。缺少类型说明符[关闭]

我在 Board chessBoard 对象上遇到了这两个错误。我不明白错误。 我试着搜索错误,但我看不出这些解释与我的代码有什么关系。

回答 0 投票 0

尝试从文件加载 SFML 着色器时出错

我正在尝试在我的 sfml 应用程序中实现着色器,但没有成功。在 ubuntu 上使用 g++ 编译时出现以下错误: 无法编译顶点着色器: 0:1(1):错误:重复

回答 0 投票 0

CMake 构建时出错:FREETYPE_LIBRARY 中缺少项目

我正在尝试在运行于 wsl-ubuntu 上的 Microsoft Visual Code 上安装测试程序 (https://github.com/o-reo/push_swap_visualizer)。 该程序的开发人员说,为了安装...

回答 0 投票 0

无法从“b2BodyUserData”转换为“sf::Shape *”

我结合了 sfml 和 box2d。但是我的源代码有错误。 在这段代码中 sf::Shape* shape = static_cast(body->GetUserData()); 如何从 b2bodyuserdata 转换为 sf::

回答 1 投票 0

“找不到<SFML/Graphics.hpp>”,除非包含在 main.cpp

我开始学习 C++ 的 SFML,我设法设置它(我认为),只要我在 main.cpp 中编译我的练习,一切都很好,但是一旦我尝试 #包括 里面...

回答 0 投票 0

OpenGL立方体渲染错误

我有 108 个 GLfloat 变量的数组,它们形成 36 个顶点和相同的颜色数组。 #包括 #包括 #包括 #包括 我有 108 个 GLfloat 变量的数组,它们形成 36 个顶点和相同的颜色数组。 #include <iostream> #include <SFML/Graphics.hpp> #include <GL/glew.h> #include <GL/GL.h> #include <glm/glm.hpp> #include <glm/gtc/matrix_transform.hpp> const GLchar* codeVertArray[] = { "#version 460\nin vec3 VertexPosition;layout(location = 1) in vec3 vertexColor;out vec3 Color;uniform mat4 RotationMatrix;void main(){Color = vertexColor;gl_Position = RotationMatrix * vec4(VertexPosition / 2, 1.0);}" }; const GLchar* codeFragArray[] = { "#version 460\n in vec3 Color;\nout vec4 FragColor;\nvoid main()\n {FragColor = vec4(Color, 1);}" }; GLfloat g_vertex_buffer_data[] = { -1.0f, -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, 1.0f, 1.0f, -1.0f, 1.0f, 1.0f, -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, 1.0f, 1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f, 1.0f, 1.0f, -1.0f, -1.0f, 1.0f, -1.0f, 1.0f, 1.0f, -1.0f, 1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, 1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f, 1.0f, -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, 1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f, -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, 1.0f, -1.0f, 1.0f, 1.0f, -1.0f, 1.0f, -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, -1.0f, -1.0f, 1.0f, -1.0f, 1.0f, 1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f, 1.0f, 1.0f, -1.0f, 1.0f, -1.0f }; static const GLfloat g_color_buffer_data[] = { 0.583f, 0.771f, 0.014f, 0.609f, 0.115f, 0.436f, 0.327f, 0.483f, 0.844f, 0.822f, 0.569f, 0.201f, 0.435f, 0.602f, 0.223f, 0.310f, 0.747f, 0.185f, 0.597f, 0.770f, 0.761f, 0.559f, 0.436f, 0.730f, 0.359f, 0.583f, 0.152f, 0.483f, 0.596f, 0.789f, 0.559f, 0.861f, 0.639f, 0.195f, 0.548f, 0.859f, 0.014f, 0.184f, 0.576f, 0.771f, 0.328f, 0.970f, 0.406f, 0.615f, 0.116f, 0.676f, 0.977f, 0.133f, 0.971f, 0.572f, 0.833f, 0.140f, 0.616f, 0.489f, 0.997f, 0.513f, 0.064f, 0.945f, 0.719f, 0.592f, 0.543f, 0.021f, 0.978f, 0.279f, 0.317f, 0.505f, 0.167f, 0.620f, 0.077f, 0.347f, 0.857f, 0.137f, 0.055f, 0.953f, 0.042f, 0.714f, 0.505f, 0.345f, 0.783f, 0.290f, 0.734f, 0.722f, 0.645f, 0.174f, 0.302f, 0.455f, 0.848f, 0.225f, 0.587f, 0.040f, 0.517f, 0.713f, 0.338f, 0.053f, 0.959f, 0.120f, 0.393f, 0.621f, 0.362f, 0.673f, 0.211f, 0.457f, 0.820f, 0.883f, 0.371f, 0.982f, 0.099f, 0.879f }; int main() { using glm::mat4; using glm::vec3; sf::RenderWindow window(sf::VideoMode(1000, 1000), "My window"); window.setActive(); window.setFramerateLimit(60); if (glewInit() != GLEW_OK) { std::cout << "Glew init problem" << std::endl; return -1; } GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER); glShaderSource(vertexShader, 1, codeVertArray, nullptr); GLuint fragShader = glCreateShader(GL_FRAGMENT_SHADER); glShaderSource(fragShader, 1, codeFragArray, nullptr); GLuint shaderHandle = glCreateProgram(); glAttachShader(shaderHandle, vertexShader); glAttachShader(shaderHandle, fragShader); glLinkProgram(shaderHandle); glDeleteShader(vertexShader); glDeleteShader(fragShader); GLuint vao; GLuint VAOposId; GLuint colorbuffer; glGenVertexArrays(1, &vao); glBindVertexArray(vao); glGenBuffers(1, &VAOposId); glBindBuffer(GL_ARRAY_BUFFER, VAOposId); glBufferData(GL_ARRAY_BUFFER, sizeof(g_vertex_buffer_data), g_vertex_buffer_data, GL_STATIC_DRAW); glEnableVertexAttribArray(0); glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, (void*)0); glGenBuffers(1, &colorbuffer); glBindBuffer(GL_ARRAY_BUFFER, colorbuffer); glEnableVertexAttribArray(1); glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 0, (void*)0); glBufferData(GL_ARRAY_BUFFER, sizeof(g_color_buffer_data), g_color_buffer_data, GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0); glBindVertexArray(0); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LESS); mat4 rotationMatrix = mat4(1.0f); float angle = 0; while (window.isOpen()) { sf::Event event; while (window.pollEvent(event)) { if (event.type == sf::Event::Closed) window.close(); } glUseProgram(shaderHandle); rotationMatrix = glm::rotate(mat4(1.0f), glm::radians(angle), vec3(0, 1, 1)); GLuint location = glGetUniformLocation(shaderHandle, "RotationMatrix"); angle++; glUniformMatrix4fv(location, 1, GL_FALSE, &rotationMatrix[0][0]); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClearColor(0, 0, 0, 1); glBindVertexArray(vao); glEnableVertexAttribArray(0); glEnableVertexAttribArray(1); glDrawArrays(GL_TRIANGLES, 0, 36); window.display(); } return 0; } 我为此创建了 2 个 VBO 并将其添加到 VAO: glGenVertexArrays(1, &vao); glBindVertexArray(vao); glGenBuffers(1, &VAOposId); glBindBuffer(GL_ARRAY_BUFFER, VAOposId); glBufferData(GL_ARRAY_BUFFER, sizeof(g_vertex_buffer_data), g_vertex_buffer_data, GL_STATIC_DRAW); glEnableVertexAttribArray(0); glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, (void*)0); glGenBuffers(1, &colorbuffer); glBindBuffer(GL_ARRAY_BUFFER, colorbuffer); glEnableVertexAttribArray(1); glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 0, (void*)0); glBufferData(GL_ARRAY_BUFFER, sizeof(g_color_buffer_data), g_color_buffer_data, GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0); 然后在window update cycle中绘制VAO: glBindVertexArray(vao); glEnableVertexAttribArray(0); glEnableVertexAttribArray(1); glDrawArrays(GL_TRIANGLES, 0, 36); 但是有些三角形渲染有问题 https://imgur.com/a/Wfk5au0 我只用渲染代码创建新项目https://github.com/DLOzTOR/CubeOpenGL,但仍然有这个问题。 也许缓冲区配置或 glDrawArrays 设置有问题?

回答 0 投票 0

带有 Qt 和 Cmake 的 SFML

如何使用 CMake 和 CMakeLists 将 SFML 库添加到我的 Qt 项目中? 这是我的文件夹结构: 在“外部库”中是我提取 SFML zip 的地方:

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.