POV-Ray : Newsgroups : povray.macintosh : Wavefront Import Server Time
23 Nov 2024 07:58:28 EST (-0500)
   Wavefront Import (Message 1 to 4 of 4)  
From: kurtz le pirate
Subject: Wavefront Import
Date: 27 Dec 2020 10:22:10
Message: <5fe8a6a2$1@news.povray.org>
Hello,

Ref : <http://wiki.povray.org/content/Reference_Talk:Mesh>

"New to version 3.7.1 support has been added to allow importing 
Wavefront (OBJ) files." With the given example

mesh {
   obj "file_name.obj"
   texture_list {
     "Foo" texture { MyTexture }
     "Bar" material { MyMaterial }
     prefix "Tx"
     suffix "_"
   }
   inside_vector y
}

and with the latest version of MacPOV, this results in the error :
"Parse Error: No triangles in triangle mesh".


The "file_name.obj" file contains only geometric vertex list and faces 
elements list. No triangle because it's and OBJ file 
<https://en.wikipedia.org/wiki/Wavefront_.obj_file>.
The file open well with Wings3D and Meshlab.

So, implemented or not ?
Regards





-- 
Kurtz le pirate
Compagnie de la Banquise


Post a reply to this message

From: William F Pokorny
Subject: Re: Wavefront Import
Date: 28 Dec 2020 09:47:39
Message: <5fe9f00b$1@news.povray.org>
On 12/27/20 10:22 AM, kurtz le pirate wrote:
> 
> Hello,
> 
> Ref : <http://wiki.povray.org/content/Reference_Talk:Mesh>
> 
> "New to version 3.7.1 support has been added to allow importing 
> Wavefront (OBJ) files." With the given example
> 
...
> and with the latest version of MacPOV, this results in the error :
> "Parse Error: No triangles in triangle mesh".
> 
...
> 
> So, implemented or not ?
> 
For any particular Mac version I cannot be certain of the state.

During 3.71 development Christoph implemented initial OBJ import support 
and then disabled it due issues requiring code re-work.

I occasionally run across disabled remnants of the attempt in the code 
base for v3.8 - which I hope to remove at some point from my povr branch.

The parse message you get, I get, with v3.7 and v3.8 master and it comes 
from the mesh1 parsing code. The parsing done is simple and on the first 
"token" not understood it exits the mesh1 parsing; Checking for a 
triangle count of at least one before returning(1). It must find at 
least one valid 'triangle' or 'smooth_triangle' internal to the first 
block-internal token(1).

(1) - Invalid triangles are simply ignored which could lead to confusing 
messages on "junk" text. The invalid triangles should probably be 
counted and reported once on exit - as a warning - if the count larger 
than 0.

(1+) If there are no valid triangles at the time an unknown token is 
seen, the token itself should be the error - not that there are no valid 
triangles.

Bill P.


Post a reply to this message

From: William F Pokorny
Subject: Re: Wavefront Import
Date: 28 Dec 2020 15:18:37
Message: <5fea3d9d$1@news.povray.org>
On 12/28/20 9:47 AM, William F Pokorny wrote:
> 
> (1) - Invalid triangles are simply ignored which could lead to confusing 
> messages on "junk" text. The invalid triangles should probably be 
> counted and reported once on exit - as a warning - if the count larger 
> than 0.
> 
> (1+) If there are no valid triangles at the time an unknown token is 
> seen, the token itself should be the error - not that there are no valid 
> triangles.
> 

FWIW. Updated my povr branch to always warn on degenerate triangles and 
degenerate triangles, or not, any invalid identifiers/tokens are always 
flagged as errors by name. Your code as posted now generates:

Parse Error:
Invalid identifier 'obj'
prior to valid triangle or smooth triangle.

Bill P.


Parse Warning:
4 degenerate triangle(s) dropped from mesh with
0 valid triangle(s).
File 'newDegenWarn_wIdentErr.pov' line 18:
Parse Error:
Invalid identifier 'obj'
prior to valid triangle or smooth triangle.


Post a reply to this message

From: kurtz le pirate
Subject: Re: Wavefront Import
Date: 30 Dec 2020 11:30:06
Message: <5fecab0e@news.povray.org>
On 28/12/2020 15:47, William F Pokorny wrote:
> During 3.71 development Christoph implemented initial OBJ import support 
> and then disabled it due issues requiring code re-work.

Ok... thanks William.

I started to make a little perl script to convert 'obj' to 
mesh/triangle. For the moment, I'm stuck on the triangularization of 
polygons.




-- 
Kurtz le pirate
Compagnie de la Banquise


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.