我正在使用带有 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绘制带有笔划的对象?