OpenCTM

OpenCTM
Utvecklare Marcus Geelnard
Initial release 2009
Stabil frisättning
1.0.3 / 15 januari 2010 ( 2010-01-15 )
Skrivet i C
Operativ system Windows , Mac OS X , Linux , etc.
Typ 3D datorgrafik
Licens zlib licens
Hemsida http://openctm.sourceforge.net/

OpenCTM är en 3D-geometriteknik för att lagra triangelbaserade maskor i ett kompakt format.

Översikt

OpenCTM är ett projekt med öppen källkod som har utvecklats kring en teknik för att komprimera 3D- triangelnät . Tekniken är uppdelad i tre olika delar:

Den triangelnätdatastruktur som OpenCTM använder är direkt kompatibel med högpresterande grafikrenderingspipelines, såsom OpenGL , vilket gör att den är lämplig för interaktiva datorgrafikapplikationer. Andra applikationstyper, såsom CAD / CAM -verktyg, behöver vanligtvis konvertera mesh-data till ett anpassat mesh-format för effektivare datahantering.

OpenCTM använder en triangelindexmatris för att representera triangelanslutningsinformationen och flera matriser för att representera vertexdata (vertexkoordinater, normaler , UV-koordinater och anpassade vertexattribut).

Filformat

Filformatet, som är binärt , använder 32-bitars little endian -format för alla heltalsfält och 32-bitars binärt IEEE 754- format för alla flyttalsfält (även little endian).

Filen börjar med en speciell heltalsidentifierare, 0x4D54434F, som, om den tolkas som fyra ASCII-tecken , bildar strängen "OCTM". Efter identifieraren finns ett heltalsvärde som anger filformatsversionen (den senaste officiella filformatsversionen är 5).

Resten av filen, som beskrivs i filformatsspecifikationen, innehåller triangelnätinformationen. Detta inkluderar en komprimerad triangelindexmatris och komprimerade vertexmatriser (en matris för varje vertexattribut).

På grund av de många stegen av databearbetning som krävs för att implementera komprimeringen, är det vanligtvis mer komplext att interagera med filformatet direkt än att interagera med andra, okomprimerade triangelmesh-filformat (till exempel STL och PLY ) .

Kompression

Kompressionen är baserad på förlustfri entropi-reduktion, med hjälp av olika differentieringsoperationer, följt av förlustfri entropikodning med hjälp av LZMA -komprimeringsbiblioteket.

Se även

externa länkar