Автор работы: Пользователь скрыл имя, 13 Апреля 2012 в 15:09, курсовая работа
Задачей курсового проектирования является разработка программной системы от начала (анализ требований) до конца (тестирование и сопровождение-документация).
В ходе выполнения курсовой работы получить профессиональные навыки в постановке задачи, анализе требований, выборе представления исходных данных и результата, разработке спецификаций, проектирования программной системы, написании программы на выбранном языке программирования с использованием объектно-ориентированной технологии и библиотек классов, тестировании и отладке программы, оформлении документации.
Вступ…………………………………………………………………………….3
Опис алгоритму ………………………………………………………………..4
Текст програми.………………………………………………………………...5
Список використаної літератури …………………………………………….9
particle->speed += 0.1f;
particle->distance += 1.0f;
// Уборка мусора
if (particle->distance > 50.0f) {
std::vector<Particle>::iterato
particle_storage.erase(temp);
}
iterator++;
}
}
void RenderScene(void) {
glClearColor(0.5f, 0.5f, 0.5f, 0.5f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
particle_out();
glutSwapBuffers();
}
void motion(int x, int y) {
mouse_position.x = x;
mouse_position.y = y;
}
void new_particle(int null) {
Particle *new_part = new Particle();
new_part->x = mouse_position.x;
new_part->y = 500 - mouse_position.y; // Исправить на правильную высоту окна.
new_part->speed = 0;
new_part->angle = 6.28f*std::rand()/RAND_MAX;
new_part->distance
= 0;
particle_storage.push_back(*
glutTimerFunc(1, new_particle, 0);
}
void mouse(int button, int state, int x, int y) {
}
void reshape(int width, int height) // Установка матрици проэкции и матрици вида.
{
glViewport(0, 0, (GLsizei) width, (GLsizei) height);
glMatrixMode(GL_
glLoadIdentity();
glOrtho(0, width, 0, height, -1.0f, 100.0f);
glMatrixMode(GL_
glLoadIdentity();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitWindowSize(500, 500);
glutInitDisplayMode(
glutCreateWindow("
//++++++++++++++++++++++
//Инициализация современного opengl.
GLenum err = glewInit();
if (GLEW_OK != err) {
std::cout << "Error: " << glewGetErrorString(err) << std::endl;
}
std::cout << "Status: Using GLEW " << glewGetString(GLEW_VERSION) << std::endl;
//======================
//Продолжение старой программы.
glutDisplayFunc(
glEnable(GL_TEXTURE_2D); // Разрешение наложение текстуры
glEnable(GL_BLEND);
glDisable(GL_DEPTH_TEST);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
//glEnable(GL_COLOR_
//glAlphaFunc(GL_
//glEnable(GL_ALPHA_
glutReshapeFunc(reshape)
glutPassiveMotionFunc(
glutMouseFunc(mouse);
addTexture("star", "star.png");
glutTimerFunc(1, new_particle, 0);
glutTimerFunc(40, rotate, 0);
//glShadeModel(GL_
glutMainLoop();
}
СПИСОК
ВИКОРИСТАНОЇ ЛІТЕРАТУРИ: