草庐IT

SDL_GL_SetAttribute

全部标签

c++ - GL_TEXTURE_3D 是什么意思?

我知道纹理只是一个图像(绝对是2D),那么为什么我们有GL_TEXTURE_3D?这是什么意思?和用法? 最佳答案 纹理不是绝对二维的。大多数时候它是2d,但你也可以有1d纹理(一条线)和3d纹理(一个体积)。使用三个纹理坐标访问3D纹理。当您的3d模型可以被飞机剪裁时,您可以使用它。然后,您可以使用3d纹理制作实体对象并查看平面裁剪的内容,而不是看到对象的另一面(对象是空心的)。因此,例如,如果您为手机建模并将其切成两半,您将看到内部电路而不是背面。 关于c++-GL_TEXTURE_

c++ - SDL2 渲染纹理明显滞后于鼠标

我在Windows上使用SDL2(我测试过Windows7和Windows8)。我正在尝试渲染锁定到鼠标坐标的纹理以创建一种“十字准线”效果。它有效,但纹理明显滞后于鼠标,这在鼠标移动和渲染更新之间造成了尴尬的延迟。老实说,延迟很小,但对于关心绝对准确性的人来说,这会让人发疯。我的问题基本上是,这正常吗?我猜延迟是由于Windows将事件传递给SDL然后SDL将事件传递给我所花费的时间。如何通过SDL实现锁定的“十字准线”效果?我的引用代码:#include"SDL.h"intmain(intargc,char*args[]){SDL_Init(SDL_INIT_EVERYTHING)

c++ - 没有带有 SDL 的 stdout.txt

我正在使用C++和SDL2在Windows7下使用Code::Blocks12.11开发一个小游戏。我正在使用mingw32-gcc编译器并下载了SDL2(现在是2.0.1)的标准预编译Windows发行版并使用i686-w64-mingw32版本。到目前为止,一切正常,我得到了图形输出,SDL_ttf扩展也正常工作。唯一从一开始就没有奏效的是按预期从SDL获取我的stdout到txt文件中:无论我做什么,我从来没有在任何地方获得stdout.txt或stderr.txt,甚至一次都没有看到这些文件被创建。这些文件也不会在运行时创建并在程序关闭时删除,它们根本不会被创建。当我将我的程序

c++ - Windows Vista/7 上的 SDL_Mixer MIDI 音量问题

我实际上并不精通C++或SDL_Mixer,但我还是代表Doom社区问这个问题。简而言之,没有人编写Doom源端口似乎可以弄清楚如何在WindowsVista或7上使用SDL_Mixer独立控制正常音量和MIDI音量。我让永恒引擎的作者JamesHaley用他自己的话说:SeemstheconceptofindependentvolumefornativeMIDIdoesn'texistunderWindowsVistaor7,asusingMIDIvolumeslidersinanyapplicationthathasthem(includingmostgamesthatuseSDL

windows - SDL_Image IMG_Load 在带有 : "Failed loading libpng16-16.dll:" 的 png 上失败

每当我尝试使用SDL_Image的IMG_Load函数加载PNG时,它都会给出错误Failedloadinglibpng16-16.dll:。我在正确的路径中拥有所有正确的dll,我可以使用SDL_Image的其他部分,但由于某种原因它无法加载libpngdll。我怎样才能解决这个问题?感谢您的帮助。 最佳答案 对于MinGW-w64(32位),libpng16-16.dll似乎依赖于zlib1.dll。尝试将zlib包含到您的依赖项中——将DLL包含在可执行文件运行的文件夹中。 关于w

c - 使用 SDL 时未定义对 WinMain@16 的引用

我在让一切正常工作方面遇到了很多麻烦,以便我可以在Windows上开始开发,而不是Linux,这是我在编码时通常使用的。我在尝试编译SDL程序时遇到了一个相当奇怪的问题。我一包含SDL库,程序就拒绝编译,给我这个错误:c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../libmingw32.a:Infunction'main':C:\MinGW\msys\1.0\src\mingwrt/../mingw/main.c:73:undefinedreferenceto'WinMain@16'collect2:ldreturned1existstat

windows - 具有 OpenGL 和 SDL 预编译 Windows 分发版的 Haskell 或 Ocaml

我想学习Ocaml或Haskell,我想通过编写一个简单的游戏来实现。显然,有一个小问题:没有人关心Windows,而我想在Windows上进行本地操作。Haskell有Cabal,它有SDL,但由于一个没有解决方法的小问题(传递给gcc的参数顺序),它没有构建。Ocaml甚至没有,它都在源包中,无论是GLCaml还是OcamlSDL或其他什么。有没有什么地方可以让我在Windows上获得适用于Haskell或Ocaml的有效SDL,而无需与十几个版本的编译器作斗争? 最佳答案 Haskell平台附带了对OpenGL的绑定(bind

javascript - pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);

如果使用OpenGLES,我一直在尝试找出与UNPACK_FLIP_Y_WEBGL行等效的内容。我一直找不到解决方案。谁能帮我找到一个等价物?问候 最佳答案 它在ES2.0中不存在。解决方案从好到坏排序在编译时翻转图像。这就是专业人士所做的。为什么要浪费内存和代码,如果不需要,为什么要让用户等待翻转图像?上下颠倒加载图像(libpng有该选项)加载后翻转。假设每channelRGBA8位图像,翻转代码类似于voidflipInPlace(unsignedchar*data,intwidth,intheight){size_tline

ios - glDrawElements 与 GL_LINES 强制 gleRunVertexSubmitARM? (或 : why drawing wireframes is slow on iOS? )

在为我正在处理的iPhone/iPad小项目做一些测试时,我观察到使用带有GL_LINES的glDrawElements绘制线框时CPU性能有很大的损失。这是场景:一个有640个顶点的模型(4个float用于位置,3个float用于法线,没有对齐问题……全部在4字节边界上)3840个索引(无符号短)顶点和索引都使用VBO(无VAO)上面使用glDrawElements和GL_TRIANGLES绘制的模型效果很好然后:具有640个顶点的相同模型2560个索引IBO且无VAO使用带有GL_LINES的glDrawElements绘制会触发对gleRunVertexSubmitARM的连续调

ios - Open GL + 无限循环导致性能下降

我正在开发一个模拟器作为一个副业/有趣的项目,但我遇到了一些性能问题并且无法弄清楚它们的来源。该应用程序主要由用于显示的GLKView和用于cpu仿真的无限循环的独立线程组成。这是一个示例,其中取出了所有实际的仿真代码,但仍然显示问题:@implementationViewController-(void)viewDidLoad{[superviewDidLoad];GLKView*glView=[[GLKViewalloc]initWithFrame:self.view.bounds];glView.delegate=self;glView.context=[[EAGLContext