91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-29
  • 語言: C/C++
  • 標簽: opengl??bezier??

資源簡介

opengl動態顯示貝塞爾曲線,動畫展示貝塞爾曲線四個控制點對曲線的控制。

資源截圖

代碼片段和文件信息

#define?GLUT_DISABLE_ATEXIT_HACK
#include?
#include?
#include?

GLint?nNumPoints?=?4;
GLint?x1=-4?x2=-1?x3=-1?x4=4
??????y1=-4?y2=1?y3=-1?y4=4?
??z1=0?z2=0?z3=0?z4=0;
//4個控制點的3D坐標——z坐標全為0
GLfloat?ctrlPoints[4][3]?=?{
{?x1?y1?z1?}{?x2?y2?z2?}{?x3?y3?z3?}{?x4?y4?z4?}
};

void?init(void)
{
//背景色
glClearColor(0.0?0.0?0.0?1.0);
//建立一個一維求值器并啟動求值器

glMap1f(GL_MAP1_VERTEX_3 //?產生的數據類型
0.0f ????????//?參數最小值
100.0f //?參數最大值
3??????????????//控制點間的步幅(以GLfloat個數度量)
nNumPoints //?控制點數目
&ctrlPoints[0][0]); ?????????//?保存控制點的數組
glEnable(GL_MAP1_VERTEX_3);??//啟動求值器

glShadeModel(GL_FLAT);

//反走樣

glEnable(GL_BLEND);
glEnable(GL_LINE_SMOOTH);??//允許直線反走樣
glHint(GL_LINE_SMOOTH_HINT?GL_FASTEST);??//?Antialias?the?lines
glBlendFunc(GL_SRC_ALPHA?GL_ONE_MINUS_SRC_ALPHA);

}

void?display(void)
{
int?i;
glClear(GL_COLOR_BUFFER_BIT);

glLoadIdentity();
glColor3f(1.0?1.0?0.0);
//映射曲線,選擇u并計算曲線上的點
glMapGrid1d(100?0.0?100.0);??//等分區間
glEvalMesh1(GL_LINE?0?100);??//用求值器計算曲線上點的值,并畫圖
???/*?顯示控制點?*/
glPointSize(5.0);
glBegin(GL_POINTS);
for?(i?=?0;?i? glVertex3fv(&ctrlPoints[i][0]);
glEnd();
glutSwapBuffers();
}
void?vertexPoint(void)?{

評論

共有 條評論