C 在linux控制台中创建openGL上下文(Raspbian)
我想用openGL在控制台中进行最小的视觉显示,但据我所知,必须有一个窗口系统(glut、glfw、sdl等) 我见过从控制台构建图形环境(我只是假设它是openGL或类似的东西,所以如果我错了,请纠正我),以节省一些处理能力,并使电影在PI中可观看 我只是想知道他们是怎么做到的?这个话题里有一些文学作品吗?我最感兴趣的是C/C++中的解决方案,但是任何具有这些功能的语言都非常值得了解 我翻遍了源代码,但找不到关于这个特定任务的线索。任何帮助或指示都将不胜感激 它使用本机平台接口 下面是该类的一些代码:C 在linux控制台中创建openGL上下文(Raspbian),c,graphics,opengl-es,console-application,raspbian,C,Graphics,Opengl Es,Console Application,Raspbian,我想用openGL在控制台中进行最小的视觉显示,但据我所知,必须有一个窗口系统(glut、glfw、sdl等) 我见过从控制台构建图形环境(我只是假设它是openGL或类似的东西,所以如果我错了,请纠正我),以节省一些处理能力,并使电影在PI中可观看 我只是想知道他们是怎么做到的?这个话题里有一些文学作品吗?我最感兴趣的是C/C++中的解决方案,但是任何具有这些功能的语言都非常值得了解 我翻遍了源代码,但找不到关于这个特定任务的线索。任何帮助或指示都将不胜感激 它使用本机平台接口 下面是该类的一
注意:Raspberry Pi使用OpenGL ES,而不是OpenGL 您可以在VideoCore SDK中找到制作基于控制台的OpenGL ES应用程序的示例:
/opt/vc/src/hello\u pi
我不知道你所说的“窗口系统”是什么意思,尤其是当你提到SDL时。您完全可以在控制台中使用SDL+OpenGL ES。这就是Quake3端口(和我制作的Quake2端口)的用途
void SubtitleRenderer::initialize_vg() {
// get an EGL display connection
display_ = eglGetDisplay(EGL_DEFAULT_DISPLAY);
ENFORCE(display_);
// initialize the EGL display connection
ENFORCE(eglInitialize(display_, NULL, NULL));
// get an appropriate EGL frame buffer configuration
static const EGLint attribute_list[] = {
EGL_RED_SIZE, 8,
EGL_GREEN_SIZE, 8,
EGL_BLUE_SIZE, 8,
EGL_ALPHA_SIZE, 8,
EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
EGL_NONE
};
EGLConfig config{};
EGLint num_config{};
ENFORCE(eglChooseConfig(display_, attribute_list, &config, 1, &num_config));