• 大小: 2.15MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-03
  • 语言: 其他
  • 标签: OpenGl  

资源简介

计算机图形学的设计。。简单的设计,运用了纹理、光照等。。源码、论文都有

资源截图

代码片段和文件信息


#include 
#include
#include
#include
#include 
//---------------喷泉相关------------------------------------
struct particle
{
  float t;       // 粒子的寿命
  float v;       // 粒子的运动速度
  float d;       // 粒子的运动方向
  float x y z; // 粒子的位置坐标
  float xd zd;  // X 和 Z 方向上的增量
  char type;     // 粒子的状态(移动或淡化)
  float a;       // 粒子淡化的 alpha 值
  struct particle *next *prev;
};
struct particle *fn=NULL;   /* Fountains 链表结构*/
int timep=17;
//--------------------------------------------------------------------
float flag=1.0;
GLfloat theta=3.1415*0.2fai=3.1415*0.7;
GLfloat P0X=120.0*sin(theta)*sin(fai)P0Y=120*cos(fai)P0Z=120.0*cos(theta)*sin(fai);

int windowwwindowh;                    //窗口的宽和高
static GLuint texName;                  //纹理组的名称
//依序为月亮、侧面、地面
GLuint drawwalllistmoonlistrooflisttreeliststoolliststartList;                    //贴环境纹理的显示列表
   GLUquadricObj *qobj;
//------------------------------------------------------------

GLfloat ctrlpoints[4][4][3];

GLfloat texpts[2][2][2] = {{{0.7 0.7} {0.7 1}} 
{{1 0.7} {1 1}}};  
//-----------------------喷泉相关-----------------------------
void AddParticles()  
{
  struct particle *tempp;
  int i;
  
    for (i=0; i<15; i++)
    {
      tempp = (struct particle *)malloc(sizeof(struct particle));
      if (fn) fn->prev = tempp;
      tempp->next = fn;
      fn = tempp;
  
      tempp->t = -9.9;
      tempp->v = (float)(rand() % 200000)/100000+1; // 速度
      tempp->d = (float)(rand() % 400)/100-2;     // 方向角度
      // 开始运动的坐标
      tempp->x = 0;
      tempp->y = 0;
      tempp->z = i*2;
      tempp->xd = cos((tempp->d*3.14159)/180)*tempp->v/4;
      tempp->zd = sin((tempp->d*3.14159)/180)*tempp->v;
      tempp->type = 0; 
      tempp->a = 1; 
}
}
//  移动粒子
void MoveParticles()
{
  struct particle *tempp;

  {
    tempp = fn; 
    while (tempp)
    {
      if (tempp->type == 0) // 如果粒子是运动的
      {
        tempp->x += tempp->xd;
        tempp->z += tempp->zd;
        tempp->y = -(9.8*(tempp->t*tempp->t/4))/2+122.5; // 计算高度
        tempp->t += 0.1; // 寿命递增
        if (tempp->y < 0) tempp->type = 1; // 如果粒子落到地上,则粒子淡化
      }
      else // 粒子落到地上
      {
        tempp->y = -(9.8*(tempp->t*tempp->t/4))/2+122.5; 
      }
      tempp = tempp->next; //进行下一个粒子的计算
    }
  }
}
//  删除粒子
void DeleteParticles()
{
  struct particle *tempp *temp1;

  {
    tempp = fn;
    while (tempp)
    {
      if ((tempp->type == 1) && (tempp->a <= 0)) // 粒子死亡
      {
        // 删除粒子
        temp1 = tempp->prev;
        tempp->prev->next = tempp->next;
        if (tempp->next) tempp->next->prev = temp1;
        free(tempp);
        tempp = temp1;
      }
      tempp = tempp->next;
    }
  }
}

void timf(int value)
{
  glutPostRedisplay();
  glutTimerFunc(timep timf 0);
}
//-------------------------------------------------------------
void readimag

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

     文件     196664  2005-06-12 17:52  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\door.bmp

     文件     196664  2005-06-13 00:05  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\floor.bmp

     文件     196664  2005-06-12 15:10  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\moon.bmp

     文件      20534  2005-06-18 23:05  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\Pond.cpp

     文件       3377  2009-11-22 22:18  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\Pond.dsp

     文件        516  2009-11-22 22:18  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\Pond.dsw

     文件      48640  2009-11-22 22:18  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\Pond.opt

     文件        242  2009-11-22 22:18  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\Pond.plg

     文件      49208  2005-06-12 16:34  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\roof.bmp

     文件      49208  2005-06-12 19:05  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\starlow.bmp

     文件     140288  2009-12-10 14:11  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\vc60.idb

     文件      77824  2009-11-23 07:31  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\vc60.pdb

     文件     225367  2009-11-23 07:31  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\小屋.exe

     文件     304048  2009-11-23 07:31  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\小屋.ilk

     文件      56632  2009-11-23 07:31  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\小屋.obj

     文件    3704816  2009-11-23 01:09  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\小屋.pch

     文件     549888  2009-11-23 07:31  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug\小屋.pdb

     文件     196664  2005-06-12 17:52  计算机图形学课程设计-花园小屋\花园小屋源代码\door.bmp

     文件     196664  2005-06-13 00:05  计算机图形学课程设计-花园小屋\花园小屋源代码\floor.bmp

     文件     196664  2005-06-12 15:10  计算机图形学课程设计-花园小屋\花园小屋源代码\moon.bmp

     文件      49208  2005-06-12 16:34  计算机图形学课程设计-花园小屋\花园小屋源代码\roof.bmp

     文件      49208  2005-06-12 19:05  计算机图形学课程设计-花园小屋\花园小屋源代码\starlow.bmp

     文件      20650  2009-11-23 07:31  计算机图形学课程设计-花园小屋\花园小屋源代码\小屋.cpp

     文件      50176  2009-12-10 14:12  计算机图形学课程设计-花园小屋\花园小屋源代码\小屋.ncb

     文件        242  2009-12-10 14:11  计算机图形学课程设计-花园小屋\花园小屋源代码\小屋.plg

     文件       3379  2009-12-10 14:11  计算机图形学课程设计-花园小屋\花园小屋源代码\小屋.dsp

     文件      48640  2009-12-10 14:12  计算机图形学课程设计-花园小屋\花园小屋源代码\小屋.opt

     文件        516  2009-12-10 14:12  计算机图形学课程设计-花园小屋\花园小屋源代码\小屋.dsw

     文件     707072  2009-12-10 14:11  计算机图形学课程设计-花园小屋\花园小屋设计论文.doc

     目录          0  2009-11-23 07:31  计算机图形学课程设计-花园小屋\花园小屋源代码\Debug

............此处省略5个文件信息

评论

共有 条评论