本週主題有期末作品的製作和Anti-aliasing的講解。
Anti-aliasing主要就是透過在會有鋸齒狀的斜線
或是直線周圍追加灰階的顯示,達成視覺上去鋸齒的效果。
2018年1月14日 星期日
計圖筆記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();
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.
#include<windows.h>
#include<mmsystem.h>
PlaySoundA("filename", NULL, SND_ASYNC) // Playe sound, and must use ascii file name.
圖學筆記乄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);
沒有:
地面受影響。
訂閱:
文章 (Atom)

