资源简介
毕业设计!模拟音乐喷泉,随着音频文件的起伏,OpenGL所绘制的音乐喷泉大小和水量缓急出现相应变化!
代码片段和文件信息
#include “AirFountain.h“
#include “stdlib.h“
#include
#define RandomFactor 2.0
GLfloat AccFactor1=0.25;//存储上次重力系数
extern GLfloat theAccFactor;
extern GLint Steps;
extern GLint RaysPerStep;
extern GLint DropsPerRay;
//////////////////////////////////////////////////////////////////////////
//取得浮点随机数
//////////////////////////////////////////////////////////////////////////
GLfloat GetRandomFloat(GLfloat range)
{
return (GLfloat)rand() / (GLfloat)RAND_MAX * range * RandomFactor;
}
//////////////////////////////////////////////////////////////////////////
//设置速度
//////////////////////////////////////////////////////////////////////////
void CDrop::SetConstantSpeed(SF3dVector NewSpeed)
{
ConstantSpeed = NewSpeed;
}
//////////////////////////////////////////////////////////////////////////
//设置重力因子
//////////////////////////////////////////////////////////////////////////
void CDrop::SetAccFactor (GLfloat NewAccFactor)
{
AccFactor = NewAccFactor;
}
//////////////////////////////////////////////////////////////////////////
//设置时间
//////////////////////////////////////////////////////////////////////////
void CDrop::SetTime(GLfloat NewTime)
{
time = NewTime;
}
//////////////////////////////////////////////////////////////////////////
//粒子实时获取新的速度
//////////////////////////////////////////////////////////////////////////
void CDrop::GetNewPosition(SF3dVector * PositionVertex float dtime CPool * pPool CAirFountain * pAirFountain)
{
SF3dVector Position;
time += dtime*20.0f;//20倍率,速度参数
GLfloat delta;
//取得水滴总数
GLint allDropsCount;
allDropsCount=Steps*RaysPerStep*DropsPerRay;
if (time > 0.0f)
{
Position.x = ConstantSpeed.x * time;
delta=theAccFactor-AccFactor1;
Position.y = ConstantSpeed.y * time - (AccFactor1+delta/(8*allDropsCount)) * time * time;
AccFactor1=AccFactor1+delta/(8*allDropsCount);
Position.z = ConstantSpeed.z * time;
PositionVertex->x = Position.x;
PositionVertex->y = Position.y;
PositionVertex->z = Position.z;
if (Position.y < 0.0)
{
time = time - int(time);
if (time > 0.0) time -= 1.0;
//水波
int OscillatorX = (int)((Position.x+pAirFountain->Position.x)/pPool->GetOscillatorDistance());
int OscillatorZ = (int)((Position.z+pAirFountain->Position.z)/pPool->GetOscillatorDistance());
//水波参数,第三个参数为水波波动强度参数
pPool->AffectOscillator(OscillatorXOscillatorZAffectOsc);
}
}
else//水滴消失
{
PositionVertex->x = 0.0;
PositionVertex->y = 0.0;
PositionVertex->z = 0.0;
}
}
//////////////////////////////////////////////////////////////////////////
//喷泉初始化
//////////////////////////////////////////////////////////////////////////
void CAirFountain::Initialize(GLint Steps GLint RaysPerStep GLint DropsPerRayGLfloat AngleOfDeepestStep GLfloat AngleOfHighestStepGLfloat RandomAngleAdditionGLfloat AccFactor)
{
//获取水滴总个数
m_NumDropsComplete = Steps*RaysPerStep*DropsPerRay
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 45056 2010-05-19 12:23 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\可执行文件\Fountain.exe
文件 196662 2003-05-07 10:59 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\可执行文件\ground.bmp
文件 196662 2003-05-08 11:00 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\可执行文件\rock.bmp
文件 196662 2003-05-07 10:49 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\可执行文件\water.bmp
文件 968 2010-05-19 12:07 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\可执行文件\致爱丽丝.txt
文件 479922 2010-05-04 21:57 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\可执行文件\致爱丽丝.wav
文件 494000 2012-07-18 23:04 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\文档\喷泉真实感模拟.pdf
文件 6109 2010-05-07 00:34 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\AirFountain.cpp
文件 956 2010-04-26 00:33 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\AirFountain.h
文件 1921 2003-05-07 09:41 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\camera.cpp
文件 1269 2003-05-07 09:41 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\camera.h
文件 23748 2010-06-13 17:09 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\Fountain.aps
文件 3008 2010-06-13 17:10 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\Fountain.clw
文件 2091 2010-04-25 20:45 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\Fountain.cpp
文件 5218 2010-05-19 11:08 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\Fountain.dsp
文件 524 2010-04-25 20:45 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\Fountain.dsw
文件 1346 2010-04-25 20:45 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\Fountain.h
文件 164864 2010-06-13 17:13 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\Fountain.ncb
文件 49664 2010-06-13 17:13 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\Fountain.opt
文件 1757 2010-05-19 12:23 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\Fountain.plg
文件 8271 2010-05-19 12:35 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\Fountain.rc
文件 27124 2010-05-19 12:35 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\FountainDlg.cpp
文件 1658 2010-05-19 12:24 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\FountainDlg.h
文件 196662 2003-05-07 10:59 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\ground.bmp
文件 7359 2010-04-26 10:38 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\pool.cpp
文件 855 2003-05-08 10:19 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\pool.h
文件 3615 2010-04-25 20:45 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\ReadMe.txt
文件 1078 2010-04-25 20:45 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\res\Fountain.ico
文件 400 2010-04-25 20:45 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\res\Fountain.rc2
文件 1882 2010-05-19 12:35 1OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\OpenGL喷泉真实感模拟\源程序\Fountain\resource.h
............此处省略23个文件信息
相关资源
- OpenGL实践二:基于分形的山地地形绘
- OpenGL太阳地球月亮纹理实现
- IEC61850服务端模拟软件
- VS2017+OpenGL配置所需文件.rar
- Icepak案例教程.pdf
- MVPDemo模拟登陆
- cadence入门教程含介绍及
- FBAs游戏机模拟器源码,支持联网对战
- eclipse油藏数值模拟软件操作
- 模拟真人手写字体
- 磁盘调度算法模拟有图形化界面
- 中南大学模拟电路习题册答案
- 微软OpenGL的22个
- opengl 实现的立体旋转球
- 285页ACP大数据模拟题,全刷完就足够
- OpenGL安装库glutgltoolsglewfreeglut
- 海马玩模拟器安装程序
- Web前端学习仿拼多多软件首页界面模
- Opengl程序 时钟制作
- OpenGL环境下贴图法画树代码
- HCNP-R&S VCE模拟文件
- Microwave.Scattering.And.Emission.Models.For.U
- 胡宴如 模拟电子技术课后习题答案
- CMPP2模拟网关可模拟submitresp返回值
- 用ANSYS有限元软件模拟分析声学换能器
- OpenGL环境配置文件
- 圆柱绕流与卡门涡街仿真模拟
- 蓝桥杯-嵌入式-模拟液位检测告警系统
- 基于光滑粒子流体动力学SPH的流体模
- openGL构造教室.docx
评论
共有 条评论