资源简介

毕业设计!模拟音乐喷泉,随着音频文件的起伏,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个文件信息

评论

共有 条评论