[英]Add stroke to object in OpenGL using GLKit
我正在使用GLKit和OpenGL在应用程序中的视图上绘制一些对象。 我一直在尝试向要绘制的对象之一添加笔触,但是我找不到解决该问题的好方法。 我可能可以使用纹理或通过在对象上绘制线条来添加笔触,但是听起来不像是好的/智能的方法。 用笔划绘制对象的常用方法是什么?
这是我当前正在使用的代码( modelViewMatrix
和vertices
在其他位置定义):
GLKBaseEffect *effect = [[GLKBaseEffect alloc] init];
effect.useConstantColor = YES;
effect.constantColor = kPlayerColor;
effect.transform.projectionMatrix = modelViewMatrix;
[effect prepareToDraw];
glEnableVertexAttribArray(GLKVertexAttribPosition);
glVertexAttribPointer(GLKVertexAttribPosition, 2, GL_FLOAT, GL_FALSE, 0, vertices);
glDrawArrays(GL_TRIANGLE_STRIP, 0, sizeof(vertices) / sizeof(vertices[0]));
glDisableVertexAttribArray(GLKVertexAttribPosition);
在下面的图片中,您可以看到我当前绘制的内容(左侧)和我想要绘制的内容(右侧):
因此,基本上我想做的就是向对象添加笔触(在这种情况下为黑色)。 并非所有对象都像此示例一样简单。
总结一下我的问题是:如何使用OpenGL绘制带有笔触的对象?
进行轮廓绘制的最简单方法是将模型渲染为带有粗线的线框,然后再次在线上方正常渲染。
或者,您可以使用纯色渲染按比例放大的模型,然后再次正常渲染。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.