草庐IT

SDL_GL_SetAttribute

全部标签

c++ - SDL 链接器错误

下面的代码非常简单。它只是使用SDL将图像绘制到带有背景的屏幕上。我之前能够运行的程序运行良好,可以毫无问题地引用所有内容。然而,现在编译器会报错。无论如何,这是代码:#include#include#include"SDL/SDL.h"constintSCREEN_WIDTH=640;constintSCREEN_HEIGHT=480;constintSCREEN_BPP=32;usingstd::string;SDL_Surface*load_image(std::stringfilename){SDL_Surface*loadedImage=NULL;SDL_Surface*op

c++ - 通过 glTranslatef - OpenGL 在另一个位置重绘 gl_Quads

起初我有一个像这样的简单的白色直角棱镜:代码如下:glBegin(GL_QUADS);glColor3f(255,255,255);glVertex3f(0.3,0,2.5);//sisibawahglVertex3f(0.5,0,2.5);glVertex3f(0.5,0,2.6);glVertex3f(0.3,0,2.6);glVertex3f(0.5,0,2.6);//sisikiriglVertex3f(0.3,0,2.6);glVertex3f(0.3,1.5,2.6);glVertex3f(0.5,1.5,2.6);glVertex3f(0.5,0,2.5);//sisid

c++ - 在 Qt 中创建原始 GL 上下文?

我在一个项目中使用Qt。它有一些QGLWidgets,它们工作得很漂亮。问题是,我有一些我想使用的遗留代码,它们使用原始OpenGL命令来执行一些纹理和网格处理(将网格渲染为图像等)。我想从我的Qt代码中调用这些函数,当然这需要我在调用OpenGL命令之前设置一个新的OpenGL上下文。我尝试执行以下操作:QGLContextcontext(QGLFormat::defaultFormat());std::cout但它不起作用。QGLContext::create()返回false。这是在Windows7上使用Qt4.8,编译时支持OpenGL。这是要求Qt为我创建新的OpenGL上下

c++ - 如何使用 SDL_CreateTexture

我想知道如何使用SDL_CreateTexture功能。我只想创建纹理,给它一种颜色并将其绘制在屏幕上的某个位置。我不想加载任何图片。我以为我可以按此顺序使用SDL_CreateTexture、SDL_SetTextureColorMod、SDL_RenderCopy、SDL_RenderPresent,但我总是得到一个黑色矩形而不是红色矩形。#includeintmain(intargc,char*argv[]){SDL_Init(SDL_INIT_EVERYTHING);SDL_Window*MainWindow=SDL_CreateWindow("MyGameWindow",SD

c++ - 在 SDL 中打印键的名称

我的SDL程序正在返回所有键都相同的内存地址,我正在尝试打印键的名称,即如果用户按下“F”键,控制台输出“F”。我将如何着手编辑我的代码以实现此目的?voidGame::handleEvents(){SDL_Eventevent;if(SDL_PollEvent(&event)){switch(event.type){caseSDL_QUIT:g_bRunning=false;//SDL_Quit();break;caseSDL_KEYDOWN://thisisthelinethatisnotworkingasexpected.std::cout 最佳答案

c++ - MVS2015 使用 SDL2 不断给出 "unresolved externals"错误

我试图让SDL与我的MVS2015一起工作,但到目前为止没有成功,我真的想让它工作,所以我将解释我所做的每一步。首先,我从SDL安装指南下载了预构建SDL2库:https://wiki.libsdl.org/Installation,然后解压。在MVS2015中创建一个新的控制台应用程序,打开项目属性页面并正确设置“包含目录”,我检查了三次,也为“库目录”做了这个。然后我转到“链接器”->“输入”并将SDL2.lib添加到“附加依赖项”。到目前为止一切顺利,我的代码现在应该可以与SDL一起使用了吧?我做了一个简短的主要测试它是否有效:#includeintmain(){SDL_Init

c++ - 用opengl画图SDL Renderer就没用了吗?

我正在学习SDL2,但我也在使用使用OpenGL调用的imgui库。根据我在各种在线博客上阅读的内容,我不能轻易混合SDL2渲染器和opengl调用;我要么使用其中一个。我读过的大部分教程都使用渲染器,所以我不太明白如何在没有渲染器的情况下使用SDL2来绘制图元或绘制Sprite。以此为例:http://lazyfoo.net/tutorials/SDL/11_clip_rendering_and_sprite_sheets/index.php他创建了sdl渲染器:gRenderer=SDL_CreateRenderer(gWindow,-1,SDL_RENDERER_ACCELERA

C++ SDL帧率脉冲

最近我一直在开发一些供自己使用的SDL包装器,但我遇到了一个自从我第一次开始使用SDL库以来一直遇到的问题。看,和许多其他人一样,我一直在使用类似于这个的计时器http://lazyfoo.net/SDL_tutorials/lesson14/index.php调节我的帧率,运动永远不会流畅。它看起来不像是双缓冲或vsync问题,而是移动很流畅,但会周期性地跳跃和断断续续(实际上它有一定的脉搏和节奏)。每当关闭帧率调节时,脉冲就会消失——当然,一切都会变得不可用)所以我很确定这与它有关。我组装了一个小应用程序,它只包含计时器和一个围绕它移动的红色方block。我会把代码放在这篇文章的末

c++ - 如何向 SDL 线程发送附加参数?

是的,我知道如何创建SDL线程。intmyfunc(void*data){//mycode...}SDL_CreateThread*mythread=SDL_CreateThread(myfunc,NULL);但是如果我想做类似的事情怎么办:intmyfunc(void*data,intmyparameter1,charmyparameter2){//mycode...}SDL_CreateThread*mythread=SDL_CreateThread(myfunc,NULL,42,'c');即如何为具有多个参数的函数创建一个线程(参数不包括通常的'void*data')如果这不可能

c++ - 如何在 SDL2 中旋转一个矩形?

我打算制作一款游戏,我想为该游戏制作一些背景动画。其中一个动画是一个旋转的矩形。我找遍了所有地方,但找不到任何形式的数学或逻辑来让我旋转矩形(具体来说是SDL_Rect,但您可能已经知道了)。我自己无法算出数学,我真的没有任何可用的代码,所以我无法展示任何东西。本质上,我正在寻找某种类型的逻辑,我可以应用矩形的坐标,以便每当主游戏循环循环时,它都会将矩形旋转一定度数。 最佳答案 你不能旋转SDL_Rect.如果你看一下它的定义,它是由左上角的坐标、宽度和高度组成的。无法表示边不平行于坐标系轴的矩形。SDL_RenderCopyEx不