草庐IT

opengl-compat

全部标签

ios - 如何在 iOS 中使用 OpenGL 播放视频?

我正在尝试在iOS中使用OpenGLES2.0播放视频。我无法获得示例代码或如何实现此目标的起点。有人可以帮我解决这个问题吗? 最佳答案 您正在寻找的是实时获取视频的原始缓冲区。我相信您需要查看AVFoundation并以某种方式提取CVPixelBufferRef。如果我没记错的话,你有几种方法;一个在特定时间按需处理,另一个用于处理,您将在block中快速迭代帧,而您可能需要的是实时接收帧。因此,您可以提取原始RGB缓冲区,将其推送到纹理,然后绘制到渲染缓冲区。我建议您创建一次纹理(每个视频)并尝试使其尽可能小,但要确保视频帧适

android - OpenGL绘图代码在跨平台项目中放在哪里?规划我的引擎代码

我正在尝试开发跨平台应用程序。我打算用尽可能多的C++编写iOS版本,然后在Android上使用相同的C++代码。如果我更新C++代码,我可以在其他平台上重新编译。我计划完全在XCode中开发它,专注于iOS开发,然后将C++文件转移到我的Android项目中。我正在尝试规划我正在编写的图形引擎,但我不确定应该将哪些代码放入C++部分以及应该将哪些代码放入平台特定部分。例如,一旦用Java或Swift代码创建了OpenGLES上下文,C++代码就可以使用该上下文进行绘制调用,或者这是否存在问题?我的绘图代码应该在C++部分还是平台特定部分?理想情况下,我希望唯一特定于平台的代码是关于文

OpenGL ES 3.0 帧缓冲区失效 glInvalidateFramebuffer

未经作者(微信ID:Byte-Flow)允许,禁止转载文章首发于公众号:字节流动很多朋友都听说过glInvalidateFramebuffer(帧缓冲区失效)这个API,很多读者私信问过很多次:帧缓冲区失效应该怎么使用?在什么条件下使用?有什么好处?函数原型:voidglInvalidateFramebuffer(GLenumtarget, GLsizeinumAttachments, constGLenum*attachments);glInvalidateFramebuffer接口是OpenGLES3.0引入的,提供了一个通知驱动程序不再需要帧缓冲区内容的机制。target必须是GL_RE

在Emscripten和QT之间共享OpenGL代码

我想在基于emscripten的前端(webgl2akagles3.0)和我的QT前端(OGL3.3)之间共享渲染代码(如果可行的话,但也不介意GLES3.0)。两者都使用完全相同的GL-Calls,因此我想将所有呼叫移动到从前端调用的辅助功能。问题是要便携,我想从GLES3/gl3.h在emscripten-part中,使用QOpenGLFunctions在qt-part(或其他同样便携的解决方案)中:guiwrapper.cpp:#includevoiddrawStuff(){glDrawArrays(...);//takenfrom}emscripten.cpp:#includevoid

ios - 在 iOS 上使用具有多个 VBO 和 IBO(多个对象)OpenGLES 2 的 VAO 进行绘制

我对多个对象(大约200个对象,其中15个对象一次可见,每个对象都有自己的顶点和索引缓冲区)使用VAO(顶点数组对象)感到有些困惑。下面是我的渲染函数-(void)glkView:(GLKView*)viewdrawInRect:(CGRect)rect{glClearColor(0.50f,0.50f,0.50f,1.0f);glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);[superdrawLines];for(inti=0;i0){self.paused=NO;}else{self.paused=YES;}}这工作得很好。在Ope

关于html生成骨架没有 <meta http-equiv=“X-UA-Compatible“ content=“IE=edge“>这段标签

修改前修改后 教程开始一.1.自己的vscode安装哪个盘 就在哪个硬盘路径搜索 2.搜索文件名 emmetNodeMain.js   3.用vscode打开文件Ctrl+F搜索 title{${1:Document}} 找到这一段在title的前面添加  meta[http-equiv='X-UA-Compatible'][content='IE=edge'] 修改完之后重启编辑器就可以了 修改其他或者添加其他元素同理第二种方法二.使用代码片段路径为或者如果没有文件夹或者没有文件就创建一个{"diyh5":{"prefix":"!","body":["","\n","","\t","\t",

ios - OpenGL ES 1.1 中 glDrawPixels() 的等价物是什么?

谁能告诉我glDrawPixels()的等价物在OpenGLES1.1中? 最佳答案 你被迫使用纹理。 关于ios-OpenGLES1.1中glDrawPixels()的等价物是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/708760/

c++ - iPad/X 平台上的 OpenGL ES 应用 : C++ or Objective-C?

我希望这有一个技术(而不是宗教)答案,但我想知道我是否应该使用Objective-C或C++在iPad上创建OpenGLES应用程序?由于最终目标是在Windows和OSX上编译它,我倾向于使用C++(并且只使用ObjC来处理我必须做的事情:AppDelegate等),但我有零具有Objective-C开发经验。我可以与Objective-C中的C++类交互吗?使用ObjC而不是C++有什么令人信服的理由吗?或者我应该只使用普通的旧C语言吗? 最佳答案 您可以,它称为Objective-C++,您需要做的就是确保您的源文件具有.mm

objective-c - iOS OpenGL 使用 glTexImage2D 的参数来制作 UIImage?

我正在处理分配给我的项目的一些现有代码。我成功调用了glTexImage2D,如下所示:glTexImage2D(GL_TEXTURE_2D,0,texture->format,texture->widthTexture,texture->heightTexture,0,texture->format,texture->type,texture->data);我想使用传递给glTexImage2D的变量创建一个图像(最好是CGImage或UIImage),但不知道是否这是可能的。我需要从OpenGLView创建许多连续图像(每秒很多图像)并保存它们供以后使用。我应该能够使用我在glTe

ios - 如何在 iOS(增强现实应用程序)的实时预览相机上制作 OpenGl ES 的屏幕截图?

我是Objective-C和iOS编程的初学者。我花了一个月的时间来了解如何使用AvFoundation在实时相机预览之上使用OpenGLES(1.1版)显示3D模型。我正在iPad上做一种增强现实应用程序。我处理输入帧并实时显示3D对象叠加与相机预览。这些很好,因为有很多关于这些东西的网站和教程(也感谢这个网站)。现在,我想截取整个屏幕(以相机预览为背景的模型)作为图像并显示在下一个屏幕中。我在这里找到了一个非常好的演示,http://cocoacoderblog.com/2011/03/30/screenshots-a-legal-way-to-get-screenshots/.他