xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 4KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-29
  • 語言: C/C++
  • 標(biāo)簽: opengl??

資源簡介

opengl繪制兩個行星以及一個恒星,利用鍵盤和鼠標(biāo)來進(jìn)行互動,入門級的代碼。

資源截圖

代碼片段和文件信息

#include???
#include
#include
#include
#include???

static?int?year?=?0?day?=?0?time?=?0?day2?=?0?year2?=?0?time2?=?0;
/*
初始化操作
*/
void?init()?{
//設(shè)置清屏色??
glClearColor(0.0f?0.0f?0.0f?0.0f);
//設(shè)置著色模式,填充色與頂點(diǎn)一致??
glShadeModel(GL_FLAT);
}

void?sun()?{

glColor3f(1.0?1.0?0.0);

//復(fù)制當(dāng)前矩陣并保存到棧頂??
glPushMatrix();
glRotatef((GLfloat)time?0.0f?1.0f?0.0f);
//渲染一個太陽,半徑1.0f??
glutWireSphere(1.0f?20.0f?16.0f);
glPopMatrix();
}

void?planet1()?{
glColor3f(0.0?0.5?1.0);
glPushMatrix();
//繞y軸旋轉(zhuǎn)year度,此時地球的局部坐標(biāo)系統(tǒng)與全局坐標(biāo)系統(tǒng)不一致,表現(xiàn)出公轉(zhuǎn)??
glRotatef((GLfloat)year?0.0f?1.0f?0.0f);
//沿x軸方向移動2個單位長度,此時地球的局部坐標(biāo)系統(tǒng)已經(jīng)與全局的坐標(biāo)系統(tǒng)偏移??
glTranslatef(2.0f?0.0f?0.0f);
//沿y軸旋轉(zhuǎn)day度,此時地球的局部坐標(biāo)系統(tǒng)與全局坐標(biāo)系統(tǒng)一致,表現(xiàn)出自轉(zhuǎn)??
glRotatef((GLfloat)day?0.0f?1.0f?0.0f);
glutWireSphere(0.2f?10.0f?8.0f);
//彈出棧頂矩陣??
glPopMatrix();
}

void?planet2()?{
glColor3f(1.0?0.5?1.0);
glPushMatrix();
glRotatef((GLfloat)year2?0.0f?1.0f?0.0f);

glTranslatef(4.0f?0.0f?0.0f);

glRotatef((GLfloat)day2?0.0f?1.0f?0.0f);

//繪制第二個地球,半徑0.2f??
glutWireSphere(0.2f?10.0f?8.0f);
glPopMatrix();
}

/*
展示繪制效果
*/
void?display()?{

//清理顏色緩沖區(qū)??
glClear(GL_COLOR_BUFFER_BIT);
//設(shè)置繪制顏色??

sun();
planet1();
planet2();


//彈出棧頂矩陣??
glPopMatrix();

//交換緩沖區(qū)數(shù)據(jù)??
glutSwapBuffers();

//強(qiáng)制完成繪制指令??
glFlush();
}//第一個行星和恒星

?/*
?調(diào)整窗口尺寸
?*/
void?reshape(int?width?int?height)?{
//設(shè)置視口矩形區(qū)域,在默認(rèn)情況下,視口被設(shè)置為占據(jù)打開窗口的整個像素矩形??
//glViewport(0?0?(GLsizei)width?(GLsizei)height);
//之后的矩陣操作定義為投影矩陣操作??
glMatrixMode(GL_PROJECTION);
//等于是將之前矩陣變換導(dǎo)致變化過的棧頂矩陣重新歸位,置為單位矩陣!等于是之前的矩陣變換帶來的影響到此為止了!??
glLoadIdentity();

//創(chuàng)建一個表示對稱透視視圖平截頭體的矩陣??
//設(shè)置眼睛睜開的角度,視景體的寬高比,近截面的距離,遠(yuǎn)截面的距離??
gluPerspective(60.0f?(GLfloat)width?/?(GLfloat)height?1.0f?20.0f);

//之后的矩陣操作定義為模型視圖矩陣操作??
glMatrix

評論

共有 條評論

相關(guān)資源