我想通过将文件分组到目录中,将源代码分成多个文件夹,以更好地组织文件。
通常,有很多.h和.cpp文件,我通常会分开文件夹。我一直使用netbeans,但是最近我决定测试Visual Studio。
启动代码时(要遵循SDL游戏创建教程,这很困难),我开始在文件夹中组织源代码。在Visual Studio中,当我使用C ++时,可以看到添加过滤器以组织文件结构的选项,但是看不到添加文件夹的选项。
我可以在视觉上看起来像是文件夹结构的形式组织代码,但是当我检查文件是否混乱时,它们全都混在了程序的根目录下。菜单选项仅允许我添加过滤器:
显然,它是有组织的,但仅在视觉上,所有代码都保留在同一位置。
我想知道在Visual Studio中是否有一种方法可以将这些过滤器转换为文件夹,或者如何通过Visual Studio添加文件夹,因为我最终创建了文件夹并手动进行了重组。
并不是说我通常会有同名的文件,但是例如在那种环境下这是不可能的。除此之外,我认为如果您寻找某些东西,或者将来需要切换IDE,会变得很混乱,因为我相信这种逻辑组织不会在其他IDE(例如Eclipse,Netbeans等)中重用。
我正在尝试为基于2D平铺的游戏开发地图,我正在使用的方法是将地图图像保存在大纹理(平铺集)中,并通过顶点着色器更新位置,在屏幕上仅绘制所需的平铺然而,在10x10地图上涉及100个glDrawArrays调用,通过任务管理器查看,这消耗了5%的CPU使用率和4%~5%的GPU,想象一下如果它是一个包含数十个调用的完整游戏,有一种方法可以优化这样,比如准备整个场景,只做一次平局,一次全部绘制,或者其他一些方法?
void GameMap::draw() {
m_shader - > use();
m_texture - > bind();
glBindVertexArray(m_quadVAO);
for (size_t r = 0; r < 10; r++) {
for (size_t c = 0; c < 10; c++) {
m_tileCoord - > setX(c * m_tileHeight);
m_tileCoord - > setY(r * m_tileHeight);
m_tileCoord - > convert2DToIso();
drawTile(0);
}
}
glBindVertexArray(0);
}
void GameMap::drawTile(GLint index) {
glm::mat4 position_coord = glm::mat4(1.0 f);
glm::mat4 texture_coord = glm::mat4(1.0 f);
m_srcX = index * m_tileWidth;
GLfloat clipX = m_srcX / m_texture - …Run Code Online (Sandbox Code Playgroud)