gpt4 book ai didi

iphone - 在 GLPaint 中使用画笔删除

转载 作者:行者123 更新时间:2023-12-03 18:35:15 26 4
gpt4 key购买 nike

作为修改GLPaint的一部分,我尝试添加删除功能,用户可以选择橡皮擦按钮并像绘画一样删除绘制的区域。

我尝试在 "renderLineFromPoint:(CGPoint)start toPoint:(CGPoint)end" 方法中使用条件语句,以便我可以检查笔画是用于绘画还是用于删除。

对于删除,我不知道如何使用“start”和“end”参数进行删除。 OpenGL中是否有像glClear()这样的方法调用接受这两个参数并进行删除?

任何指针都会非常有帮助。谢谢。

最佳答案

Erase using brush in GLPaint 有着同样的脉络,您可以重复使用

- (void)renderLineFromPoint:(CGPoint)start toPoint:(CGPoint)end 

满足条件的方法:

if (isEraserBrushType) {
glBlendFunc(GL_ONE, GL_ZERO);
glColor4f(0, 0, 0, 0.0);
} else {
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
[self setBrushColorWithRed:brushColourRed green:brushColourGreen blue:brushColourBlue];
}

代码上方:

// Render the vertex array
glVertexPointer(2, GL_FLOAT, 0, eraseBuffer);
glDrawArrays(GL_POINTS, 0, vertexCount);

注意,您需要实现 isEraserBrushType,并以某种方式存储 BrushColourRed、brushColourGreen 和 BrushColourBlue。

关于iphone - 在 GLPaint 中使用画笔删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4048811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com