顶我想用一个固定的纹理摄像机的图像凹凸映射...凹凸贴图上的iPhone相机
我发现下面的线索: Bump Mapping on the iPhone
上一般凹凸映射技术。但他们没有真正的例子或教程来说明如何去做。
现在,以防万一,有谁知道如何在iPhone上凹凸贴图或如何修改与iPhone的iPhone相机饲料好教程? PS:最后最后做了一些不同的事情,即refracting my Image using the OpenGL ES 2.0 refract function。
顶我想用一个固定的纹理摄像机的图像凹凸映射...凹凸贴图上的iPhone相机
我发现下面的线索: Bump Mapping on the iPhone
上一般凹凸映射技术。但他们没有真正的例子或教程来说明如何去做。
现在,以防万一,有谁知道如何在iPhone上凹凸贴图或如何修改与iPhone的iPhone相机饲料好教程? PS:最后最后做了一些不同的事情,即refracting my Image using the OpenGL ES 2.0 refract function。
响应您的评论,要将OpenGL效果添加到相机输出中,您需要使用iOS 4中引入的AVFoundation。可用于从相机获取像素数据的实时提要,您可以将其上传到OpenGL作为一种纹理 - 允许你随后做任何你想做的事情。
如果你会原谅我参考我过去提供的答案,那么开始接收合适缓冲区的基本内容是here。
你会在辅助线程收到您的委托方法CMSampleBuffers:
- (void)captureOutput:(AVCaptureOutput *)captureOutput
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
fromConnection:(AVCaptureConnection *)connection
您可以使用CMSampleBufferGetImageBuffer
获得CVImageBuffer和使用的CVPixelBufferLockBaseAddress
CVPixelBufferGetBaseAddress
,CVPixelBufferGetBytesPerRow
组合,并可能CVPixelBufferGetWidth
和CVPixelBufferGetHeight
得到像素的C数组。在我对iPhone 4和iPhone 3GS进行测试时,缓冲区只能回到紧密排列的状态(所以在行之间没有填充),这意味着它可以立即作为GL_BGRA上传,因为所有iPhone支持APPLE_texture_format_BGRA8888扩展名日期。
从那里你很明显需要弄清楚在顶点和片段着色器方面要做什么,这取决于你是否有一个法线贴图,你实际上想要影响可见形状的凹凸贴图(如果是的话,是否通过顶点扰动或光线投射)或其他。
人们倾向于相当松散地使用这个术语 - 你对凹凸贴图的定义是什么?例如,你是否肯定询问一些不能用作普通地图的东西? – Tommy 2011-03-11 16:00:13
嗯,我想我自己想到了整个凹凸贴图,但是iPhone iPhone 3D编程虽然有帮助。现在更大的问题是如何将OpenGL效果添加到相机输出。 – Bersaelor 2011-03-15 13:20:34