我一直在使用SFML + ImGui开发2D引擎。
使用ImGui渲染编辑器,场景窗口为sf::RenderTexture,我绘制GameObjects然后转换为ImGui::Image
以在编辑器中渲染它。
现在我需要在今年的学士学位中创建一个3D引擎,但是使用SDL2 + ImGui,我想重新创建我用2D引擎做的事情。
我设法像使用ImGui附带的Example一样在2D引擎中渲染编辑器。
但我不知道如何在SDL2中创建等效的sf::RenderTexture
,因此我可以在那里绘制3D场景并将其转换为ImGui::Image
以在编辑器中显示它。 / p>
如果能提供代码会更好。如果您希望我提供任何具体代码,请告诉我。
谢谢!
答案 0 :(得分:0)
认为你正在寻找这样的东西:
// Create a render texture
SDL_Texture *target = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, width, height);
// Activate the render texture
SDL_SetRenderTarget(renderer, target);
// (Do your rendering here)
// Disable the render texture
SDL_SetRenderTarget(renderer, NULL);
// (Use the render texture)