图像在 SDL 2.0 中不显示
Image doesn't show in SDL 2.0
我正在使用SDL 2.0编写OpenGl游戏。现在我有一个问题。我将在屏幕上画一个图像。现在我创建窗口并初始化一切。图像加载没有错误,但不显示在屏幕上。下面是一些代码示例。所有这些代码都需要绘制位图。没有显示其他代码。我用这个代码看到一个黑窗口。没有图像:(。(将代码更新为main和函数)
void Bitmap(const tstring& nameRef, int xPos, int yPos, int width, int height)
{
SDL_Surface* image;
SDL_Rect rect;
rect.x = xPos;
rect.y = yPos;
rect.h = height;
rect.w = width;
image = SDL_LoadBMP(("./GameData/Bitmap/" + m_FileName).c_str());
SDL_BlitSurface(image , NULL , SDL_GetWindowSurface(GAME_ENGINE->GetMainWindow()) , &rect);
}
int main(int argc, char** argv)
{
SDL_Window * m_MainWindowPtr =nullpr;
//Initialize SDL
if(SDL_Init(SDL_INIT_EVERYTHING) < 0)
{
return false;
}
//Create Window
if(m_Fullscreen == false)
{
m_MainWindowPtr = SDL_CreateWindow(m_WindowName.c_str(), SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, m_ScreenWidth, m_ScreenHeight, SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE | SDL_WINDOW_OPENGL);
}
else if(m_Fullscreen == true)
{
m_MainWindowPtr = SDL_CreateWindow(m_WindowName.c_str(), SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, m_ScreenWidth, m_ScreenHeight, SDL_WINDOW_FULLSCREEN | SDL_WINDOW_RESIZABLE | SDL_WINDOW_OPENGL);
}
//check if the window is made, else quit the game
if(m_MainWindowPtr == nullptr)
{
return false;
}
//Enable unicode
//SDL_EnableUNICODE( SDL_TRUE );
// NEEDED TO DRAW OPENGL
SDL_GLContext glcontext = SDL_GL_CreateContext(m_MainWindowPtr);
//LIKE THE OLD SWAP BUUFERS FUNCTION
SDL_GL_SwapWindow(m_MainWindowPtr);
Bitmap("test.bmp", 500, 500, 247, 360);
}
sdl_updat竖立?
你是否正确设置了OPEN_GL?视窗?
如果你打算使用opengl进行渲染,我看不到任何opengl代码。
试试这里的例子,告诉我们它是如何进行的?
http://wiki.libsdl.org/moin.fcg/SDL_GL_CreateContext尝试SDL_RenderPresent(取代SDL_Flip和SDL_UpdateRects在SDL 2.0)或OpenGL解决方案,添加张贴。
相关文章:
- SDL 映像:无法打开映像,仅显示错误消息
- SDL + OpenGL ES 2.0 使用着色器显示纹理
- 用SDL TTF显示带有SDL2和OpenGL的文本
- SDL视频显示窗口:如何连接窗口关闭事件回调
- SDL窗口根本不显示
- C++ 和 SDL 一次在屏幕上显示的图像不能超过 3 张
- SDL图像不显示
- 在visual Studio 2012上使用SDL加载.BMP图像时,它只显示一个帧
- SDL 窗口不显示。
- SDL 上的 OpenGL 纹理仅显示某些纹理
- SDL 代码已编译,但窗口未显示
- 为什么 SDL 程序不显示 BMP 图片
- 未显示 SDL 窗口
- SDL 2通过SpriteManager在屏幕上显示图像,获得指针中断
- SDL窗口不显示
- C++/SDL需要帮助才能在屏幕上显示图像
- 在Mac OSX下的SDL中不显示图像和文本
- 图像在 SDL 2.0 中不显示
- SDL切换全屏显示帧
- 无法在SDL 2中显示纹理