2021年3月3日 星期三

電腦圖學_09136054_week02

我是資管研一的學生。
第一次修老師的課,有許多工具與操作方式不熟。

馬上就遇到老師在FB早上回答的問題。


Q: 老師,昨天在做作業(紅色的東西)那裡,最後run的時候好像出了一點問題,可以請老師看一下嗎
A: 這個問題, 發生在 library 不對。應把 libfreeglut.a 複製成 libglut32.a。若誤用到 libfreeglut_static.a 就會出現下面一堆紅色的錯誤。
解決方法: 刪掉錯誤的 freeglut, 重新解壓縮, 重新把 libfreeglut.a 複製成 libglut32.a 接下來, 再重新開新的專案, 就可以成功了。

今天的程式碼進度:

#include <GL/glut.h> void display() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glBegin(GL_TRIANGLES); glColor3f(1.0f, 0.0f, 0.0f); glVertex2f(0.0f, 1.0f); glColor3f(0.0f, 1.0f, 0.0f); glVertex2f(0.87f, -0.5f); glColor3f(0.0f, 0.0f, 1.0f); glVertex2f(-0.87f, -0.5f); glEnd(); glColor3f( 1, 0, 0); glutSolidTeapot(0.3); glutSwapBuffers(); } int main(int argc, char *argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); glutCreateWindow("test01_20210303"); glutDisplayFunc(display); glutMainLoop(); }

後面主要在修display內容
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glBegin(GL_POLYGON);
    glColor3f(1.0f, 1.0f, 0.0f);
    for ( float angle=0; angle<3.14159265358979*2; angle+=0.01){
        glVertex2f(0.5*cos(angle),0.5*sin(angle));
    }
    glEnd();

    glColor3f( 1, 0, 0);
    glutSolidTeapot(0.3);
    glutSwapBuffers();

}
暫時先這樣 20210303記

沒有留言:

張貼留言

距地表面160 Week11

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