- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在开发一款基于 Apple 的 GLPaint 示例代码的应用程序。我已将透明颜色更改为透明黑色并添加了一个不透明度 slider ,但是当我将颜色与低不透明度设置混合在一起时,它们不会按照我期望的方式混合。它们似乎以光线混合的方式混合,而不是油漆混合的方式。这是我的意思的一个例子:
“期望的结果”是通过使用 glReadPixels 分别渲染每种颜色并将其与先前渲染的图像合并(即使用苹果的默认混合)获得的。
但是,将每一帧与前一帧混合太耗时,无法实时完成,我怎样才能让 OpenGL 正确混合颜色?我已经在线研究了很长时间,但尚未找到适合我的解决方案,如果您需要任何其他信息来帮助,请告诉我!
最佳答案
从目前的情况来看,没有简单的解决方案。对于您正在尝试做的事情,您需要自定义着色器。仅使用 GLKit 是不可能的。
幸运的是,您可以混合使用 GLKit 和 OpenGL ES。
我的建议是:
一个好的起点是加载 Xcode 附带的 OpenGl 模板。并开始修改它。警告:如果您不了解着色器,那么此处的代码将毫无意义。它绘制 2 个立方体,一个使用 GLKit,一个不使用 - 使用自定义着色器。
开始学习的引用资料:
最后,如果您真的想充分发挥 OpenGL ES 的潜力,那么您真的应该花时间通读 OpenGL ES 2.0 programming guide .尽管它已有 6 年历史,但它仍然具有相关性,并且是我找到的唯一一本正确解释所有概念的书。
关于ios - 基于 GLPaint 的 OpenGL ES 混合问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21619706/
我是 iPhone 应用程序开发新手,目前正在为 iPhone 开发一个简单的绘画应用程序。我首先使用 GLPaint 源代码。我尝试使用以下方法更改画笔大小。 我创建了一个 UIViewContro
我正在尝试通过逆向工程 GLPaint 在白色背景上绘制。我已经尝试过 kSaturation、kLuminosity 和 glBlendFunc 的每种组合,以及我能想到的画笔纹理的几乎所有组合(黑
苹果手绘示例GLPaint , 使用 OpenGL ES 绘制不能用大框架绘制。我需要在大 Canvas 上绘制超过 {2410, 1808} 的内容。但是当我尝试绘图时,控制台上会显示一条消息, 2
我正在尝试在 iPhone 上开发一个复杂的绘画应用程序。我目前正在使用 Quartz 绘图(例如 CGContext...)。不幸的是,Quartz 开销对于我正在做的绘图类型来说太慢了,我正在使用
目前我正在使用基于 GLpaint 的绘图应用程序。保存当前屏幕对我来说变得非常痛苦。我有一个 ViewController,在 View Controller 的顶部,我加载了 UIIMageVie
作为修改GLPaint的一部分,我尝试添加删除功能,用户可以选择橡皮擦按钮并像绘画一样删除绘制的区域。 我尝试在 "renderLineFromPoint:(CGPoint)start toPoint
我正在使用 GLPaint 在 UIView 中绘画,但我不想使用橡皮擦。我知道有删除刷的代码是: glBlendFunc(GL_ONE, GL_ZERO); glColor4f(0, 0, 0, 0
我目前使用的库基于 Apple 的 GLPaint 示例,用于在 Open GL 的屏幕上绘图。目前,每当 Canvas 保存和恢复 session 时,都会绘制线条(可以看到进度),如果要渲染的点很
我已经下载了Apple提供的GLPaint示例,正在尝试了解它的结构。 我想更改应用程序中使用的 brushImage,以便我可以改变绘图时使用的画笔类型。我试图重新加载 View ,以便找到一种方法
我正在开发一个基于 GLPaint 代码的绘图应用程序。有人知道如何获得这样的效果吗?我已经尝试使用不同的宽度值和画笔高度值,但它仍然保持不变。 我需要考虑 glBlendFunc() 吗?或者是否可
我们正在为新应用程序使用 GLPaint 示例。我们希望向用户展示绘制少量对象的方法。看到apple GLPaint有一个例子,如何将点的数据回放到绘图上。 因此,我们设法提供了自己的数据,并且除了使
我最近下载了 GLPaint 示例代码并查看了其中非常有趣的部分。有一个 recordedPaths NSMutableArray,其中包含点,然后由 GLPaint 读取和绘制。 这里声明: NSM
我正在开发绘画应用程序。我试过用 CoreGraphics/Quartz 2D 来做,绘制曲线算法很慢。所以我们决定切换到 OpenGL ES。 我从来没有任何 OpenGL 经验,所以我从苹果找到了
我想重写 Apple 源代码,GLPaint 应用程序,但不像示例那样使用 OpenGL,我想使用 Core Graphics 库。但我坚持像 GLPaint 一样显示纹理。 这是我在 Core Gr
您好,我正在试用绘图应用程序,但在保存绘制的图像时遇到了问题。现在我很早就开始学习这个但是我已经添加了代码: How to get UIImage from EAGLView?保存绘制的图像。 我创建
我想在示例代码“GLPaint”上支持纵向和纵向颠倒。这个应用程序支持纵向和纵向颠倒的代码是什么? 示例代码“GLPaint” http://developer.apple.com/library/i
我在一个类似于 GLPaint 的项目中遇到 GLKit 问题。 首先,我没有使用 GLKViewController,而只是添加到我的类中的 GLKView。 我的问题是,当我在 GLKView 中
我正在开发一款基于 Apple 的 GLPaint 示例代码的应用程序。我已将透明颜色更改为透明黑色并添加了一个不透明度 slider ,但是当我将颜色与低不透明度设置混合在一起时,它们不会按照我期望
有没有人尝试过使用 OpenGl ES 2.0 的 GLPaint 示例应用程序?我尝试使用 glMatrixMode()、glPointSize()、glOrthof()、glTexEnvf() 方
我正在为 iPad 编写一个类似 GLPaint 的绘图应用程序,但是我遇到了一个绊脚石。具体来说,我目前正在尝试实现两件事: 1) 可以绘制的背景图像。 2) 绘制临时形状的能力,例如您可能会画一条
我是一名优秀的程序员,十分优秀!