• 大小: 1.12MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-29
  • 语言: 其他
  • 标签: openGL  bunny  兔子  

资源简介

openGL bunny 画兔子openGL bunny 画兔子openGL bunny 画兔子openGL bunny 画兔子openGL bunny 画兔子openGL bunny 画兔子openGL bunny 画兔子

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include “windows.h“
#include “glut.h“
#include “glaux.h“
using namespace std;

//数据声明================================================================================================
#define MAX 70000
#define max_num 99999999

#define LEFT 1
#define RIGHT 2
#define SMALL 3
#define LARGE 4

GLfloat make_s_l=2.0;

int mn;
int specialkey;
GLfloat max_x=-max_nummin_x=max_nummax_y=-max_nummin_y=max_nummax_z=-max_nummin_z=max_num;

struct point
{
GLfloat x;
GLfloat y;
GLfloat z;
GLfloat dx;
GLfloat dy;
GLfloat dz;
int num;
};
struct triangle
{
int p1;
int p2;
int p3;
GLfloat dx;
GLfloat dy;
GLfloat dz;
};
point ma[MAX];
triangle na[MAX];

GLfloat xrot=0.0yrot=0.0zrot=0.0;

GLfloat LightAmbient[]= { 0.5f 0.5f 0.5f 1.0f };// 环境光参数
GLfloat LightDiffuse[]= { 1.0f 1.0f 1.0f 1.0f };// 漫射光参数
GLfloat LightPosition[]= { 0.0f 0.0f 2.0f 1.0f };// 光源位置


//函数声明===============================================================================================
int LoadGLTextures();
AUX_RGBImageRec *LoadBMP(char *Filename);
void render();
void reshape(int wint h);
void keyboard(unsigned char key int x int y);
void mouse(int button int state int x int y);
void createGLUTMenus();
void MenusEvents(int option);
void gl_Init();

//主函数==================================================================================================
int main(int argc char* argv[])
{
glutInit(&argcargv);
glutInitDisplayMode(GLUT_DEPTH  | GLUT_RGBA |GLUT_DOUBLE  );
glutInitWindowPosition(100 100);
glutInitWindowSize(800 600);
glutCreateWindow(“Bunny“);
gl_Init();
//glClearColor(0.0 0.0 0.0 0.0); //背景颜色,默认为黑色
glutDisplayFunc(render);
//glutIdleFunc(render);             //让程序空闲时调用render   
glutReshapeFunc(reshape);
glutKeyboardFunc(keyboard);
glutMouseFunc(mouse);
glEnable(GL_DEPTH_TEST);
createGLUTMenus();
glutMainLoop();
return 0;
}


void render()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 

glRotated(xrot1.00.00.0);
glRotated(yrot0.01.00.0);
glRotated(zrot0.00.01.0);


//glColor3f(0.0F 1.0F 0.0F);//设置光照颜色效果没用 

int i;
for(i=1;i<=n;i++)
{
glBegin(GL_TRIANGLES);//开始画三角形  
glNormal3f(ma[na[i].p1].dxma[na[i].p1].dyma[na[i].p1].dz);//第一点
glVertex3f(ma[na[i].p1].xma[na[i].p1].yma[na[i].p1].z);    
glNormal3f(ma[na[i].p2].dxma[na[i].p2].dyma[na[i].p2].dz);//第二点
glVertex3f(ma[na[i].p2].xma[na[i].p2].yma[na[i].p2].z);    
glNormal3f(ma[na[i].p3].dxma[na[i].p3].dyma[na[i].p3].dz);//第三点
glVertex3f(ma[na[i].p3].xma[na[i].p3].yma[na[i].p3].z);  
glEnd();              //三角形绘制结束  
}      

glFlush();
glutSwapBuffers();
}

void reshape(int wint h)
{
glViewport(0 0 w h);
glMatrixMode(GL_PROJECTION); 
glLoadIdentity();
glOrtho(min_x*make_s_l max_x*make_s_l min_y*make_s_l max_y*make_s_l min_z*make_s_l max_z

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    2285487  2003-08-21 09:44  glut画兔子\bunny.vt

     文件     196662  2009-04-20 00:44  glut画兔子\Data\bunny.bmp

     文件     196662  2009-04-07 00:17  glut画兔子\Data\dat.bmp

     文件      49220  1998-01-04 22:02  glut画兔子\Data\Glass.bmp

     文件     196664  2000-03-06 02:10  glut画兔子\Data\NeHe.bmp

     文件      17476  1999-07-11 02:52  glut画兔子\Data\Star.bmp

    ..A.SH.     22016  2008-12-20 14:31  glut画兔子\Data\Thumbs.db

     文件     196662  2004-01-01 19:35  glut画兔子\Data\yellow.bmp

     文件      12024  2005-10-19 15:32  glut画兔子\glaux.H

     文件      12648  1998-05-13 00:00  glut画兔子\GLU32.LIB

     文件       2290  1999-02-10 12:46  glut画兔子\glut.def

     文件      27670  2000-12-13 00:22  glut画兔子\glut.h

     文件     237568  2001-11-08 02:27  glut画兔子\glut32.dll

     文件      28728  2001-11-08 02:27  glut画兔子\glut32.lib

     文件       7753  2004-01-02 04:06  glut画兔子\gzq.cpp

     文件       4284  2004-01-01 18:49  glut画兔子\gzq.dsp

     文件        514  2009-04-19 10:56  glut画兔子\gzq.dsw

     文件      58368  2004-01-02 04:06  glut画兔子\gzq.ncb

     文件      48640  2004-01-02 04:06  glut画兔子\gzq.opt

     文件       1464  2004-01-02 04:06  glut画兔子\gzq.plg

     文件      26454  2001-11-08 02:42  glut画兔子\README-win32.txt

     目录          0  2009-04-29 14:34  glut画兔子\Data

     目录          0  2004-01-02 04:06  glut画兔子\Debug

     目录          0  2004-01-02 04:06  glut画兔子

----------- ---------  ---------- -----  ----

              3629254                    24


评论

共有 条评论