Esate.ru

Уроки OpenGL различных тематик

В этом разделе сосредоточены уроки, которые не были объединены в курсы. Большая часть уроков перенесена из авторских публикаций пользователей.

Эффекты окружения: туман в C# + OpenGL

Почти все существующие статьи по созданию тумана написаны под C++. Изучив разности синтаксиса C# OpenGL и C++ OpenGL, я догадался, как сделать туман в C# + OpenGL.
Уроки OpenGL различных тематик: туман в C# + OpenGL Рисунок 1. Туман в C# + OpenGL.
Сначала необходимо создать массив, хранящий в себе цвет "тумана".

Ниже представлен готовый код:

Код:
/*http://esate.ru, amid*/

float[] fogColor=new float[4] {0.5f, 0.5f, 0.5f, 1.0f}; // Цвет тумана 


Для изменения цвета очистки экрана на цвет тумана воспользуйтесь следующим кодом:

Код:
/*http://esate.ru, amid*/

Gl.glClearColor(0.5f, 0.5f, 0.5f, 1.0f); // Будем очищать экран, заполняя его цветом тумана.


Сразу после этого, необходимо прописать следующий код:

Код:
/*http://esate.ru, amid*/

Gl.glEnable(Gl.GL_FOG); // Включает туман (GL_FOG) 
Gl.glFogi(Gl.GL_FOG_MODE, Gl.GL_LINEAR);// Выбираем тип тумана 
Gl.glFogfv(Gl.GL_FOG_COLOR, fogColor); // Устанавливаем цвет тумана 
Gl.glFogf(Gl.GL_FOG_DENSITY, 0.35f); // Насколько густым будет туман 
Gl.glHint(Gl.GL_FOG_HINT, Gl.GL_DONT_CARE); // Вспомогательная установка тумана 
Gl.glFogf(Gl.GL_FOG_START, 1.0f); // Глубина, с которой начинается туман 
Gl.glFogf(Gl.GL_FOG_END, 5.0f); // Глубина, где туман заканчивается. 


glFogi может быть представлен следующими видами тумана:
  1. Gl.GL_EXP - обычный туман, заполняющий весь экран;
  2. Gl.GL_EXP2 - затуманит весь экран, зато придает больше глубины всей сцене;
  3. Gl.GL_LINEAR - лучший режим прорисовки тумана.
Вот и всё!

Источник: Esate.ru
25 Января 2010


Комментарии (из ветки форума)

Авторизируйтесь или Зарегистрируйтесь
чтобы оставлять комментарии.

OpenGL

OpenGL

OpenGL (Open Graphics Library — открытая графическая библиотека, графический API) — спецификация, определяющая независимый от языка программирования платформонезависимый программный интерфейс для написания приложений, использующих двумерную и трёхмерную компьютерную графику.

Регистрация

Регистрируясь, вы принимаете правила сайта. Если вы не получили код подтв. регистрации - не забудьте проверить папку спам.
Логин*
Email*
Пароль*
Подтверждение пароля*
 
Логин*
Код*
 

Восстановление пароля

Пожалуйста, заполните поля, после чего вы получите код подтверждения на ваш E-mail. Если код не пришел в течении нескольких минут - проверьте папку спам.
Логин

или Email
 
Логин*
Код подтверждения*
Новый пароль*
Подтверждение пароля*
 

Авторизация

Пожалуйста, авторизуйтесь, для входа на сайт с помощью соц. сети:
  • Используйте вашу учетную запись на Facebook.com для входа на сайт.
  • Используйте вашу учетную запись VKontakte для входа на сайт.
  • Используйте вашу учетную запись Google для входа на сайт.

или с помощью аккаунта на сайте:

Логин
Пароль