2021年3月10日 星期三

Lm's 圖學筆記 week03

建一個專案 打檔名

Add a README file Add .gitignore 要記得勾!

下面要選C++/C 


--------------

做圓球



#include <GL/glut.h>

void display()

{

  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);


  glColor3f(1,1,0); ///顏色

  glutSolidSphere(0.5,30,30); //實心圓球

  glutSwapBuffers();

}

int main(int argc, char **argv)

{

    glutInit(&argc, argv);

    glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("week03-circle");

    glutDisplayFunc(display);

    glutMainLoop();

}


紅色橢圓


#include <GL/glut.h>

#include <math.h>

void display()

{

  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);


  glColor3f(1,0,0); ///顏色

  glBegin(GL_POLYGON);

  for(float i=0; i<30; i++){

   float a = 3.1415926 *2 / 30 *i;

   glVertex2f(0.5 +0.1*cos(a), 0.2*sin(a));

  }

  glEnd();

  glutSwapBuffers();

}

int main(int argc, char *argv[])

{

    glutInit(&argc, argv);

    glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("week03-circle!");

    glutDisplayFunc(display);

    glutMainLoop();

}




#include <GL/glut.h>///使用GLUT外掛
#include <math.h>///使用數學外掛
static void display(void)
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清背景

    glColor3f(1,0,0);
    glutSolidSphere(0.7,30,30);
    glColor3f(0,0,0);
    glutSolidSphere(0.5,30,30);



    ///glutSolidTeapot(0.3);
    glutSwapBuffers();///更新畫面
}
int main(int argc, char *argv[])///main()函式
{
    glutInit(&argc, argv);///(1)Init初始化GLUT
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///(2)Init初始化 Display 的功能
    glutCreateWindow("Week03_circle");///(3)建立GLUT視窗
    glutDisplayFunc(display);///(4)準備display()函式
    glutMainLoop();///(5)主要程式
}



沒有留言:

張貼留言

距地表面160 Week11

 #include "glm.h" GLMmodel* pmodel = NULL; void drawmodel(void) {     if (!pmodel) { pmodel = glmReadOBJ("data/porsche.obj...