1 / 9

OpenGL

OpenGL . Лекция 5 ( 2 4 .10.201 3 ). Туман. GLfloat fogColor [4]= {0.5f, 0.5f, 0.5f, 1.0f}; // Цвет тумана glClearColor (0.5f,0.5f,0.5f,1.0f);      // Будем очищать экран, заполняя его цветом тумана . glEnable (GL_FOG);                       // Включает туман

edythe
Download Presentation

OpenGL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OpenGL Лекция 5 (24.10.2013)

  2. Туман • GLfloatfogColor[4]= {0.5f, 0.5f, 0.5f, 1.0f}; // Цвет тумана • glClearColor(0.5f,0.5f,0.5f,1.0f);      // Будем очищать экран, заполняя его цветом тумана. • glEnable(GL_FOG);                       // Включает туман • glDisable(GL_FOG);                       // Выключает туман

  3. Тип тумана • glFogi(GL_FOG_MODE, GLintparam); // Выбираем тип тумана GL_EXP- Обычный туман, заполняющий весь экран. Во многом он напоминает туман отдаленно, но легко справляется со своей работой даже на старых PC. GL_EXP2- Это следующий шаг после GL_EXP. Затуманит весь экран, за то придает больше глубины всей сцене. GL_LINEAR- Это лучший режим прорисовки тумана. Объекты выходят из тумана и исчезают в нем гораздо лучше.

  4. Цвет и плотность тумана • glFogfv(GL_FOG_COLOR, fogColor);        // Устанавливаем цвет тумана • glFogf(GL_FOG_DENSITY, 0.35f);          // Насколько густым будет туман

  5. Вспомогательная установка тумана • glHint(GL_FOG_HINT, GLenumhintval); • hintvalможет быть: GL_DONT_CARE, GL_NICEST или GL_FASTEST GL_DONT_CARE - позволяет OpenGL выбрать формулу для расчета тумана (по вершинам или по пикселям). GL_NICEST - Создает туман по пикселям (хорошо смотрится). GL_FASTEST - Вычисляет туман по вершинам (быстрее, но не так красиво)) .

  6. Глубина тумана • glFogf(GL_FOG_START, 1.0f);             // Глубина, с которой начинается туман • glFogf(GL_FOG_END, 5.0f);               // Глубина, где туман заканчивается

  7. Пример программы с туманом GLuintfogMode[]= { GL_EXP, GL_EXP2, GL_LINEAR }; GLuintfogfilter= 0; GLfloatfogColor[4]= {0.5f, 0.5f, 0.5f, 1.0f}; glClearColor(0.5f,0.5f,0.5f,1.0f); glEnable(GL_FOG); glFogi(GL_FOG_MODE, fogMode[fogfilter]); glFogfv(GL_FOG_COLOR, fogColor); glFogf(GL_FOG_DENSITY, 0.35f); glHint(GL_FOG_HINT, GL_DONT_CARE);  glFogf(GL_FOG_START, 1.0f); glFogf(GL_FOG_END, 5.0f); // Рисованиеобъектов

  8. Воспроизведение звука • BOOL PlaySound( LPCTSTR pszSound, HMODULE hmod, DWORD fdwSound); • pszSound • NULL => прекратить воспроизведение всех мелодий • Либо имя файла/ресурса/системного события/адрес памяти • fdwSound • SND_ALIAS => мелодия системного события • SND_FILENAME=> мелодия из файла • SND_RESOURCE => мелодия из ресурса exe • SND_MEMORY => взять мелодию из памяти

  9. Воспроизведение звука • fdwSound • SND_ASYNC => асинхронное воспроизведение (не ждать окончания воспроизведения) • SND_SYNC=> синхронное воспроизведение (подождать окончания воспроизведения) • SND_LOOP=> воспроизведение в цикле • SND_PURGE=> остановить мелодию не из wav-файла • hmod • Handle файла, из которого брать мелодию (если воспроизводим из ресурсов) иначе NULL

More Related