Skip to content

VRender is a program for visualization of scalar fields, constructed with defined functions | VRender - это программа для визуализации скалярных полей, построенных при помощи задаваемой функции

License

ivl/VRender

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VRender

VRender - программа для построения и визуализации трёхмерных скалярных полей. Построение производится с помощью пользовательской функции (для написания функции используется специальный язык построения). При построении можно указывать размер скалярного поля, а при визуализации - размер поля полигонизации, который влияет на детализацию объекта.

В сцене с объектом присутствует один источник света, его параметры, а также материал объекта, можно задавать на вкладке Освещение и цвет. Объект можно вращать при помощи мыши (при помощи виртуального трэкбола). С помощью колёсика мыши можно приближать\отдалять (zoom). Есть возможность экспорта полученного объекта в файл формата Wavefront (.obj), при этом экспортируется объект полигонизированный с текущим изо-уровнем.

####Ссылки на скачивание #####Версия 0.9.2 ######Linux https://www.dropbox.com/s/s2n6vgkf7ydl5q1/vrender-0.9.2-linux.zip ######Windows https://www.dropbox.com/s/1kyyrmclkmfw9bf/vrender-0.9.2-win.zip

####Поддерживаемые платформы Linux, Windows

####Технические детали Программа разделена на два компонента: libvrender и vrender-gui.

libvrender это библиотека для визуализации, в ней расположены компоненты для организации загрузки и работы с шейдерами, текстурами, вводом с клавиатуры и мыши, камера, математическая библиотека (матрицы, вектора, кватернионы, шумы), реализация алгоритма Marching Cubes, парсер языка построения, организация многопоточности (OpenMP), экспорт в Wavefront. Библиотека написана на C. Требует OpenGL 2.1+. Линкуется с vrender-gui статически. Для сборки используется CMake.

Основным компонентом является реализация алгоритма Marching Cubes, которая позволяет, в реальном времени, полигонизировать скалярное поле. Расчёт нормалей производится внутри шейдера, а при экспорте в Wavefront расчёт производится на CPU.

vrender-gui графическая оболочка над libvrender. Написана на C++. Требует Qt4. Для сборки используются средства Qt.

####Почему libvrender написана на C, а не C++? Первоначально предполагалось написание другого проекта на C (тоже связанного с компьютерной графикой), из-за нехватки времени пришлось изменить тему разработки, но, так как оставалось много наработок на C, было решено продолжить разработку, а GUI часть написать на C++.

####Происхождение имени VRender -> Volume Render - визуализатор объёма.

Компиляция

Внимание! Так как программа использует OpenMP, то рекомендуется использовать компилятор GCC (так как в Clang пока нет поддержки OpenMP)

Ubuntu

  1. Устанавливаем Qt4, QtOpenGL и OpenMP: sudo apt-get install qt4-dev-tools libqt4-opengl-dev libgomp1
  2. Устанавливаем CMake: sudo apt-get install cmake
  3. Кладём исходник в любую папку, например, в ~/vrender и переходим в неё: cd ~/vrender/
  4. Создаём папку, куда скомпилится libvrender: mkdir libvrender-build (лучше использовать имя libvrender-build, иначе нужно править vrender-gui/vrender-gui.pro) и переходим в неё: cd libvrender-build
  5. Создаём Makefile с помощью CMake: cmake ../libvrender
  6. Компилируем libvrender: make
  7. Переходим обратно в vrender: cd ../
  8. Теперь создаём папку для vrender-gui: mkdir vrender-gui-build и переходим в неё: cd vrender-gui-build
  9. Создаём Makefile уже с помощью qmake: qmake ../vrender-gui
  10. Компилируем vrender-gui: make
  11. Готово! Теперь в папке vrender-gui-build лежит программа vrender-gui. Приятного пользования!

Windows

  1. Качаем Qt4 SDK: http://www.developer.nokia.com/Develop/Qt/Tools/
  2. Качаем CMake: http://www.cmake.org/cmake/resources/software.html (Win32 Installer)
  3. Устанавливаем CMake и Qt4 SDK
  4. Кладём исходник в любую папку, например, в C:/vrender/
  5. Запускаем Qt Creator
  6. Заходим в Инструменты -> Параметры... -> Сборка и Запуск -> CMake и указываем путь к cmake.exe (например, C:\Program Files\CMake 2.8\bin\cmake.exe)
  7. В Qt Creator открываем файл как проект: C:/vrender/libvrender/CMakeLists.txt (Файл - Открыть файл или проект...)
  8. Откроется мастер, выбираем каталог сборки libvrender-build: C:/vrender/libvrender-build (папку нужно создать) и жмём Далее
  9. Выбираем генератор: Генератор для MinGW (Mingw as a GCC for Windows targets), жмём Запуск CMake и затем Завершить
  10. Открываем файл как проект: C:/vrender/vrender-gui/vrender-gui.pro, в появившемся меню жмём Завершить
  11. Заходим во вкладку Проекты, сверху выбираем vrender-gui, и потом Зависимости, здесь выбираем vrender
  12. Жмём на значок компьютера и выбираем сборку Релиз (также должен быть установлен запуск vrender-gui)
  13. Жмём правой кнопкой мыши на проект vrender-gui и выбираем Пересобрать проект
  14. После сборки, жмём на зелёную стрелку Запустить
  15. Готово! Приятного пользования!

Известные проблемы

  1. Не отображается текст ожидания (в MessageBox) при построении в Ubuntu

About

VRender is a program for visualization of scalar fields, constructed with defined functions | VRender - это программа для визуализации скалярных полей, построенных при помощи задаваемой функции

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published