gpt4 book ai didi

swift - 在 Swift 项目中使用 OpenGL

转载 作者:行者123 更新时间:2023-11-30 10:05:50 25 4
gpt4 key购买 nike

我正在尝试将我的一个应用程序转移到使用 Swift。它包含一个 OpenGL 绘制循环(还包含一些 Cocoa 语句 - 是的,我意识到这可能是一个可怕的困惑类),所以我将原始 .m 和 .h 文件复制到我的新项目中,并添加了一个 *-Bridging - header.h 文件。我还添加了一个构建阶段来与 OpenGL.framework 链接(尽管我不确定是否需要这样做,而且这对问题没有影响)。

最初,我大量借鉴了 Apple 的示例 OpneGL 项目,并且在我尝试编译的一个文件中包含:

#include "sourceUtil.h"  

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#import <OpenGL/OpenGL.h>

demoSource* srcLoadSource(const char* filepathname)
{
demoSource* source = (demoSource*) calloc(sizeof(demoSource), 1);

// Check the file name suffix to determine what type of shader this is
const char* suffixBegin = filepathname + strlen(filepathname) - 4;

if(0 == strncmp(suffixBegin, ".fsh", 4))
{
source->shaderType = GL_FRAGMENT_SHADER;
}
else if(0 == strncmp(suffixBegin, ".vsh", 4))
{
source->shaderType = GL_VERTEX_SHADER;
}
else
{
// Unknown suffix
source->shaderType = 0;
}
// more code follows
.
}

但是,GL_FRAGMENT_SHADER 导致 Xcode 停止任何构建,并出现错误“使用未声明的标识符‘GL_FRAGMENT_SHADER’”——与 GL_VERTEX_SHADER 类似。我认为还会出现更多错误,但目前 Xcode 就停止于此。

最佳答案

您需要:#import <OpenGL/gl.h>

关于swift - 在 Swift 项目中使用 OpenGL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36030801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com