1,gltranslatef(-1.5f,0.0f,-6.0f);這裡是被觀察的物體在移動,還是視點的位置移動呢
我的理解是後者(就好像是照相機在移動位置來捕捉畫面那樣),預設的物體位置是螢幕中心,向左移動檢視並將檢視推遠以便被觀察的物體能進入,試著調整z座標的值,可以看到z越往裡面去,物體就越小,越往外面來,物體越大,這和照相機調整焦距類似。
2.使用flat coloring(單調著色)給幾何物件塗上固定的一種顏色。使用smoothcoloring(平滑著色)將幾個頂點的不同顏色混合在一起,建立漂亮的色彩混合。要注意視窗調整大小以及被其他視窗擋住後重新啟用時要重新設定shade model。
intcopengldemoview::drawglscene(glvoid)
void
copengldemoview::onactivateview(boolbactivate,cview
*pactivateview,cview
*pdeactiveview)
void
copengldemoview::onsize(uintntype,
intcx,
intcy)
glshademodel(gl_smooth);
glviewport(0,
0,width,height);
//resetthecurrentviewport
glmatrixmode(gl_projection);
//selecttheprojectionmatrix
glloadidentity();
//resettheprojectionmatrix
//calculatetheaspectratioofthewindow
gluperspective(
45.0f
,(glfloat)width
/(glfloat)height,
0.1f
,100.0f
);//
透視投影
glmatrixmode(gl_modelview);
//selectthemodelviewmatrix
glloadidentity();
//resetthemodelviewmatrix
}boolcopengldemoview::initgl(glvoid)
//allsetupforopenglgoeshere
3,如果是下面這樣設定顏色,則請問正方形的顏色會是怎麼樣的呢?
glshademodel(gl_flat);
gltranslatef(
3.0f
,0.0f
,0.0f
);glbegin(gl_quads);
//繪製正方形
glcolor3f(
1.0f
,0.0f
,0.0f
);glvertex3f(
-1.0f
,1.0f
,0.0f
);//
左上glcolor3f(
1.0,
1.0f
,1.0f
);glvertex3f(
-1.0f,-
1.0f
,0.0f
);//
右下glcolor3f(
0.0f
,0.0f
,1.0f
);glvertex3f(
1.0f,-
1.0f
,0.0f
);//
左下glcolor3f(
0.0f
,1.0f
,0.0f
);glvertex3f(
1.0f
,1.0f
,0.0f
);//
右上glend();
//正方形繪製結束
呵呵,答案是:顏色會是綠色的,也就是說是以最後那個頂點的顏色為標準的,這是因為
flat coloring(
單調著色
)是會給四邊形塗上固定的一種顏色,而最後乙個頂點的顏色設定後,就覆蓋了前面的顏色設定。
一些課後思考
1,gltranslatef 1.5f,0.0f,6.0f 這裡是被觀察的物體在移動,還是視點的位置移動呢 我的理解是後者 就好像是照相機在移動位置來捕捉畫面那樣 預設的物體位置是螢幕中心,向左移動檢視並將檢視推遠以便被觀察的物體能進入,試著調整z座標的值,可以看到z越往裡面去,物體就越小,越往外面...
回溯的一些思考
堆疊中有元素abcdef,每次出棧可以選擇乙個或者兩個元素棧,當有兩個元素出棧時可以選擇其中乙個重新入棧,當棧為空時,總共有多少種出棧方法?對於本題目的一些思考,對於回溯問題,要記得恢復現場。include include include using namespace std queue vect...
生活的一些思考
這裡只是生活中一些零碎的想法,隨時都有可能飄散而去,在此也只是記錄一下,寫到 算 並無主題。生活,這個凌駕於生存而上的活著。對我來說,這個詞,或許只是心靈上的企及。生存,這個滿足於人的最低基本需求的定義,食能果腹,衣能蔽體,也僅此而已吧。而,在生存之上,我們才會考慮,如何食的更有品味,如何穿的更得體...