- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想在 Linux 系统上使用 C、OpenGL 渲染凹多边形。任何人都可以提供示例代码如何在最新版本的 OpenGL 中完成(假设 OpenGL 4.5,根据 glxinfo NVIDIA 驱动程序 352.41 支持,但无论你喜欢什么 3+ 版本支持至少由 NVIDIA 在 Linux 上的硬件中实现的扩展) .
这question在 stackoverflow 点上使用已弃用的 GLU tesselation。使用我不完全理解的模板缓冲区方法,但如果这是现在这样做的“行业公认标准”,我会付出更多努力来理解。
这post指的是一个我不想在 Linux 和 C 上使用的 .NET 库,我很想举一个如何使用的曲面 segmentation 着色器的例子,但我能找到的所有例子都是从凸面补丁开始的,为了后代,不推荐使用的库移到了另一个我想离开的存储库。
谢谢。
最佳答案
绝大多数 OpenGL 应用程序根本不绘制凹多边形;这不是 API 或硬件试图直接支持的东西,因此没有行业标准方法。 Stencil 将在帧缓冲区中实现它,任何类型的凸分解将在几何级别实现它。
模板方法实际上并不难理解。比喻是跳栅栏:多边形的边缘是栅栏,多边形本身是封闭的土地。要确定一个点是否在土地内部,从外面的任何地方开始,然后沿着直线走到它。计算您必须跳过栅栏多少次才能到达那里。每次你跳过栅栏时,你都会从里面切换到外面,反之亦然。因此,如果您跳过偶数个栅栏,则该点必须在内部(例如,您从外部到内部一次,或 -> 内部 -> 外部 -> 内部,或 -> 内部 -> 外部 -> 内部 -> 外部 -> 内部等)。如果您跳过了奇数个栅栏,那么它一定在外面。
模板方法保持每像素栅栏跳跃的计数。
相对于作为多边形顶点的固定点绘制三角形扇形。所以它是每个栅栏一个三角形,第三个坐标是您知道在里面的固定位置。
三角形内的像素是每个点,为了让您沿着直线到达固定点,需要您跳过栅栏。
因此,任何位置的模板总数就是您从那里跳到多边形所需的栅栏数。
所以所有奇怪的模板结果都是内部的点。所有偶数结果都是在外面的点。
关于c - OpenGL 3+ 渲染凹多边形(无 GLU),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32742362/
我正在使用 GLUTess 来 segmentation 多边形。经过几次测试,我意识到链接到 glu32.dll 的 glu32.lib 偶尔会崩溃。而我从 opengl sdk 获得的 GLU 是
我在使用几个相关数组时发现了一种奇怪的效果。在寻找错误之后,我终于找到了解决方案。但我想知道你们中是否有人可以向我解释为什么会发生这种情况。 我的代码是这样的: var closed =['close
编辑:这是一个库错误。我 reported它到 HOpenGL 邮件列表。 我使用 9 点矩形方法将圆/椭圆表示为 NURBS。 点是p1, p2, ..., p9 , p9 = p1 .它们如图所示
我很难弄清楚 glu 中的坐标系是如何工作的,有几个问题需要解决。 GLJPanel canvas = new GLJPanel(); frame.setSize(400,600); // Size
当我在 Release模式下运行项目时,出现以下错误: 由于找不到 GLU.dll,该应用程序无法启动。 此外,当我在 Debug模式下运行时,它仅在我通过 Visual Studio 运行时才有效,
我正在尝试重新使用 OpenGL,但我的知识和数学现在都生疏了。我曾经使用 C++,但我现在更喜欢 C#...试用 OpenTK。显然,自 GL 3.1 以来,Glu 已被弃用,因此我试图找到一个使用
这是我的难题,我有一张背景图片,上面有一个栏。我使用 适合背景图像 body { background-image: url("foo"); background-size: 10
我发现我的应用程序因空引用异常而崩溃,就在 GLU 源代码的 sweep.c 中: static void ConnectLeftVertex( GLUtesselator *tess, GLUver
我在 Internet 上找不到“官方”GLU 下载或文档的任何链接。 opengl.org 上有关 GLU 的链接已失效。我找到的唯一 GLU API 文档是在 MSDN 上关于 GLU 的 Win
我正在尝试掌握 JOGL(以及一般的 OGL),并从内存中生成了以下代码(除了 reshape() 回调),所以我不认为 OGL 是完美的。然而,我对 GLU 对象以及 gluLookAt() 和 g
好吧。我对 OpenGL 之类的东西还是全新的。我正在使用 LWJGL 3 和 JOGL(用于 GLU),并且我的自学过程完全停止了。现在我正在尝试使用 GLU.gluPerspective(80,
我希望我的受限玻尔兹曼机学习实值数据的新表示(请参阅: Hinton - 2010 - A Practical Guide to Training RBMs )。我正在努力实现高斯线性单位。 对于可见
我是 OpenGL 的新手,不知道如何使用 gluLookAt。以下是我的来源——任何帮助将不胜感激。 public void onSurfaceCreated(GL10 gl, EGLConf
我正在尝试在房间底部绘制一个蓝色四边形。 这是我一直尝试使用的代码,但是没有四边形,只有绿色透明色。 #include #include #include #include #include
尝试使用这个 tutorial在带有 netbeans 和 cygwin 4.8.1 的 64 位 Windows 8 上。 我收到很多这样的错误:/usr/include/w32api/GL/glu
我知道有用于绘制矩形的内置函数(例如 glRecti()),并且认为圆也是一个非常基本的用法。 有没有这种画圆的内置函数?或者我应该总是自己实现它? 最佳答案 gluDisk() can be use
// baseballField glColor3f(0.22, 0.36, 0.20); GLUquadricObj *myobject; myobject = gluNewQuadric(); g
我想在 Linux 系统上使用 C、OpenGL 渲染凹多边形。任何人都可以提供示例代码如何在最新版本的 OpenGL 中完成(假设 OpenGL 4.5,根据 glxinfo NVIDIA 驱动程序
这是我的问题。我正在 segmentation 复杂的、自相交的、具有数百个顶点的多轮廓多边形。 GLU Tesselator 因空指针 0x0000000 问题而崩溃。当我不制作自相交多边形时,它永
所以我想在我的 Android 应用程序中绘制简单的形状(圆柱体、球体和圆锥体)。基于this question and answer ,似乎可以将 GLU 移植到 Android 中,它具有我需要的
我是一名优秀的程序员,十分优秀!