datjko / vdpm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

View-dependent progressive meshes implementations

This project includes implementations of View-dependent progressive meshes. http://research.microsoft.com/en-us/um/people/hoppe/proj/vdrpm

Libraries: vdpm: Core runtime refinement library. Features includes

  • Geomorph with custom enhancement to reduce popping effect.
  • Refinement criteria:
    • View frustum
    • Surface orientation
    • Screen-space geometric error
  • Regulation
  • Amortization
  • Runtime triangle strips generation
  • OpenGL VBO & IBO renderer
  • Custom number of vertex attributes (Normal/Color/TexCoord)

Source codes are at share/vdpm. Configuration is at share/vdpm/include/vdpm/Config.h.

osgVdpm: OpenSceneGraph wrapper. Features includes

  • Encapsulates SRMesh as osgDrawable
  • UserStats to show VDPM related parameters
  • Serializer to convert general model to VDPM format.
  • Multiple viewport with multiple SRMeshes are possible.

Source codes are at share/osgvdpm.

MixKit: Modified from QSlim to support VDPM format conversion. http://mgarland.org/software/qslim.html

Features includes

  • Algorithm: Simplifying Surfaces with Color and Texture using Quadric Error Metrics
  • Refinement criteria calculation:
    • Cone-of-normals angle
    • Uniform error
    • Directional error

Source codes are at share/mixkit.

Program: vdpmview: Simple UI to display .vdpm model. WIN32 GUI program. Source codes are at project/vdpmview.

vdpmslim: Modified from QSlim to support VDPM format conversion. Console program. Source codes are at project/vdpmslim.

osgvdpmstaticviewer/osgvdpmcompositeviewer: Modified from osgstaticviewer/osgcompositeviewer to display .vdpm or osgt/osgb format of vdpm files. Source codes are at project/openscenegraphvdpm.

osgvdpmconv: Modified from osgconv to convert general models to osgt/osgb format of vdpm files. Source codes are at project/osgvdpmconv.

Platform: Built and tested on windows platform only.

How to build:

  1. Install Visual Studio
  2. Install CMake
  3. mkdir /build
  4. In CMake GUI:
    • Where is the source code: --> [Root directory of this project]
    • Where to build the binaries: --> [Root directory of this project]/build/[program name]
  5. Press [Configure] & [Generate], the solution files will be generated at [Root directory of this project]/build/[program name]

About

License:GNU Lesser General Public License v2.1


Languages

Language:C++ 48.3%Language:C 28.3%Language:HTML 14.8%Language:Makefile 2.1%Language:Shell 1.5%Language:Roff 1.0%Language:CMake 0.7%Language:Python 0.7%Language:M4 0.4%Language:Java 0.4%Language:C# 0.4%Language:Perl 0.3%Language:Objective-C++ 0.2%Language:DIGITAL Command Language 0.2%Language:Assembly 0.1%Language:Objective-C 0.1%Language:PHP 0.1%Language:Ada 0.0%Language:Pascal 0.0%Language:Visual Basic 0.0%Language:GLSL 0.0%Language:Awk 0.0%Language:Batchfile 0.0%Language:Yacc 0.0%Language:XSLT 0.0%Language:Cuda 0.0%Language:CSS 0.0%Language:WebAssembly 0.0%Language:Perl 6 0.0%Language:OpenEdge ABL 0.0%Language:Module Management System 0.0%Language:SAS 0.0%Language:JavaScript 0.0%Language:CLIPS 0.0%Language:Protocol Buffer 0.0%Language:Ruby 0.0%Language:Smalltalk 0.0%Language:Gnuplot 0.0%Language:Scala 0.0%Language:TeX 0.0%