如何使用 OpenGL 创建位图的立体挤压?
我有一个位图图像(RGB,无 Alpha),如下图所示(字母“R”):
使用 OpenGL 和 OpenGL 哪个是最好的方法? VC++,创建位图的挤压?参数是 3f 向量。实体挤压或仅表面挤压都可以。
有什么想法吗?
I have a bitmap image (RGB, no alpha), like the image below (letter 'R'):
Which is the best way, with OpenGL & VC++, to create the extrusion of the bitmap? Parameter is a 3f vector. Either solid extrusion or surface only extrusion is ok.
Any idea?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
就像经常说的那样:OpenGL“仅仅是”一个绘图 API,将三角形光栅化到屏幕上。它不涉及场景。它不涉及几何。
位图的挤压需要两个特定的任务,OpenGL 无法为您完成这两个任务: 矢量化轮廓。挤压轮廓。困难的部分是矢量化,平面闭合路径的挤压很简单。
Like said so often: OpenGL is "merely" a drawing API, rasterizing triangles to the screen. It doesn't deal with scenes. It doesn't deal with geometry.
Extrusion of a bitmap requires two specific tasks, neither of which OpenGL can do for you: Vectorizing the outline. Extruding the outline. The hard part is vectorizing, extrusion of a planar, closed path is simple.
我有一个解决方案,但它利用纹理 3D 功能进行实体挤压,因此速度非常慢:
“按矢量长度复制位图数据(像素数据)以创建 3D 纹理”
但是,这只是垂直挤压(垂直矢量) ,坦率地说,速度很慢。
I have one solution, but it utilises the texture 3D feature to make solid extrusion so it is truely slow:
"Duplicate the bitmap data (pixel data) by vector length to create 3D texture"
However, this is only perpendicular extrusion (perpendicular vector), and frankly, it's slow.