【发布时间】:2012-08-14 00:03:39
【问题描述】:
如何在 OpenGL 纹理上直接应用 CIFilter?避免 VRAM->RAM->VRAM (GPU->CPU->GPU) 动作。我的意思是避免这种类型的管道:
因为它们很慢。我需要以某种方式在 GPU 中做尽可能多的事情。但是怎么做呢?
【问题讨论】:
标签: objective-c macos cocoa opengl core-image
如何在 OpenGL 纹理上直接应用 CIFilter?避免 VRAM->RAM->VRAM (GPU->CPU->GPU) 动作。我的意思是避免这种类型的管道:
因为它们很慢。我需要以某种方式在 GPU 中做尽可能多的事情。但是怎么做呢?
【问题讨论】:
标签: objective-c macos cocoa opengl core-image
CGContextRef CGBitmapContextCreate (
void *data,
size_t width,
size_t height,
size_t bitsPerComponent,
size_t bytesPerRow,
CGColorSpaceRef colorspace,
CGBitmapInfo bitmapInfo
);
注意它需要 void *data。这可以是您可以直接传递给 OpenGL 的图像数据。
【讨论】:
imageWithTexture:size:flipped:colorSpace: 从纹理中获取 CIImage,然后应用 CIFilter 并以某种方式转换回纹理?但是怎么做呢?