1,gltranslatef(-1.5f,0.0f,-6.0f);這裡是被觀察的物體在移動,還是視點的位置移動呢
我的理解是後者(就好像是照相機在移動位置來捕捉畫面那樣),預設的物體位置是螢幕中心,向左移動檢視並將檢視推遠以便被觀察的物體能進入,試著調整z座標的值,可以看到z越往裡面去,物體就越小,越往外面來,物體越大,這和照相機調整焦距類似。
2.使用flat coloring(單調著色)給幾何物件塗上固定的一種顏色。使用smoothcoloring(平滑著色)將幾個頂點的不同顏色混合在一起,建立漂亮的色彩混合。要注意視窗調整大小以及被其他視窗擋住後重新啟用時要重新設定shade model。
int copengldemoview::drawglscene(glvoid)
void copengldemoview::onactivateview(bool bactivate, cview* pactivateview, cview* pdeactiveview)
void copengldemoview::onsize(uint ntype, int cx, int cy)
glshademodel(gl_smooth);
glviewport(0,0,width,height); // reset the current viewport
glmatrixmode(gl_projection); // select the projection matrix
glloadidentity(); // reset the projection matrix
// calculate the aspect ratio of the window
gluperspective(45.0f,(glfloat)width/(glfloat)height,0.1f,100.0f);//透視投影
glmatrixmode(gl_modelview); // select the modelview matrix
glloadidentity(); // reset the modelview matrix }
bool copengldemoview::initgl(glvoid) // all setup for opengl goes here
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...
生活的一些思考
這裡只是生活中一些零碎的想法,隨時都有可能飄散而去,在此也只是記錄一下,寫到 算 並無主題。生活,這個凌駕於生存而上的活著。對我來說,這個詞,或許只是心靈上的企及。生存,這個滿足於人的最低基本需求的定義,食能果腹,衣能蔽體,也僅此而已吧。而,在生存之上,我們才會考慮,如何食的更有品味,如何穿的更得體...