c++ - 如何在现代opengl中绘制圆柱体

标签 c++ opengl math shader

我的问题很简单,如何在现代 OpenGL 中绘制圆柱体?我将 GLFW 与 OpenGL 3.x 一起使用。我最初的想法是创建一个函数,将底部和顶部的顶点位置计算为圆圈,然后在这些顶点之间绘制线条。但我不知道如何实现这个..有人有好的解决方案吗?

最佳答案

您可以使用三角形带来实现这一点,并在底部生成一个顶点,然后在顶部生成一个顶点。这应该很容易生成侧面。然后只需用三角扇生成帽子即可。为了简化事情,您可以使用模型 View 矩阵将圆柱体移动到您想要的位置。这样您只需要在 x/y 平面或类似平面上有一个圆,因此数学非常简单。

为了提高性能,请考虑使用预编译对象和/或顶点数组。

关于c++ - 如何在现代opengl中绘制圆柱体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32883572/

相关文章:

c++ - 什么是 std::views::counted?

c++ - 如何调试仅作为独立应用程序死锁的多线程程序

c++ - GCC C++11 条件变量等待内部机制

c++ - 从 vector 中删除自定义对象

c++ - GLM 角度轴错误?

python - 什么时候使用浮点运算计算上限整数log2会失败?

c++ - SFML Sprite std::list

c++ - 无法读取传递给顶点着色器的值

java - java中的长二进制字符串算术

algorithm - 将小数矩阵转换为整数矩阵