如何使用 OpenGL 创建位图的立体挤压?

发布于 2024-12-04 04:22:05 字数 202 浏览 1 评论 0原文

我有一个位图图像(RGB,无 Alpha),如下图所示(字母“R”):

在此处输入图像描述

使用 OpenGL 和 OpenGL 哪个是最好的方法? VC++,创建位图的挤压?参数是 3f 向量。实体挤压或仅表面挤压都可以。

有什么想法吗?

I have a bitmap image (RGB, no alpha), like the image below (letter 'R'):

enter image description here

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦在深巷 2024-12-11 04:22:05

就像经常说的那样: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.

云之铃。 2024-12-11 04:22:05

我有一个解决方案,但它利用纹理 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文