When you want to parse a file format, like OBJ, all you need to do is read the spec and write a function that parses it. This is much simpler for text based formats like.OBJ. You can read the.OBJ spec here. An implementation of an.OBJ loader in Java can be found here. Free OBJ 3D models for download, files in obj with low poly, animated, rigged, game, and VR options.
3D tools on Linux
3D viewers & converters
with a MENU
'glc_player' 3D viewer
This function reads vertices, faces, texture and normal information from a specified Obj file, and stores the information in a Matlab structure. This file is designed for faces with 3 vertices (Triangulated mesh). The OBJ file format and 3D printing go hand in hand. Find out all you need to know about OBJ file format for CAD and 3D printing in this guide.
Home >RefInfo menu >
Computer topics menu >
Linux Guides/Notes by Blaze menu >
This 3D tools
(viewers & converters)
! Note !
More notes and images and software descriptions
may be added, if/when I re-visit this page.
< Go to the Table of Contents (menu), below. >
(Skip the Introduction)
This page is meant to provide a menu of links to pages ofnotes on 3D tools for Linux ---mostly 3D file viewers and 3D file converters.
The emphasis is on software that is available at no cost or low cost.
Editing 3D files with tools such as Blender and Wings3D is a much moredifficult and extensive topic than 3D viewers and converters.
There will be a few notes in these pages on 3D modellers being used as3D file viewers.
But, if I collect notes on creating and editing 3D files with3D file editors (modellers),I will collect those notes on separate web pages,and (if I remember to) I will put links on this page.
This page is meant to provide a menu of links to pages of notes on
The pages on viewers and converters include
for many of the 3D viewer and converter programs.
The ultimate purpose is to collect 3D code from all overthe Internet to make it easily availablefor further 3D software development for Linux systems.
'paraview' 3D viewer
A quick overview of some 3D file types :
Some of the 3D file types we will be dealing with are :
(Many of the following links are to Wikipedia.)
Some 3D viewers, for Linux :
Some of the 3D viewers that have proved to be easily installable onLinux (Ubuntu 9.10 or thereafter) are (roughly in alphabetic order) :
Additionally, some 3D modellers (creators and editors of 3D files) canbe used as viewers, but they are ordinarily slower to load than 'lighter-weight'3D viewers.
And they have much more complicated user interfaces.
There are several 3D modellers that are easily installable onLinux (esp. Ubuntu), and they are (in numero-alphabetic order by name) :
Blender, Wings3D, and K-3D were easily installable on Ubuntu Linuxvia the left of the toolbar panel across the top of the screen --- 'Applications > Ubuntu Software Center' (in 2011).
And 'mm3d' was easily installable via the 'sudo apt-get install mm3d'command.
There are a few other 3D viewers that I should mention --- butI list them separately, because they may not be as easilyinstallable on Linux (esp. Debian or Ubuntu) as the packages above.
Overall, Google Translate is a well built extension for the Chrome browser. It has a sleek looking menu and has a few useful features, such as the ability to set it to automatically translate Web pages not in your default language without prompting. As you would expect from Google, this is a quality extension that works very well. You can translate text, handwriting, photos, and speech in over 100 languages with the Google Translate app. You can also use Translate on the web. To translate text, speech, and websites in more than 100 languages, go to Google Translate page. Google language translator for pc downloadmarcus reid 2020.
I generally stay away from Java-based code --- especiallyfor 3D, not only for performance reasons, but because it is so hardto find Debian or Ubuntu packages of Java-based 3D viewers.
But I provide links to such Java-based 3D viewers here ---if only as a reminder that they exist.
Besides 'freeWRL' (mentioned above as being 'dropped' byDebian package-makers), here are a few more Java 3Dviewer programs.
The Java 'write-once, run anywhere' IDEA is a nice one.
One of the problems, however, is getting Java-engines[byte-code interpreters] that run with no problems onyour particular machine --- with its windowing system andits 3D video card.
Java 3D is basically taking a very, very complex area--- 3D graphics programming adding another layer of complexity--- another layer of things that can go wrong ---to that complex situation.
maybe we can expect some stable, Java-based 3D-file-viewerson Linux, in coming years.
Some 3D file CONVERTERS for Linux :
Most 3D multi-converter programs (programs that convertbetween many pairs of 3D file formats) require lots ofdevelopment and testing.
As a consequence most such programs are non-free and rather costly.
On Linux, I have found only a few 3D 'multi-converter' programs, namely :
On Linux, there are quite a few 3D 'one-to-one'converter programs, that is programs that convertONLY one 3D format to ONLY one other 3D format.
Not surprisingly, the quality of these 3D converterprograms varies considerably.
Most are available as source rather than compiled binaries.
You hardly ever find these, or the 'multi-converters' above,in Linux binary packages such as Debian or Red Hat packages.
A list follows that gives an idea of the kinds of 3D'one-to-one' converters that might be (or were) availableand buildable on Linux (or Unix) :
These indicated 'one-to-one' converters are actually some combinationsthat I have found to be implemented in one language or another, but it is notclear to me yet whether they are all capable of being fairly easilyimplemented --- in particular, on Linux (especially Ubuntu or some otherDebian-based distro).
However, if the source is available and compilable, for some of these,I intend to make the source and compiled program available via a3D converters web page.
At least these programs do not require libraries for GUIuser interfaces and for 3D graphics, so the compilationrequirements are generally relatively simple.
Some 3D test/demo files :
In addition to web pages for 3D viewers and 3D converters,I also have a web page that is meant to serve asa source of various 3D sample files for various 3D fileformats, with suffixes such as
'.3ds', '.blend', '.dwg', '.dxf', '.igs', '.iv', '.obj', '.ply', '.pov', '.stl', '.stp', '.vtk', '.wrl', '.x3d' --- the ones in bold being the types that are most commonly used (and found).
A few of these formats, like '.igs' (IGES) and '.dwg', are actually mainly used as 2D drafting formats.
But they are included here because they often contain geometry that is used to make 3D models --- and some viewers of 3D files are also capable of viewing these 2D file formats.
My background on 3D viewers and converters :
I spent about 10 years (about 1995 to 2004) working on SGI (Silicon Graphics)Unix workstations, installing and supporting software for engineeringpurposes --- especially Finite Element Analysis and for Large ScaleVisualization.
About 1993 to 1998 were the 'boom years' for SGI.
During that time, their talented people had come out withthe Inventor file format for 3D models --- with lightingand some built-in animation capabilities included inthe format specification.
VRML 1 was a subset of the SGI Inventor specification.
The potential capabilities were demonstrated by some examplefiles which included interactivity capabilities.
One example VRML(2) model is a sphere that could beslid back and forth along a rod (constrained thereto),by using a mouse to drag the sphere.
I was in a position to try out the SGI 'ivview' program (a 'stand-alone' program) and 'Cosmoplayer' program(a web browser plug-in, only) on various demoInventor and VRML files.
It seemed like there was a lot of potential there ---in the advertising and presentations worldif not in the engineering world.
In any case, thus was born my interest in 3Dfile viewers, 3D file converters, and 3D file formats.
On the MENU - of 3D resources pages, below :
There is a 'Table of Contents', just below, that contains links toseveral web pages that I have constructed having to do with3D viewers, 3D converters, and 3D test/demo files --- as well as'special subject' areas in 3D graphics.
You can use the Find-Text option of your web browser to lookfor keywords on this page (and in those pages) ---keywords such as 'view', 'play', 'convert', 'vrml', 'inventor','3ds', 'dxf', 'iv', 'obj', 'stl', 'ply', etc.
There is also a link to a page of 'external' web links --- on 3D viewers,3D converters, 3D file formats, and other 3D topics --- nearthe bottom of this page.
I try to provide links that will not go dead in a year or two,but the internet is littered with 'Links' pages on which90% of the links are dead.
No doubt, in about 10 years, at least 50% of the links onmy 3D links page will be dead.
TABLE OF CONTENTS :
(a menu of links to 'local' web pages)
Also seeantiprism.com ---
See the following two images, still and animated.
END OF TABLE OF CONTENTS.
Bottom of this
To return to a previously visited web page location, click onthe Back button of your web browser, a sufficient number of times.OR, use the History-list option of your web browser.
< Go to TOP of this page, above. >
WARNING: THIS REPO IS NO LONGER MAINTANING, MAYBE NOT SUPPORT NEWERST CESIUM.
Node command line tool and module convert obj model file to 3D Tiles, based on obj2gltf.
NOTE: Only support
.i3dm for now!
Please use Cesium after v1.37, cause this 3d tile use glTF2.0.
Make sure you have Node installed, and then
NOTE: More detial to convert
.glb can find at obj2gltf.
NOTE: If your model have tarnsparency texture please add
NOTE: If your model using blinn-phong material, and use occlusion when convert to PBR material, the model will looks darker.The
useOcclusion default is false, remember adding
--useOcclusion if your model using PBR material. Here are some showcase about it.
.b3dmwith default BatchTable, which have
nameis model’s name.
.b3dmwith default BatchTable and export default BatchTable (a JSON file). Maybe get information for custom BatchTable.
.b3dmwith custom BatchTable.
.i3dmwith FeatureTable and BatchTable.
FeatureTable support following parameters :
.obj Modeling File Reader For Mac Brown Austin Isd
- Create a single tileset with
- Create a single tileset with
.b3dmtile and custom tileset options, custom BatchTable.
- Create a single tileset with
- Create a single tileset with
.i3dmtile and custom tileset options, custom BatchTable.
customTilesetOptions.json can have options bellow, and these are fake values, please only add properties you need, other value will be auto calculate through
NOTE: If you are not specify the
transHeight option, your model will be place at earth ground surface, which means no matter what the height your models are,the lowerest point of your models will be place at
height = 0.0 on the earth. But if you want keep origin heigth you just need specify
transHeight = 0.0.
Here are different bounding volumes.
You can combine tilesets into one
tileset.json as external tileset.
Using as node module
If you want to use this tool in node or debug, check out how to use as node module.
Navigate to this project folder and run
First, make sure your
.obj file is complete, normally include
.mtl and textures like
.png.You can preview your
.obj model via “Mixed Reality Viewer” if you are in windows 10.Otherwise you can use this online viewer.
.glb and check if it display correctly. You can useCesium or Three.js gltf viewer.
In the end, just export
.b3dm or tileset and load in Cesium.
Sample data under the
- Online glTF viewer, make sure your glTF is correct. Cesium, Three.js.
Great thanks to Sean Lilley(@lilleyse) for helping and advising.
Thanks AnalyticalGraphicsInc provide a lot of open source project (like Cesium and 3D Tiles) and creat a great GIS environment.