草庐IT

ios - Metal 最佳实践 : Triple-buffering – Textures too?

在MetalBestPracticesGuide,它指出,为了获得最佳性能,应该“实现三重缓冲模型来更新动态缓冲区数据”,并且“动态缓冲区数据是指存储在缓冲区中的频繁更新的数据。”如果MTLTexture需要每帧更新,它是否符合“存储在缓冲区中的频繁更新数据”的条件?上面指南中的所有示例都集中在MTLBuffer上。我注意到Apple在MetalKit中的实现有一个nextDrawable的概念,所以也许这就是这里发生的事情? 最佳答案 如果一个命令可能正在运行并且它可以访问(读取/采样/写入)纹理,而您正在CPU上修改相同的纹理(

ios - 为什么这个最少的代码无法使用 OpenGL ES 1.1 绘制带纹理的三角形?

我正在尝试将512*512纹理渲染到由两个三角形组成的256*256正方形上。目标是学习如何在OpenGLES1.1中使用尽可能少的代码绘制两个三角形的纹理矩形。EXC_BAD_ACCESS:问题已解决!+500赏金给Sam:-)在调用glDrawArrays时,我得到了一个EXC_BAD_ACCESS。该项目使用ARC,使用Xcode5.0.2创建,我尝试在iPhone5模拟器和iPhone5S上运行它,结果相同。Sam指出,与其使用glEnableClientState(GL_COLOR_ARRAY);启用颜色数组,不如使用glEnableClientState(GL_TEXTUR

ios - 将生成的 SKTexture 保存到文件

I'venowfiledabugfortheissuebelow.Anyonewithagoodworkaround?我尝试将SKTexture保存到文件中,然后再次加载它,但我没有成功。可以将以下代码片段复制到Xcode启动项目中的GameScene.m。我在generateTexture中使用了textureFromNode,这似乎是我的问题的根本原因。如果我使用来自sprite的纹理,代码可以运行,并且可以看到两艘宇宙飞船。此代码在iOS8中有效,但在Xcode7和iOS9中停止工作。我只想在提交错误报告之前验证这是一个错误。我担心的是我对NSKeyedArchiver做错了什么

Unity2d开发总结——(Texture2d)Import Setting

导入2d图片检查器面板1.TextureType.(纹理类型)选择要创建的纹理类型。使用“纹理类型”属性选择要从源图像文件创建的纹理类型。“纹理导入”设置窗口中的其他属性会根据您设置的值而变化。以下是可用于在Inspector(检测器)窗口Unity中配置各种纹理类型的属性。1.1DefaultDefault(默认类型)是用于所有纹理的最常见纹理类型。它提供对纹理导入的大多数属性的访问。使用此纹理类型,还可以更改“纹理形状”属性以定义TextureShape(纹理形状)。1.1.1TextureShape使用TextureShape(纹理形状)属性可以选择和定义纹理的形状和结构。有四种形状类型

iphone - 如何在 iPhone 上生成柏林噪声

我想在iPhone上创建动画柏林噪音,所以我最终可以做这样的事情:http://dl.dropbox.com/u/1977230/example.png我看了又看,但找不到任何类似的东西或实际显示Perlin噪声的方法。我被告知要查看OpenGLES,但即使搜索Perlin噪声或熔岩/等ionic效果的示例也没有任何结果。如果能在这方面提供帮助,我将不胜感激。谢谢大家,安德烈 最佳答案 嗯,先研究PerlinNoise算法本身。http://en.wikipedia.org/wiki/Perlin_noise看起来是起飞的最佳地点。

ios - 为什么 iOS 设备上的 glGenerateMipmap() 会占用如此多的客户端内存?

我正在开发一个使用OpenGLES渲染图像的iOS应用程序。这是我设置纹理参数和数据的函数的关键代码片段:glGenTextures(1,&texture);glBindTexture(GL_TEXTURE_2D,texture);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLA

ios - SKTextureAtlas如何按顺序加载纹理

我使用SKTextureAtlas(.atlas文件夹)来存储我正在使用的动画的帧。我已经对帧进行了编号,例如frame.1.png、frame.2.png等-总共有10个帧。我注意到我的动画看起来很糟糕,尽管在我的图形程序中预览的帧看起来很棒。我NSLoged出来,发现它正在以随机顺序加载图集!我假设它至少会遵循捆绑文件顺序。如何在不自己对数组进行排序的情况下使用捆绑订单。另外,我是将@2x图像与其余图像放在一起,还是创建一个单独的图集?SKTextureAtlas*sleighAtlas=[SKTextureAtlasatlasNamed:@"sleigh"];NSArray*te

ios - 修改 CMSampleBuffer 内容的最有效方法

我想修改CMSampleBuffer的内容,然后用AVAssetWriter/AVAssetWriterInput写入文件。我这样做的方法是创建一个CoreGraphics位图上下文,然后在其中绘图,但速度太慢了。具体来说,我需要将图像绘制到缓冲区中。那么,是否可以就如何更有效地执行此操作提供某种提示或建议?我想过用OpenGL来实现,即首先从CMSampleBuffer创建一个纹理A。然后将根据我要绘制的图像创建的纹理B渲染到纹理A中,然后从OpenGL检索支持纹理A的数据,最后将该数据交给AVAssetWriter/AVAssetWriterInput。但是文档说将纹理数据从GPU

ios - Xcode 中的帧捕获失败

我正在使用Xcode4.5.1并在装有iOS6的iPhone5上进行测试。我一直在使用帧捕获功能没有问题,但突然它停止工作。当我按下抓帧按钮时,似乎抓到了帧,然后手机切换到黑屏,然后突然切换回应用程序屏幕,应用程序一直在运行。我仍然可以调试和暂停应用程序,但无法获取帧捕获。我也没有在控制台中看到任何错误。它停止工作的原因是这段代码。此代码应该将某些内容渲染到渲染纹理,但渲染纹理似乎是空白的。我想使用帧捕获功能找出问题所在,但代码本身不允许我捕获...:(知道为什么吗?//-------------initfunction-----------------//Createtheframe

iphone - 如何裁剪带 mask 的图像并将其与 iPhone 上的另一个图像(背景)组合? (首选 OpenGL ES 1.1)

我需要按照我在附件中表示的方式组合三个图像:1)一张图片是背景。它是“实心”的,因为它没有alphachannel。2)另一个是sprite。Sprite位于背景上。Sprite可能有自己的alphachannel,背景必须在sprite透明的地方可见。3)有很多蒙版:我每帧都对Sprite应用新的蒙版。面具不是矩形的。也就是说,可见像素=背景像素,如果裁剪蒙版对应的颜色是白色或Sprite是透明的;Sprite的像素否则(例如,对应的掩码的像素是黑色的)。我正在使用cocos2d-iphone。我可以与cocos2d-iphone或OpenGLES1.1进行这样的组合吗?如果任何答案