c++ - 如何仅将部分 OpenGL 代码实现到使用 SDL 编写的游戏中?
问题描述
所以,我正在制作一款类似于 Vector Runner 的游戏。我有一个背景纹理和几个使用 SDL 实现的纹理对象。我想使用 glRotate 旋转背景。我不希望它移动或任何东西,我只想对它有不同的看法(类似于第三人称视角)并保持这种状态。由于现在一切都是 SDL,我可以只制作 background.h 和 .cpp 并仅在那里实现 OpenGL,还是我需要在整个代码中使用它,或者有没有办法使用 SDL 来实现?
解决方案
就个人而言,我不会尝试将 OpenGL 与 SDL 的 2D 表面类型代码混合使用。我要么使用 OpenGL 来实现精灵(更快,更多的操作选项),要么在可能的情况下使用 SDL 函数(最简单的选项),或者使用软件渲染来旋转背景(非常便携,一切都在你的控制之下)。
我想使用 glRotate 旋转背景。我不希望它移动或任何东西,我只想对它有不同的看法(类似于第三人称视角)并保持这种状态。
如果您想自己进行旋转,您可以使用纹理映射技术,并自己逐像素渲染。如果背景没有移动,您只需执行一次并将结果存储在缓冲区中。
SDL 还有一个渲染功能,让您可以选择旋转源图像(没有透视变换选项):https ://wiki.libsdl.org/SDL_RenderCopyEx
推荐阅读
- spring - Spring Boot - 创建涉及多个数据库表的端点 - 最佳实践是什么
- java - Spring Data ElasticSearch(不推荐在搜索请求中指定类型)
- command-line-interface - gcloud dataproc 集群列表过滤器!=
- sql - 有没有办法通过它的值来查找一个 jsonb 列
- mysql - MySQL 查询以删除 2 个特定字符串之间的数据
- javascript - 如何从 2 个现有数组创建新数组?
- python-3.x - “|”是什么意思 而“>>”在 Apache Beam 中是什么意思?
- vbscript - vbscript 读取 xml 中的属性值并根据值是 x2 更改它
- mysql - 使用 JSON_TABLE 将 ARRAY 转换为 Columns
- c - 为什么在迭代大量 int 值时,我的代码中会出现这种分段错误?