Внимание!

Эта публикация перенесена в раздел уроков по адресу Как сделать туман в C# + OpenGL..
К ней прикреплена новая отдельная ветка комментариев форума, которую вы можетет найти после текста публикации.
Обсуждение публикации рекуомендуется вести по новому адресу, который указан выше.

Как сделать туман в C# + OpenGL.

Меня давно интересовало, как сделать туман в C# OpenGL. Я видел много статей по созданию тумана, но все они были написаны для С++. Изучая разности синтаксиса C# OpenGL и 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 может иметь 3 типа тумана:

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

Внимание!

Эта публикация перенесена в раздел уроков по адресу Как сделать туман в C# + OpenGL..
К ней прикреплена новая отдельная ветка комментариев форума, которую вы можетет найти после текста публикации.
Обсуждение публикации рекуомендуется вести по новому адресу, который указан выше.

0  
25.07.2010 00:00:00
Надеюсь, вам понравился урок!
0  
10.08.2010 00:00:00
Надо составить раздел FAQ с вопросами по OpenGL. Подготовить еще несколько мини уроков, и создать страницу.
0  
10.08.2010 00:00:00
угу надо
0  
18.08.2010 00:00:00
Я могу сделать пару мини уроков про освещение, материалы, и прозрачность
0  
19.08.2010 00:00:00
мини не получится
там что бы понять и делать потом поимающе и самостоятельно надо все нормально разъяснить
я как нить напишу про освещение
0  
20.08.2010 00:00:00
Парни, главное действовать — взять тему, хорошо ее расписать, придумать тестовую сцену с разными настройками и продемонстрировать реализацию с подробными комментариями :)
0  
20.08.2010 00:00:00
я уже начал подготавливать
только несколько маментов надо еще подробнее изучить
и буду писать
0  
20.08.2010 00:00:00
^