繁体   English   中英

在OpenGL中绘制条纹(C ++)

[英]Drawing stripes in OpenGL (C++)

我正在使用C ++中的OpenGL的xoax.net教程,并且坚持使用for循环在US标志中绘制条纹。 我只得到一个蓝屏(因为我将背景色设置为蓝色)。 这是“ DrawStripes”函数的代码:

void DrawStripes() {
for (int x = 0; x < 13; ++x) {
    if (x % 2 == 0) {
        glColor3f(204/255, 0, 0);
    } else {
        glColor3f(1, 1, 1);
    }

    float fStartX = 0;
    float fEndX = 1;
    float fStartY = x * (1/13);
    float fEndY = (x + 1) * (1/13);

    if (x > 5) {
        fStartX = .76/1.9;
    }
    glBegin(GL_QUADS);
    glVertex3f(fStartX, fStartY, 0);
    glVertex3f(fEndX, fStartY, 0);
    glVertex3f(fEndX, fEndY, 0);
    glVertex3f(fStartX, fEndY, 0);
    glEnd();
    }
}

(我已经将此函数放在了'draw'函数中,所以不仅仅是我不告诉它使用该函数)有什么想法吗?

---编辑---这是“绘图”和“初始化”功能:

void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
    DrawStripes();
    glFlush();
}

void Initialize() {
glClearColor(0.0, 0.0, 0.5, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}

1/13在C ++中为0。 去过也做过。 对于浮点常量,您想使用1.0f / 13.0f。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM