2018年1月14日 星期日

計圖筆記week15

本週主題有期末作品的製作和Anti-aliasing的講解。
Anti-aliasing主要就是透過在會有鋸齒狀的斜線
或是直線周圍追加灰階的顯示,達成視覺上去鋸齒的效果。

abcqq week 18

期末展演

計圖筆記week14

畫三角形:

程式碼:
size(600,600,P3D);
background(255);
beginShape(TRIANGLE);
  stroke(255,0,0);vertex(300,100);
  stroke(255,255,0);vertex(500,500);
  stroke(0,0,255);vertex(100,500);
endShape();

填滿圖案

size(600,600,P3D);
background(255);
beginShape(TRIANGLE);
  fill(255,0,0);vertex(300,100);
  fill(255,255,0);vertex(500,500);
  fill(0,0,255);vertex(100,500);
endShape();

重疊三角形

void setup()
{size(600,600,P3D);
}
void draw()
{
background(255);
beginShape(TRIANGLE);
beginShape(TRIANGLE);
fill(255,0,0);vertex(100,100,0);
fill(255,0,255);vertex(100,500,100);
fill(255,255,0);vertex(500,500,0);
endShape();

beginShape(TRIANGLE);
fill(0,255,0);vertex(500,100,0);
fill(0,255,255);vertex(500,500,100);
fill(255,255,0);vertex(100,500,0);
endShape();

}

2018年1月13日 星期六

俊隆ㄉ計算機圖學筆記 - Week 11 Audio

- OpenGL play sound

#include<windows.h>
#include<mmsystem.h>
PlaySoundA("filename", NULL, SND_ASYNC) // Playe sound, and must use ascii file name.

圖學筆記乄Week18

期末專題展示


連結:



網址: https://youtu.be/iIq87Nf90zQ

圖學筆記乄Week17

專題製作



解決上周困難: 打光問題




=>打光重點:法向量
                                                     x        y        z        w
GLfloat light_position1[] = {-10.0f, -40.0f, 15.0f, 1.0f };

1.當w為0 是平行光  而xyz值就是此平行光法向量值。
2.若w為1,此光為聚光燈,xyz為燈源位置。
此時,要在一個程式碼:const GLfloat lightDirection[] = {0.0, 0.0, 1.0}; 
上述藍色程式碼是定義其聚光燈方向向量。

glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, lightDirection);// 聚光灯主轴方向 spot direction
glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 0.0);
聚光燈需配合此兩行(寫在main中)

=>平行光與聚光燈差別?

=>平行光:在他的法向量中照射到的物體,其光亮程度都是一樣的 沒有隨遠近而變強變弱。

=>聚光燈:就是想像一個電燈在固定位置,所以其光強弱會與距離有關。

圖學筆記乄Week16



期末專題製作:

進度:

匯入模型,設計室內空間。

難題:
模型顏色?環境顏色改變。

解決:
貼圖影響顏色部分:因為貼圖完,OpenGL會依照最後一個顏色再繼續畫下去,所以影響其他部分。
=>
方法: 沒有貼圖的部分,glDisable(GL_TEXTURE_2D);  使用此程式碼關閉貼圖,
在要貼圖地方glEnable(GL_TEXTURE_2D); 使用此語法。


圖示:
glDisable(GL_TEXTURE_2D);
=>

沒有:
=>


地面受影響。