0

我正在使用带有 GLKit 的 OpenGL 将一些对象绘制到我的应用程序中的视图中。我一直在尝试为我正在绘制的一个对象添加笔触,但我想不出一个好的方法来做到这一点。我可能可以使用纹理或通过在对象上绘制线条来添加笔触,但这些听起来不像好/聪明的方法。用笔画绘制对象的常用方法是什么?

这是我目前正在使用的代码(modelViewMatrixvertices在其他地方定义):

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绘制带有笔划的对象?

4

1 回答 1

1

做这样的轮廓的最简单方法是将模型渲染为带有粗线的线框,然后在线条上方正常再次渲染。

或者您可以使用纯色渲染升技放大模型,然后再次正常渲染。

于 2013-07-03T20:24:54.437 回答