繁体   English   中英

使用GLKit向OpenGL中的对象添加笔触

[英]Add stroke to object in OpenGL using GLKit

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

进行轮廓绘制的最简单方法是将模型渲染为带有粗线的线框,然后再次在线上方正常渲染。

或者,您可以使用纯色渲染按比例放大的模型,然后再次正常渲染。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM