ObjReader Community

Discussion => Post Your Questions & Comments Here => Topic started by: Patrice Terrier on September 25, 2021, 01:44:36 pm

Title: ObjReader questions
Post by: Patrice Terrier on September 25, 2021, 01:44:36 pm
Marc,

ObjReader internaly is using triangles (not quads), and if the mesh is using quads, they are converted on the fly into triangles.

For texturing purpose it can use any image size, and also transparent .png files.
ObjReader is GPU based, thus it can handle very large meshes.

As a matter of quality have a look on this video (http://www.objreader.com/download/video/amilcar.webm)
Note: The video has been converted to ."webM" with the new FFcapture utility (http://www.objreader.com/index.php?topic=364.0) (based on FFmpeg).

For panorama have a look on this other tool i wrote long ago.
http://www.objreader.com/index.php?topic=25.0

Title: Re: ObjReader questions
Post by: Patrice Terrier on September 25, 2021, 02:00:48 pm
Marc,

Send me an example of an.obj file you are using, altogether with the texture set and the .mtl file.

To work on 3D models, i am using Maxon Cinema 4D version 21, and i export them as wavefron .obj.
You can do the same with Blender that is freeware.

The main difference between ObjReader and other .obj compatible readers, is the use of the custom .mtl file using specific extensions not supported in the standard obj format.

Also Version 3.00 has switched from VBA to VBO/FBO mode, meaning almost everything is now handled by the GPU at the maximum speed of the graphic card to allow for smooth manipulation of high polygon models with millions of vertices.

To learn more about it, press the F1 key when running ObjReader.

Here is an example of a specific ObjReader material file.
The parameters shown in red are meta commands specfic to OR (ObjReader)
Those shown in blue have been slighty modified for the purpose of OR specific shaders.

#light frontambient 44 44 44
#light frontdiffuse 109 109 110
#light frontspecular 135 206 250
#light leftambient 76 0 0
#light leftdiffuse 125 59 24
#light leftspecular 92 136 162
#light rightambient 65 105 225
#light rightdiffuse 184 222 234
#light rightspecular 192 192 192

#pose 0.24 0.24 0.00 0.24 0.24 -1.57 0.30 24.30 0.00

#multilight
#straylight 50
#wallpaper @oblivionHUD.fs
#playaudio predator.mp3 100 loop sync
#demo

newmtl black
Ka 0.01 0.01 0.01
Kd 0.01 0.01 0.01
Ks 0.01 0.01 0.01
Ns 52
illum 1

newmtl hair
Ka 0.01 0.01 0.01
Kd 0.75 0.75 0.75
Ks 0.55 0.55 0.55
map_Ka gun_face_AO.jpg
map_Kd gun_face.jpg
map_Ks gun_face_KS.jpg
map_bump gun_face_bump.jpg
Ns 384
illum 2

newmtl gun
Ka 0.01 0.01 0.01
Kd 0.75 0.75 0.75
Ks 1 1 1
map_Ka gun_face_AO.jpg
map_Kd gun_face.jpg
map_Ks gun_face_KS.jpg
map_bump gun_face_bump.jpg
Ns 512
illum 2

newmtl blades
Ka 0.01 0.01 0.01
Kd 0.65 0.65 0.75
Ks 1 1 1
map_Kd helmet.png
map_Ks helmet.png
map_bump neutral_bump.png
Ns 999
illum 2

newmtl helmet
#pulse_e 1
Ka 0.01 0.01 0.01
Kd 0.135 0.135 0.135
Ks 1.25 1.25 1.25
Ke 0 1 0
map_Ka helmet_occ.png
map_Kd helmet.png
map_Ks helmet_spec.png
map_Ke helmet_KE.png
map_bump helmet_bump.png
Ns 999
illum 2

newmtl lazer
#pulse_e 1
Ka 0.01 0.01 0.01
Kd 0.8 0 0
Ks 1 0 0
Ke 1 0 0
map_Kd lazer.png
map_Ke lazer.png
map_bump neutral_bump.png
Ns 512
d 0.99
illum 2

newmtl skull
Ka 0.01 0.01 0.01
Kd 0.75 0.75 0.75
Ks 0.1 0.1 0.1
map_Ka face_occ.png
map_Kd face.png
map_bump face_bump.png
Ns 256
illum 2

newmtl body
Ka 0.01 0.01 0.01
Kd 0.75 0.75 0.75
Ks 0.35 0.35 0.35
map_Ka body_occ.png
map_Kd body.png
map_Ks body_spec.png
map_bump body_bump.png
Ns 1000
illum 2


Support of ambient occlusion, multiple light sources, and emissive color, add an extra level of realism.


Title: Re: ObjReader questions
Post by: Marc Haefner on September 26, 2021, 05:19:09 pm
The only thing i can do better in my workflow is reshaping/smoothing the simple wireframe i get from photogrammetry  and resampling the triangles with "weighted average pixels" from camera stations.

I am using Blender

> example of an.obj file you are using, altogether with the texture set and the .mtl file.

For the wireframe i have no .mtl File

I produce a simple .obj coordinate file with my photogrammetry workflow

maybe i should go into a mathforum

I probably have to convert the wireframe into nerbs


Title: Re: ObjReader questions
Post by: Patrice Terrier on September 26, 2021, 09:45:09 pm
Send me just an example of your .obj file, the mtl file is needed only when using textures.

I want to see how your photogrammetry workflow looks like, compared to the result of a 3D scanner.

Note: without texture, an .obj looks just the same than a .stl file.