• 大小: 9.35MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-31
  • 语言: 其他
  • 标签: OpenGL  

资源简介

OpenGL写的一个简单的场景,包括粒子系统实现的喷泉效果和流星雨效果,以及北京音乐的播放

资源截图

代码片段和文件信息

// 在此处引用程序要求的附加头文件:
#include “5DG_Window.h“
#include  // 标准time库文件
#include  // 标准数学库函数
#include “texture.h“ // 纹理贴图的头文件
#include “fmod.h“
#define  MAXTEXTURE 2 // 预定义纹理贴图数量
#define MAX_PARTICLES 1000 // 定义粒子数量

// 在此处加入程序要求的库到链接器中:
#pragma comment(lib “opengl32.lib“) // 链接时查找OpenGL32.lib
#pragma comment(lib “glu32.lib“) // 链接时查找glu32.lib
#pragma comment(lib “glaux.lib“) // 链接时查找glaux.lib
#pragma comment(lib “fmodvc.lib“) // 把音频库加入到链接器中

// 在此处定义全局变量:
GL_Window* OGL_window;
Keys* OGL_keys;


FSOUND_STREAM *mp3back; // 背景音乐 *.mp3格式


// 在此处定义用户变量:
GLuint texture[MAXTEXTURE]; // 纹理数组,保存纹理名字
GLint wait; // 控制两个粒子系统的显示
BOOL show5DGshowMatrix01; // 显示5DG,显示01字阵
GLint show_amout = 10;
//Matrix01粒子系统

typedef struct // 位置结构体
{
float x;
float y;
bool used;
} CHANNEL;
CHANNEL port[30][30]; //产生粒子的通道口
GLfloat dropSpeed[30]; //各个通道的下落速度

// 01字体粒子系统
#define FONT_COUNT  16
GLfloat font01Size = 1.0f; // 01字阵的字体大小
typedef struct
{
float life; // 粒子生命
float fade; // 粒子衰减速度
float rgb; // 粒子颜色
float xyz; // 粒子位置
float xSpeedySpeedzSpeed; // 粒子在xyz轴的运动速度
int xidyid; // 通道口号
bool live;
}FONTS;
FONTS font[FONT_COUNT][FONT_COUNT]; // 01字阵数组
float speedFator = 500.0f; // 粒子速度的控制参数




//第二个粒子系统


GLfloat Y_speed = 400.0f;     //喷泉的速度
GLfloat speedFator2 = 1.5f;

typedef struct
{
float life; // 粒子生命
float fade; // 粒子衰减速度
float rgb; // 粒子的颜色
float xyz; // 粒子位置
float xSpeedySpeedzSpeed; // 粒子的速度
float xgygzg; // 粒子的运动加速度
} PARTICLES;
PARTICLES particle[MAX_PARTICLES]; // 粒子系统数组



GLvoid InitFMOD(void)
{
// 载入音频文件
if (FSOUND_Init(44100 32 0)) // 把声音初始化为44khz
{
// 载入文件bgmusic.mp3
mp3back = FSOUND_Stream_OpenFile(“Data/bgmusic.mp3“ FSOUND_LOOP_NORMAL 0);
}

}

GLvoid FreeFMOD(void)
{
// 释放音频文件
if (mp3back != NULL)
{
FSOUND_Stream_Close(mp3back); // 释放文件bgmusic.mp3
}

}


// 初始化第二个粒子系统
void ParticleInit(void)
{
for (int loop=0; loop {
particle[loop].life = 1.0f; // 赋予每个粒子完整生命
particle[loop].fade = float(rand()%100)/1000.0f+0.003f; // 随机生命衰减速度
particle[loop].r = 1.0f; // 粒子颜色的红色分量
particle[loop].g = 1.0f; // 粒子颜色的绿色分量
particle[loop].b = 1.0f; // 粒子颜色的蓝色分量
particle[loop].xSpeed = (float)200*(cos(loop*3.14/500));
particle[loop].ySpeed = Y_speed;
particle[loop].zSpeed =  (float)200*(sin(loop*3.14/500));
particle[loop].xg = 0.0f; // 沿x轴的加速度
particle[loop].yg = -2.0f; // 沿y轴的加速度
particle[loop].zg = 0.0f; // 沿z轴的加速度
}
}

void DrawParticle(void)
{

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

     文件        518  2009-04-30 09:06  Scene\Scene.dsw

     文件     156672  2009-04-30 09:45  Scene\Debug\vc60.idb

     文件     102400  2009-04-30 09:45  Scene\Debug\vc60.pdb

     文件       5024  2009-04-30 09:47  Scene\Debug\BuildLog.htm

     文件        146  2009-04-30 09:47  Scene\Debug\Scene.exe.embed.manifest

     文件     412672  2009-04-30 09:46  Scene\Debug\vc80.idb

     文件     159744  2009-04-30 09:46  Scene\Debug\vc80.pdb

     文件      33910  2009-04-30 09:46  Scene\Debug\Texture.obj

     文件      35524  2009-04-30 09:46  Scene\Debug\5DG_Window.obj

     文件      42616  2009-04-30 09:46  Scene\Debug\5DG‘S Matrix.obj

     文件        212  2009-04-30 09:47  Scene\Debug\Scene.exe.embed.manifest.res

     文件    1312844  2009-04-30 09:47  Scene\Debug\Scene.ilk

     文件     561152  2009-04-30 09:47  Scene\Debug\Scene.exe

     文件        145  2009-04-30 09:47  Scene\Debug\Scene.exe.intermediate.manifest

     文件         67  2009-04-30 09:47  Scene\Debug\mt.dep

     文件    2018304  2009-04-30 09:47  Scene\Debug\Scene.pdb

     文件      14257  2009-04-30 09:08  Scene\5DG_Window.cpp

     文件       9009  2009-04-30 09:08  Scene\Texture.cpp

     文件       2050  2009-04-30 09:08  Scene\5DG_Window.h

     文件        507  2009-04-30 09:08  Scene\Texture.h

     文件       1798  2009-04-30 09:45  Scene\Scene.plg

     文件        249  2009-04-30 09:10  Scene\5DG‘S Matrix.asp

     文件        249  2009-04-30 09:10  Scene\Texture.asp

     文件      21622  2009-04-28 00:31  Scene\Data\Font.JPG

     文件        755  2008-04-14 13:32  Scene\Data\Particle.JPG

     文件    2889318  2009-04-14 13:32  Scene\Data\Bgmusic.mp3

     文件      12194  2009-04-30 09:44  Scene\5DG‘S Matrix.cpp

     文件      43611  2009-04-30 09:45  Scene\Fmod.h

     文件      50688  2009-04-30 09:46  Scene\Scene.opt

     文件       4232  2009-04-30 09:46  Scene\Scene.dsp

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

评论

共有 条评论