Skip to content

In this project, a program for viewing 3D wireframe models (3D Viewer) in the C programming language is implemented. The models themselves must be loaded from .obj files and displayed on the screen with the ability to rotate, scale and move.

Notifications You must be signed in to change notification settings

man-od/Qt_3Dviewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Qt_3Dviewer

In this project, a program for viewing 3D wireframe models (3D Viewer) in the C programming language is implemented. The models themselves must be loaded from .obj files and displayed on the screen with the ability to rotate, scale and move.

Qt_3Dviewer

A program for visualization of 3D wireframe models has been developed.:

  • The program must be developed in C language of C11 standard using gcc compiler. You can use any additional QT libraries and modules
  • The program code must be located in the src folder
  • The program must be built with Makefile which contains standard set of targets for GNU-programs: all, install, uninstall, clean, dvi, dist, tests, gcov. Installation directory could be arbitrary, except the building one
  • The program must be developed according to the principles of structured programming
  • When writing code it is necessary to follow the Google style
  • Prepare full coverage of modules related to model loading and affine transformations with unit-tests
  • There should be only one model on the screen at a time
  • The program must provide the ability to:
    • Load a wireframe model from an obj file (vertices and surfaces list support only).
    • Translate the model by a given distance in relation to the X, Y, Z axes.
    • Rotate the model by a given angle relative to its X, Y, Z axes.
    • Scale the model by a given value.

Settings

  • The program must allow customizing the type of projection (parallel and central)
  • The program must allow setting up the type (solid, dashed), color and thickness of the edges, display method (none, circle, square), color and size of the vertices
  • The program must allow choosing the background color
  • Settings must be saved between program restarts

Record

  • The program must allow saving the captured (rendered) images as bmp and jpeg files.
  • The program must allow recording small screencasts by a special button - the current custom affine transformation of the loaded object into gif-animation (640x480, 10fps, 5s)

About

In this project, a program for viewing 3D wireframe models (3D Viewer) in the C programming language is implemented. The models themselves must be loaded from .obj files and displayed on the screen with the ability to rotate, scale and move.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published