-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME.plain
84 lines (67 loc) · 7.39 KB
/
README.plain
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#############
# Описание #
#############
VRender - программа для построения и визуализации трёхмерных скалярных полей. Построение производится с помощью пользовательской функции (для написания функции используется специальный язык построения).
При построении можно указывать размер скалярного поля, а при визуализации - размер поля полигонизации, который влияет на детализацию объекта.
В сцене с объектом присутствует один источник света, его параметры, а также материал объекта, можно задавать на вкладке "Освещение и цвет".
Объект можно вращать при помощи мыши (при помощи виртуального трэкбола). С помощью колёсика мыши можно приближать\отдалять (zoom).
Есть возможность экспорта полученного объекта в файл формата Wavefront (.obj), при этом экспортируется объект полигонизированный с текущим изо-уровнем.
#############################
# Поддерживаемые платформы #
#############################
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: sudo apt-get install qt4-dev-tools libqt4-opengl-dev
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