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

  • 大小: 7.36MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-09-26
  • 語言: 其他
  • 標簽: Qt??OpenGL??

資源簡介

這個小程序是用Qt+OpenGL做的。 可以直接運行,是仿照Nehe教程中的做的。 網上學習都說OpenGL的最好教程是NeHe。 但是Windows編程很難,也很落后。 對于想學習OpenGL的人來說很有參考價值。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?“glwidget.h“
#include?
#include?






bool?flag?=?false;
?
GLfloat?LightAmbient[]=?{?1.0f?1.0f?1.0f?1.0f?};? //?環境光參數
GLfloat?LightDiffuse[]=?{?50.0f?0.0f?0.0f?1.0f?}; ?//?漫射光參數
GLfloat?LightPosition[]=?{?0.0f0.0f?0.0f?1.0f?}; ?//?光源位置
GLwidget::GLwidget(QWidget?*parent)
:?QGLWidget(parent)
{
PI?=?3.14159;
a=2.5f;
b=2.2f;
x?=?y?=0;
z?=?5;
lx?=?ly?=?0;
lz?=?-1.0;
xrot?=?yrot?=?zrot?=0;
moveAngle?=?0;
vertexAngle?=?0;
moonAngle?=?0;
earthAngle?=?0;
earthRadius=0.8/100.0f;
moonRadius=earthRadius*(GLfloat)(109.0/400.0);
sunRadius=109*earthRadius;
quadratic?=?gluNewQuadric();

QTimer?*timer?=?new?QTimer(this);
connect(timer?SIGNAL(timeout())?this?SLOT(Rotate()));
connect(timerSIGNAL?(timeout())thisSLOT(Revolution()));
timer->start(10);

}

GLwidget::~GLwidget()
{
}
void?GLwidget::loadTextures()
{
glEnable(GL_TEXTURE_2D);
QImage?text[3]buff[3];
if(!buff[0].load(“./sun.bmp“)
||!buff[1].load(“./earth.bmp“)
||!buff[2].load(“./moon.bmp“)){
printf(“Load?Image?failed!\n“);
}
text[0]?=?QGLWidget::convertToGLFormat(buff[0]);
text[1]?=?QGLWidget::convertToGLFormat(buff[1]);
text[2]?=?QGLWidget::convertToGLFormat(buff[2]);

glGenTextures(3&texture[0]);

glBindTexture(?GL_TEXTURE_2D?texture[0]?);
glTexParameteri(?GL_TEXTURE_2D?GL_TEXTURE_MAG_FILTER?GL_LINEAR?);
glTexParameteri(?GL_TEXTURE_2D?GL_TEXTURE_MIN_FILTER?GL_LINEAR?);
glTexImage2D(?GL_TEXTURE_2D?0?3?text[0].width()?text[0].height()?0
GL_RGBA?GL_UNSIGNED_BYTE?text[0].bits()?);

glBindTexture(?GL_TEXTURE_2D?texture[1]?);
glTexParameteri(?GL_TEXTURE_2D?GL_TEXTURE_MAG_FILTER?GL_LINEAR?);
glTexParameteri(?GL_TEXTURE_2D?GL_TEXTURE_MIN_FILTER?GL_LINEAR?);
glTexImage2D(?GL_TEXTURE_2D?0?3?text[1].width()?text[1].height()?0
GL_RGBA?GL_UNSIGNED_BYTE?text[1].bits()?);


glBindTexture(?GL_TEXTURE_2D?texture[2]?);
glTexParameteri(?GL_TEXTURE_2D?GL_TEXTURE_MAG_FILTER?GL_LINEAR?);
glTexParameteri(?GL_TEXTURE_2D?GL_TEXTURE_MIN_FILTER?GL_LINEAR?);
glTexImage2D(?GL_TEXTURE_2D?0?3?text[2].width()?text[2].height()?0
GL_RGBA?GL_UNSIGNED_BYTE?text[2].bits()?);
}
void?GLwidget::initializeGL()
{
loadTextures();
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST);
glHint(GL_POINT_SMOOTH_HINTGL_DONT_CARE);
glClearColor(0.0f0.0f0.0f0.0f);
glClearDepth(1.0f);

glDepthFunc(GL_LEQUAL); //?所作深度測試的類型
glHint(GL_PERSPECTIVE_CORRECTION_HINT?GL_NICEST); //?告訴系統對透視進行修正

glLightfv(GL_LIGHT1?GL_AMBIENT?LightAmbient); //?設置環境光
glLightfv(GL_LIGHT1?GL_DIFFUSE?LightDiffuse); //?設置漫射光
glLightfv(GL_LIGHT1?GL_POSITIONLightPosition); //?設置光源位置
glEnable(GL_LIGHT1);

gluQuadricTexture(quadraticGL_TRUE);
gluQuadricNormals(quadratic?GLU_SMOOTH); //?使用平滑法線

glColor4f(1.00.00.00.5);
glBlendFunc(GL_SRC_ALPHAGL

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????10042??2012-05-10?21:39??Release\BuildLog.htm

?????文件????3145784??2009-08-26?17:18??Release\earth.bmp

?????文件?????169984??1998-08-18?16:25??Release\glut32.dll

?????文件??????35220??2012-05-10?21:39??Release\glwidget.obj

?????文件???????9065??2012-05-10?21:29??Release\main.obj

?????文件??????10149??2012-05-10?21:29??Release\moc_glwidget.obj

?????文件?????786488??2009-08-26?17:13??Release\moon.bmp

?????文件?????????67??2012-05-10?21:39??Release\mt.dep

?????文件???????2931??2012-05-10?21:29??Release\qrc_glwidget.obj

?????文件????2520064??2012-04-28?09:59??Release\QtCore4.dll

?????文件????8351232??2012-03-22?20:15??Release\QtGui4.dll

?????文件?????766464??2012-03-22?20:19??Release\QtOpenGL4.dll

?????文件????2405376??2012-05-10?21:39??Release\Solar.exe

?????文件????????616??2012-05-10?21:39??Release\Solar.exe.intermediate.manifest

?????文件????2377044??2012-05-10?21:05??Release\Solar.res

?????文件?????786486??2012-05-10?20:59??Release\sun.bmp

?????文件????2214912??2012-05-10?21:39??Release\vc90.idb

?????目錄??????????0??2012-05-10?22:03??Release

?????文件???????6783??2012-05-10?21:57??Release\glwidget.cpp

?????文件???????1106??2012-05-10?22:01??Release\glwidget.h

?????文件????????171??2012-05-09?08:05??Release\main.cpp

-----------?---------??----------?-----??----

?????????????23599984????????????????????21


評論

共有 條評論