Skip to content

В качестве тестовой задачи для реализации вывода графики с использованием OpenGL поставим цель создания «просмотрщика» 3Dмоделей в формате STL

Notifications You must be signed in to change notification settings

MustafaNatur/OpenGl-3D-Viewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenGl MFC SDI project

К этому моменту в университете я научилися выводить примитивные геометрические объекты в окне вида с помощью контекста устройства, описываемого классом CDC. Очевидно, что такая графика вряд ли может удовлетворить реальные потребности пользователей САПР. Данный класс пользователей давно привык к детально прорисованным трехмерным сценам, использованию реалистичных текстур и т.д. Так же очевидно, что я не далеко не первый на пути «модернизации» графики в окнах, основанных на классе CView. Такие задачи ставились достаточно давно и одним из эффективных решений было предложена интеграция всем известной графической библиотеки OpenGL в приложение MFC, что сразу же подниметграфические возможности данного приложения на абсолютно новый уровень.

В качестве тестовой задачи для реализации вывода графики с использованием OpenGL поставим цель создания «просмотрщика» 3Dмоделей в формате STL. Данный формат существует в бинарной и текстовой версиях. Для простоты реализации возьмем только текстовый вариант. В STL-файле содержится информация о треугольных элементах, составляющих поверхность модели. Вершины треугольником задаются ключевым словом vertex с последующим указанием координат x, y и zчерез пробел. Нормаль к треугольнику кодируется словами facetnormal c последующим указанием координат вектора нормали. Остальные ключевые слова носят вспомогательный характер. Пример части STL-файла приведен ниже

STL example

facet normal 0.000000e+00 0.000000e+00 -1.000000e+00
  outer loop
    vertex -7.093629e+00 -2.435246e+00 0.000000e+00
    vertex -7.500000e+00 9.184850e-16 0.000000e+00
    vertex -5.918554e+00 -4.606596e+00 0.000000e+00
  endloop
endface

Result

animated_demo_screenshot

About

В качестве тестовой задачи для реализации вывода графики с использованием OpenGL поставим цель создания «просмотрщика» 3Dмоделей в формате STL

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published