• 大小: 9.1MB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-02-01
  • 语言: 其他
  • 标签: OpenGL  

资源简介

OpenGL绘制可运动的自行车。资源包括源程序及程序说明、可执行文件.exe。程序运行环境为Win10 + VS2013 + OpenGL

资源截图

代码片段和文件信息

#include
#include
#include
#include 
#include 
#include 

// Define a constant for the value of PI
#define GL_PI 3.1415f
float Rotate = 0.0;
float Go = 0.0;
static int Speed = 1;

GLuint drawcube drawsphere;
static GLfloat sx = 0 sy = 0 sz = 0;
static int lflag = GL_TRUE rflag = GL_TRUE;

void Reshape(int w int h)
{
glViewport(0 0 (GLsizei)w (GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(90 w / h 0.5 200);                    //透视效果
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0 20 -60 0 0 20 0 1 0);               //设置观察点(相机位置、物体位置、相机顶部朝向)
}

void ProcessMenu(int value)
{
Speed = value;                                          //value表示选择的菜单项
glutPostRedisplay();
}

void Init()
{
glClearColor(0.6 0.6 0.6 0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

//画出正方体显示列表
drawcube = glGenLists(1);
glNewList(drawcube GL_COMPILE);
glutSolidCube(1);
glEndList();

//画出球体显示列表
drawsphere = glGenLists(1);
glNewList(drawsphere GL_COMPILE);
glutSolidSphere(1 20 20);
glEndList();

//设置普通灯光照0位置及参数;
GLfloat position0[] = { 30 5 30 1 };
GLfloat light0s[] = { 0.1 0.1 0.1 0.1 };
GLfloat light0d[] = { 0.6 0.7 0.7 };
GLfloat light0a[] = { 0.9 0.9 0.9 };

glLightfv(GL_LIGHT0 GL_POSITION position0);
glLightfv(GL_LIGHT0 GL_SPECULAR light0s);
glLightfv(GL_LIGHT0 GL_DIFFUSE light0d);
glLightfv(GL_LIGHT0 GL_AMBIENT light0a);

//设置探照灯光照1位置及参数
GLfloat position1[] = { -60 40 0 1 };
GLfloat light1s[] = { 1.0 1.0 1.0 1.0 };
GLfloat light1d[] = { 0.06 0.1 0.1 };
GLfloat light1a[] = { 0.91 0.99 0.96 };
GLfloat  direction[] = { 0 -60 0 1 };

glLightfv(GL_LIGHT1 GL_SPOT_DIRECTION direction);
glLightf(GL_LIGHT0 GL_SPOT_CUTOFF 30.0);
glLightfv(GL_LIGHT1 GL_POSITION position1);
glLightfv(GL_LIGHT1 GL_SPECULAR light1s);
glLightfv(GL_LIGHT1 GL_DIFFUSE light1d);
glLightfv(GL_LIGHT1 GL_AMBIENT light1a);

glEnable(GL_LIGHTING);
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHT1);

}

static GLfloat xRot = 0.0f;
static GLfloat yRot = 0.0f;
static GLfloat zRot = 0.0f;

void Draw()
{
float rotatesin = sin(Rotate * 3.1415926 / 180);
float rotatecos = cos(Rotate * 3.1415926 / 180);
// Clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

// Save the matrix state
glMatrixMode(GL_MODELVIEW);
glPushMatrix();

// Rotate about x and y axes
glRotatef(xRot 1.0f 0.0f 0.0f);
glRotatef(yRot 0.0f 1.0f 0.0f);
glRotatef(zRot 0.0f 0.0f 1.0f);

glPushMatrix();                                        //地板
glEnable(GL_COLOR_MATERIAL);                           
glColorMaterial(GL_FRONT GL_AMBIENT);
glColor4f(0.05 0.2 0.15 0.0);
glTranslatef(7 -20 20);
glScalef(320 2 300);
glCallList(drawcube);
glDis

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-06-20 17:35  2018261265吕昊\
     目录           0  2019-06-20 17:15  2018261265吕昊\可执行文件\
     文件       83968  2019-06-18 21:23  2018261265吕昊\可执行文件\LHOpenGL.exe
     目录           0  2019-06-19 16:54  2018261265吕昊\源文件\
     目录           0  2019-06-20 17:22  2018261265吕昊\源文件\LHOpenGL\
     目录           0  2019-06-18 21:22  2018261265吕昊\源文件\LHOpenGL\Debug\
     文件       84480  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\Debug\LHOpenGL.exe
     文件      339340  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\Debug\LHOpenGL.ilk
     文件     1142784  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\Debug\LHOpenGL.pdb
     目录           0  2019-06-18 21:23  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\
     目录           0  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\
     文件      152869  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LH.obj
     文件        1045  2019-06-13 09:06  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.Build.CppClean.log
     文件        1981  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.log
     目录           0  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\
     文件       78028  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\CL.read.1.tlog
     文件        1704  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\CL.write.1.tlog
     文件         193  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\LHOpenGL.lastbuildstate
     文件        2674  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\cl.command.1.tlog
     文件        8290  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\link.command.1.tlog
     文件       16182  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\link.read.1.tlog
     文件        1650  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\link.write.1.tlog
     文件      912384  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\vc120.idb
     文件      176128  2019-06-20 17:18  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\vc120.pdb
     文件       33071  2019-06-18 21:23  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\LH.cpp
     文件        4083  2019-05-05 10:42  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\LHOpenGL.vcxproj
     文件         943  2019-05-05 10:42  2018261265吕昊\源文件\LHOpenGL\LHOpenGL\LHOpenGL.vcxproj.filters
     文件    29163520  2019-06-20 17:22  2018261265吕昊\源文件\LHOpenGL\LHOpenGL.sdf
     文件         970  2019-05-05 10:42  2018261265吕昊\源文件\LHOpenGL\LHOpenGL.sln
     文件       26112  2019-06-20 17:22  2018261265吕昊\源文件\LHOpenGL\LHOpenGL.v12.suo
     文件      235139  2019-06-19 17:03  2018261265吕昊\程序说明.docx
............此处省略0个文件信息

评论

共有 条评论