Вот, выкладываю Вам свой проект, т. к. хочу услышать конструктивные отзывы о нём.
Как видно из названия темы - это визуализатор скалярных полей, которые можно построить задавая свою некоторую функцию на языке построения.
Визуализация производится с помощью алгоритма Marching Cubes, а построение скалярного поля производится используя специальный язык, созданный специально для этой программы. Язык больше похож на математические выражения, хотя есть элементы из языков программирования. Есть возможность экспортирования полученного объекта в формат Wavefront (.obj)
Проект разрабатывается как дипломная работа. Пока текст дипломной работы ещё не готов.
Лицензия: GPL v3
Состояние: Бета версия
Платформы: Linux, Windows
Технические детали: Программа разделена на два компонента: libvrender и vrender-gui.
libvrender это основная библиотека, в ней расположены компоненты для организации загрузки и работы с шейдерами, текстурами, вводом с клавиатуры и мыши, камера, математическая библиотека (матрицы, вектора, кватернионы, шумы), реализация алгоритма Marching Cubes, парсер языка построения, организация многопоточности (OpenMP), экспорт в Wavefront. Библиотека написана на C. Требует OpenGL 3.0+. Линкуется с vrender-gui статически. Для сборки используется CMake.
Основным компонентом является реализация алгоритма Marching Cubes, который позволяет полигонизировать скалярное поле в реальном времени. Расчёт нормалей производится внутри шейдера, а при экспорте в Wavefront расчёт производится на CPU.
vrender-gui графическая оболочка над libvrender. Написана на C++. Требует Qt4. Для сборки используются средства Qt.
За более подробной информацией о программе и языке построения обращайтесь в Справку внутри программы.
Скриншоты:
http://i.pixs.ru:/storage/3/2/3/dev1png_4606957_6726323.png
http://i.pixs.ru:/storage/3/2/4/dev2png_9075609_6726324.png
http://i.pixs.ru:/storage/3/2/5/dev3png_7407850_6726325.png
http://i.pixs.ru:/storage/3/2/6/dev4png_1935366_6726326.png
http://i.pixs.ru:/storage/3/2/7/dev5png_9841770_6726327.png
Github: https://github.com/Sfera2/VRender
Жду конструктивные отзывы, feedback и информацию об обнаруженных багах и недоделках.