jjzjj

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进行这样的组合吗?如果任何答案

iphone - OpenGL ES 不会删除我在内存中的纹理

我目前正在开发一个使用OpenGLES1.0渲染一些基本纹理的iOS应用程序(iPad和iPhone)。我使用map集来存储和呈现我的纹理。我的主图集相对较大(2000x2000),但我的内部算法加载纹理并将其调整为2048x2048,因为OpenGLES仅接受2倍大小纹理的幂。我可以绘制瓷砖,这边一切都很好。每次尝试加载和卸载(销毁)纹理时,我都会面临严重的内存泄漏。这应该在最终版本中发生,但我需要确保我的加载和卸载都很好。在内存中,纹理占用2048x2048x4(RGBA)字节=16MB大约。这是一个巨大的字节数,所以你明白这个问题对我来说很烦人(iOS会在几分钟后终止应用程序..

ios - 在 iOS 上使用 OpenGL ES 2.0 创建 FBO 的最小示例

我无法创建FBO,然后将其用作我的iOS应用程序中的纹理。我已经在github上上传了我的应用程序的精简版本,它显示了问题。我得到的只是一个空白屏幕,上面有一种我从未设置过的奇怪颜色。查看状态,FBO创建成功。https://github.com/glman74/simpleFBO我已经看过相关的stackoverflow问题,特别是下面来自datenwolf的链接它显示了如何使用GLUT设置FBO,但不使用着色器。我仍然不确定我做错了什么。https://github.com/datenwolf/codesamples/blob/master/samples/OpenGL/minim

xcode - 图像纹理中的物理体不起作用

我有以下代码行,您可以在下面看到:Enemy.physicsBody=SKPhysicsBody(texture:player.texture,size:player.size)当我尝试运行这段代码时,出现以下错误:Valueofoptionaltype'SKTexture?'notunwrapped;didyoumeantouse'!'or'?'谁能告诉我我做错了什么! 最佳答案 初始化方法SKPhysicsBody(texture:player.texture,size:player.size)需要SKTexture实例而不是O

Swift 无法覆盖子类中的变量

我正在使用Swift开发一个macOS项目,在我创建的几个类中重写变量时遇到了很多麻烦。在classTwo中,Xcode在线上显示错误Cannotoverridewithastoredproperty'texture';overridevartexture:SKTexture?这是我正在使用的部分代码。publicclassclassOne:SKSpriteNode{requiredpublicinit?(coderaDecoder:NSCoder){fatalError("init(coder:)hasnotbeenimplemented")}//Otherfunctions}还有第