小编Par*_*apa的帖子

尝试在OpenGL上制作一个带有三角形条纹的球体

我正在尝试使用来自OpenGL的OpenGl原语GL_TRIANGLE_STRIP制作一个球体,但似乎缺少了一些东西。该程序从球体的底部开始,并从那里向上延伸。

divO和divA均为球体同时具有垂直方向和水平方向的细分数。

这是我尝试的代码。

void hacerEsfera (float radio, int divO, int divA) {

    float px, py,pz;
    int i,j;
    float incO = 2*M_PI / divO;
    float incA = M_PI /divA;

    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_TRIANGLE_STRIP);
    glColor3i(1,0,0);

    //Depende del polo en el que empezemos
    for (i= 0 ; i<= divO; i++){
        for (j = 0; j<=divA ; j++) {


            if (i % 2 == 0){

            pz = cos (M_PI-(incA*j))*radio;
            py = sin (M_PI-(incA*j))*sin (incO*i)*radio;
            px = sin (M_PI-(incA*j))*cos (incO*i)*radio;

            glVertex3f (px, py, pz);

            pz = cos …
Run Code Online (Sandbox Code Playgroud)

c++ opengl geometry

5
推荐指数
0
解决办法
2305
查看次数

标签 统计

c++ ×1

geometry ×1

opengl ×1