- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
当我尝试在 OpenGL 中使用 GL_POLYGON
时遇到问题。我不知道如何解释这一点,但我的所有顶点都与第一个顶点相连。当我尝试为对象着色时出现问题。我想画一个简单的物体。
void TOP (float x1, float y1, float x2, float h,float n)
{
float r = x2-x1;
if(n==1){glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);} // FOR FILL OR NO FILL OBJECT
glBegin(GL_POLYGON);
glVertex2f(x1,y1);
glVertex2f(x2,y1);
glVertex2f(x2,y1+h/7);
y1=y1+h/7;
glVertex2f(x2-r/5,y1+h/7);
x2=x2-r/5; y1=y1+h/7;
glVertex2f(x2,y1+2*h/7);
y1=y1+2*h/7;
glVertex2f(x2+r/5,y1+h/7);
y1=y1+h/7; x2=x2+r/5;
glVertex2f(x2,y1+2*h/7);
cout<<y1<<endl;
y1=y1+2*h/7;
glVertex2f(x2-r/5,y1); x2=x2-r/5;
glVertex2f(x2,y1-h/7); y1=y1-h/7;
glVertex2f(x2-r/5,y1);x2=x2-r/5;
glVertex2f(x2,y1+h/7); y1=y1+h/7;
glVertex2f(x2-r/5,y1);x2=x2-r/5;
glVertex2f(x2,y1-h/7); y1=y1-h/7;
glVertex2f(x2-r/5,y1);x2=x2-r/5;
glVertex2f(x2,y1+h/7); y1=y1+h/7;
glVertex2f(x2-r/5,y1);x2=x2-r/5;
glVertex2f(x2,y1-2*h/7);y1=y1-2*h/7;
glVertex2f(x2+r/5,y1-h/7);y1=y1-h/7; x2=x2+r/5;
glVertex2f(x2,y1-2*h/7); y1=y1-2*h/7;
glVertex2f(x2-r/5,y1-h/7); y1=y1-h/7;x2=x2-r/5;
glVertex2f(x2,y1-h/7);
glEnd();
}
输出:
最佳答案
GL_POLYGON
仅适用于convex polygons :
GL_POLYGON
: Draws a single, convex polygon. Vertices 1 through N define this polygon.
对于concave polygons您至少有两个选择:
Triangulate the polygon并使用GL_TRIANGLES
。
关于c++ - 凹面 GL_POLYGON 不着色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27393304/
我正在尝试使用以下代码使用 GL_POLYGON 将纹理映射到圆形: void drawCircleOutline(Circle c, int textureindex) { float an
当我尝试在 OpenGL 中使用 GL_POLYGON 时遇到问题。我不知道如何解释这一点,但我的所有顶点都与第一个顶点相连。当我尝试为对象着色时出现问题。我想画一个简单的物体。 void TOP (
当我尝试在 OpenGL 中使用多边形时遇到问题。我不知道如何解释这一点,但我所有的顶点都与开始的顶点相连。当我尝试为对象着色时会出现问题。我想画一个简单的物体。 void TOP (float x1
我正在绘制一个基本的多边形,它有 5 个边,看起来几乎像一个 C 形。 (50,60) _____(70,60) | / | / | /(60,4
我将用一种填充颜色绘制一个正六边形。我可以通过一系列 glVertex2*() 调用来完成此操作。然而, glBegin() 调用正是我要问的。使用 GL_POLYGON 或 GL_TRIANGLE_
我正在尝试使用 GL_POLYGON 绘制一个圆,我尝试的代码正在运行,但圆的半径似乎与窗口大小不成比例,我不明白为什么。 代码如下: void display() { glClear(GL_
我对 glPerspective 的工作原理感到困惑。我在理论上知道它的作用,但在尝试使用它时我对它感到困惑。 这是我的代码(我使用 Pygame 来创建窗口): import pygame, sys
我编写了使用 OpenGL 的 GL_POLYGON 基元模式绘制多边形的代码。我将输入点作为数组提供。这是我的代码: #include #include #include using name
我想同时使用线框和填充多边形,我使用黄色和黑色,这样我就可以区分它们 gl1.glColor3d(0.0, 0.0, 0.0); gl1.glBegin(GL_LINE_STRIP); gl1.
我是新的 opengl 学习者。我知道有内置函数可以在过剩的情况下绘制圆柱体,比如 GLUquadricObj *quadratic; quadratic=gluNewQuadric(); gluCy
我是一名优秀的程序员,十分优秀!