资源简介
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.em
文件 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.em
文件 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个文件信息
- 上一篇:winqsb软件
- 下一篇:吉时利2000说明书
相关资源
- opengl房屋设计2
- OpenGL绘制的鱼轮廓曲线
- 3D OPENGL 飞行游戏源代码
- OpenGL 超酷三维动画DEMO
- OpenGL蓝宝书所需库可直接使用
- OPENGL 画地球 真实感超强-纹理贴图 光
- OPENGL中的GLUT源代码
- Qt OpenGL 多图片纹理例程
- opengl中天空盒的绘制
- OpenGL下立方体 正四面体绘制与贴图。
- 资源文件此资源是作者博客教程所用
- openGL完成雪花飞舞源码
- OpenGL ES 显示RGB数据
- opengl实现鱼眼矫正(球面等距模型)
- OpenGL 立体房子模拟
- OpenGL 电梯仿真模型
- opengl地形、雨雪、火箭模拟.rar
- OPENGL API及扩展大全
- opengl 编写的cs 游戏
- OPENGL 作品 花儿
- Nate Robin的OpenGL教程(OpenGL编程指南中
- openGL 光照机器人
- OpenGL44PipelineMap.pdf
- 教室漫游 OpenGL
- OpenGL库(包括glewfreeglut和gltools)
- openGl 飞机模拟
- opengl绘制三维模型可用鼠标控制旋转
- opengl三维场景
- 计算机图形学opengl+shader几个
- opengl简单地形绘制
评论
共有 条评论