问题标签 [tessellation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
12567 浏览

math - 测地球的数学

我正在尝试创建一个非常具体的测地线镶嵌,但我在网上找不到任何关于它的信息。

将二十面体的三角形细分为三角形块并将它们投影到球体上是正常的。但是,我注意到 Wikipedia 条目上的 Geodesic Domes 的动画 GIF似乎不遵循此方案。测地球通常由六边形三角形斑块的混合物组成,在原始二十面体的顶点处形成五边形斑块;在大多数情况下,这些五边形是连在一起的;也就是说,从一个五边形的中心沿着一条直边通向另一个五边形的中心。然而,在 Wikipedia 动画中,一个五边形中心的边缘似乎没有与相邻五边形的中心相交。相反,它与另一个五边形的一侧相交。

我在哪里可以了解这个特定几何背后的数学?理想情况下,我想知道一种生成这种镶嵌的算法。

0 投票
1 回答
1497 浏览

direct3d - Looking for code samples for Direct3D tessellation

I am trying to learn how to use the Direct3D function D3DXTessellateRectPatch: msdn.microsoft.com/en-us/library/bb205471(v=VS.85).aspx

I have found the MSDN documentation quite useful and have been able to implement tessellation of a single rectangle patch.

I am now trying to tesselate a mesh that consists of thirty two bicubic Bezier 3D patches (the Utah teapot).

I have tried a simple approach - tesselate each Bezier curve individually, then join the vertices and indices appropriately, taking into account vertex offsets, to create a tessellated merged mesh.

However, this does not quite seem to have the desired result.

If anyone has hints on this problem or, even better, code samples, much appreciated.

Specifically, I have checked: Www.directxtutorial.com http://www.amazon.com/Introduction-Game-Programming-Direct-9-0c/dp/1598220160/

And another Direct3D reference, as well as Google.

Thank you and look forward to your advice/pointers.

Yours Misha

0 投票
1 回答
503 浏览

graphics - 镶嵌过渡

我想实现从精细几何到粗糙几何的镶嵌过渡,反之亦然,用于不会引入不连续性(裂缝)的地形渲染。不需要实时性能,即它可以独立于视图。

您如何看待以下提案:

替代文字 http://www.shrani.si/f/A/qD/2UJlczki/tessellation.png

  1. 甚至可能吗?
  2. 你有没有实现过类似的东西?
  3. 有什么缺点?
  4. 你有更简单的建议吗?
0 投票
2 回答
1427 浏览

gpu - NURBS on DirectX 11?

Can you render NURBS on the GPU with DirectX 11? I've been reading up on current trends to rendering surfaces like these, but I don't see anything on NURBS.

I found some related references, but nothing solid... like "Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches" by Charles Loop and Scott Schaefer.

    -
0 投票
6 回答
20563 浏览

iphone - OpenGL ES - 如何绘制填充多边形?

我尝试在堆栈上进行谷歌搜索和搜索,但没有找到任何东西:-
((将不规则形状或其他多边形(卡通、精灵)映射到 OpenGL ES 中的三角形

我想在 iPad 上的OpenGL ES中绘制一个填充的多边形(2D,不需要 3D)(我是 OpenGL && OpenGL ES 的新手)在 OpenGL 上看起来很简单,但使用 ES 就可以绘制三角形。

但是我找不到任何关于此的好的教程:-(它是否存在任何包装器/库或其他任何可以帮助我的东西?

不想使用 CoreGraphics,这对我正在做的事情来说太慢了^^
如果可能的话,避免像 Cocos2D 这样的(大)库。

编辑:解决问题,这里有一些有用的链接(将编辑)
链接
- 多边形三角剖分
http://www.vterrain.org/Implementation/Libs/triangulate.html
http://en.wikipedia.org/wiki/Polygon_triangulation (WIKI) http://www.flipcode.com/archives/Efficient_Polygon_Triangulation.shtml (没有孔的多边形) http://www.cs.unc.edu/~dm/CODE/GEM/chapter.html(有孔的多边形, C 代码)

解决方案
我将尝试使用多边形镶嵌来获得三角形。首先我要尝试(http://www.flipcode.com/archives/Efficient_Polygon_Triangulation.shtml),因为我需要带孔的多边形,第二个(http://www.cs.unc.edu/~ dm/CODE/GEM/chapter.html)。如果有人有更好的方法,请在评论中告诉我^^

谢谢 :-)

0 投票
3 回答
1749 浏览

java - 双曲镶嵌Java库

我想知道是否有人知道一个用多边形细分双曲平面的好库(我的主要兴趣在于 {8,3} 细分)。我在这里和那里发现了一些小程序,但是逻辑与视图的分离在所有这些程序中都是可怕的。如果有一个完全不处理图形的库(因为我不打算使用 Swing 或创建我自己的小程序),那将是完美的,只接受参数:{p,q} 和层数,然后返回一组线或点(或多边形对象)。如果最坏的情况发生,我将不得不实现我自己的库,所以如果有人知道一些详细描述曲面细分算法的论文,这也可能会有所帮助。

编辑

顺便说一句,我应该提到我发现了 Don Hatch 的一个看起来很酷的双曲镶嵌小程序,并且一开始很兴奋。然后我查看了他声称的源代码。在 JAR 中,我发现了带有.prejava扩展名的文件,但完全不知道我在看什么——它似乎是 Java 和 C 代码的某种可怕的混合体。尝试仔细检查后,我立即感到头疼。显然他正在尝试优化 Java 编译器……或者至少这是我从javacpp. 不用说,我非常犹豫是否要花时间按照他的指示使用 C 编译器生成 Java 源文件,哇...

0 投票
0 回答
935 浏览

glsl - GLSL tessellation control shader unknown qualifiers

当我加载我的镶嵌控制着色器时,它输出:

我的着色器看起来像这样

我在这里做错了什么?#version 400 应该可以看到限定符“顶点”?

规格说:

布局限定符

布局(布局限定符)输入/输出/统一

输出布局限定符

对于镶嵌控制着色器:vertices = integer-constant

我的镶嵌评估着色器也说:

我错过了什么吗?

问候,彼得

0 投票
1 回答
2208 浏览

colors - GLSL 插值颜色镶嵌着色器

我的镶嵌着色器为两个顶点生成贝塞尔曲线。顶点由两个坐标 x 和 y (vec2) 组成。现在每个顶点都有颜色。我的问题:如何在生成的曲线上插入每个顶点的颜色?现在片段着色器设置一个默认颜色值(红色)。但我希望他得到插值的颜色。

例如:

所以应该有一个从红色到蓝色的渐变。我怎么能用镶嵌着色器做到这一点?

顶点着色器:

镶嵌控制着色器:

镶嵌评估着色器:

片段着色器:

0 投票
0 回答
121 浏览

tessellation - 从恒定深度平面轮廓进行表面三角剖分

我正在尝试开发一个应用程序,将具有恒定 Z 值的一组平行输入轮廓(多边形)转换为镶嵌表面网格。轮廓也可能由孔组成

所有可用的曲面细分技术(如 glu、delaunay)仅讨论 2d 三角剖分。任何人都可以提出前进的道路吗?

最好的问候, 普拉文

0 投票
2 回答
1431 浏览

opengl - OpenGL 项目,在多边形渲染的汽车上使用曲面细分

好的,所以我把我的问题分开了,因为我需要一个深入的答案,因为我对此感到很困惑,如果我只有一个概括的答案,就会失败。

我有一个车身,我最初使用 line_loop 绘制并将其更改为多边形,以便我可以对其进行纹理处理。但是它会像这样忽略轮拱。

车错

(暂时忽略纹理,我需要再弄清楚一个;))

这就是我的车在 line_loop 下的样子

汽车形状

如果用多边形制作轮拱的方法使它成为一个更平滑的圆,那就更好了:)

这是我当前的代码,(忽略纹理的东西)我确实从之前的问题开始用那个方向的刺激开始镶嵌,但不确定如何使用它以及传递哪些坐标等等。感谢您的所有帮助!

修订后的镶嵌代码(目前只在一个轮拱上尝试过,没有任何影响)。

感谢您的所有帮助,最终图像如下所示:

车完成

再次感谢您的帮助!尤其是彼得 :)