OpenGL入門學習筆記02

2021-08-10 22:38:17 字數 1151 閱讀 8737

多邊形

1,多邊形的兩面和繪製

這是乙個三維的概念,乙個多邊形有正面和反面,我們可以設定正面和反面的繪製方式

glpolygonmode(gl_front,gl_point)  正面,只繪製頂點

gl_back  反面gl_front_and_back正面和反面

gl_fill填充的繪製方式gl_line繪製邊緣的線

2,反轉

多邊形有正面和反面,比如預設逆時針繪製的為正面,在一張透明紙上逆時針畫乙個矩形,那麼面對我們的畫的這個面就是正面,反過來的那個面就是反面,我們可以改變正面和反面的概念,把順時針的變成正面。

glfrontface(gl_ccw)逆時針正面,ccw即counterclockwise

glfrontface(gl_cw) 順時針正面,cw即clockwise

3,剔除多邊形表面

glenable(gl_cull_face) 開啟剔除    gldisable(gl_cull_face)關閉剔除

glcullface(gl_front)  剔除正面    gl_back反面  gl_front_and_back 正面和反面

4,鏤空多邊形

glenable(gl_polygon_stipple) 開啟鏤空

glpolygonstipple(mask)  mask是乙個128指向128位元組的空間,表示32*32的矩形該如何鏤空,順序是從左下開始,1表示不鏤空,0表示鏤空。

void mydisplay(void)

glubyte* mask[128] = ;

glclear(gl_color_buffer_bit);

glenable(gl_polygon_stipple);

glpolygonstipple(mask);

glrectf(-0.5f,-0.5f,0.5f,0.5f);

glflush();

#include

file* fb = fopen("mask.bmp","rb");

if (!fb)

exit(0);

if (fseek(fb,-(int)sizeof(mask),seek_end))

exit(0);

if (!fread(mask,sizeof(mask),1,fb))

exit(0);

openGL學習筆記02 繪製頂點

tutorial2.cpp 定義控制台應用程式的入口點。這裡一定要注意include的順序 include stdafx.h 一定要放在最頂端!include 一定要放在 include 之前!include stdafx.h pragma comment lib,glew32.lib includ...

Opengl 入門學習分享和記錄 02

寫在前面的廢話 今天俺又來了哈哈,真的好棒棒!今天的內容 之前我們大概描述了,我們自己定義的頂點座標是如何被載入到gpu之中,並且介紹了頂點緩衝物件vbo用於管理這一塊記憶體。今天開始詳細分析它的具體作用和用法。首先opengl要求我們必須擁有乙個頂點著色器和乙個片段著色器,這樣才可以進行渲染。當然...

OpenGL入門學習筆記(三)

從三維的角度來看,乙個多邊形具有兩個面。每乙個面都可以設定不同的繪製方式 填充 只繪製邊緣輪廓線 只繪製頂點 其中 填充 是預設的方式。可以為兩個面分別設定不同的方式。glpolygonmode的原型是 void glpolygonmode glenum face,glenum mode 用於控制多...