Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在三维OpenGL场景上绘制SDL二维矩形?_C++_C_Opengl_Sdl_Emscripten - Fatal编程技术网

C++ 如何在三维OpenGL场景上绘制SDL二维矩形?

C++ 如何在三维OpenGL场景上绘制SDL二维矩形?,c++,c,opengl,sdl,emscripten,C++,C,Opengl,Sdl,Emscripten,我试图将SDL2D绘制的交互式信息矩形覆盖在OpenGL绘制的3D场景上。每个人都能工作,但不能一起工作。然后隐藏三维模型 SDL_Init(SDL_INIT_EVERYTHING); SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); SDL_GL_SetAttribute(SDL_GL

我试图将SDL2D绘制的交互式信息矩形覆盖在OpenGL绘制的3D场景上。每个人都能工作,但不能一起工作。然后隐藏三维模型

SDL_Init(SDL_INIT_EVERYTHING);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0);

SDL_CreateWindowAndRenderer(m_width, m_height, SDL_WINDOW_OPENGL|SDL_WINDOW_RESIZABLE, &m_window, &m_renderer);
SDL_GLContext context = SDL_GL_CreateContext(m_window);
SDL_RenderClear(m_renderer);
SDL_RenderPresent(m_renderer);

// load vertex, fragmend shader...

glClearColor(1.0, 1.0, 1.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glDrawElements(GL_TRIANGLES, m_indicesSize, GL_UNSIGNED_INT, BUFFER_OFFSET(0));

SDL_Rect rect;
rect.w = 50;
rect.h = 50;
rect.x = 100;
rect.y = 100;

SDL_SetRenderDrawColor(m_renderer, 255, 0, 0, 255);
SDL_RenderFillRect(m_renderer, &rect);
SDL_RenderPresent(m_renderer);

我怎样才能解决这个问题?Thxs.

至少现在你没有

或者,创建一个使用软件渲染器的SDL_渲染器实例,并将由此产生的位图上载到OpenGL纹理和合成中,并将其上载到场景中