Any octane user ? Closed  Locked
 1-7  8-27  28-47  48-67  …  88-101

Previous
Next
 From:  Samuel Zeller
3386.8 
So how do we fix it ?
Does Radiance need to fix or does Michael ?
I don't understand where's the problem coming from :(

I can't even render a simple bolt in OBJ from MoI in Octane :D

Im Sam in OR forums PaQ ;)
  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
3386.9 In reply to 3386.8 
Hi Sam,

It's an octane problem, ... as all the .obj I've tested were rendered perfectly in modo.
Looks like something wrong in the nv parser stuff (normal reader).

I know Philbo, as a MoI user, is concerned too ...
  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
3386.10 In reply to 3386.9 
First 'working' octane export ...
I didn't find any better solution than disabling the weld along edge option, and tesselate the mesh as much as I can.

EDITED: 3 Dec 2015 by PAQ

  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Phil (PHILBO)
3386.11 
Hey Michael,

Can you please help us out? We're trying to make Octane Render a very affordable and powerful renderer for all modeling programs. We're trying to improve our obj import of MOI3D meshes.

Radiance, the author of Octane Render, has posted the following in a discussion with PAQ on the Octane forum. Can you post whether we're missing something or not?



"i really don't understand.

here's a simple low poly ball.
half the normals are inversed. (the vertex normals)

i export it to an OBJ:



that's correct. the vertex normals are exported to the OBJ, they are read by octane and used for rendering.
the image looks ugly, but it's correct as half the normals point the wrong way.

there is no recalculation of these going on at all, they are used as they are read.

the blender file is :

___________________________________________

# Blender3D v248 OBJ File:
# www.blender3d.org
mtllib invball.mtl
o Sphere
v 0.382683 0.923880 -0.000000

...

vt 0.000000 0.000000 0.0

...

vn -1.000000 0.000000 0.000000

...

usemtl Material.001
s 1
f 37/1/1 7/2/2 8/3/3
f 1/4/4 15/5/1 14/6/5
f 14/7/5 15/8/1 16/9/6

...

________________________________


which is identical to the moi3d file paq posted:

_________________________________

mtllib SuperBall.mtl
o object1
g object1
v 1.29307735 3.62458663 -1.09101924

...

vt 0.00645550 0.11863773

...

vn -0.10859368 0.00000000 0.99408622

...

s 1
usemtl Default
f 1/1/1 2/2/2 3/3/3
f 671/3039/671 3/3036/3 2447/3041/2478
f 2446/3040/2477 672/3038/672 2447/3041/2478

_________________________________


There's nothing else, that's the way OBJ works.

Maybe the problem simply does'nt exist and it's an artifact that presents itself due to the missing smoothgroups ?

Imagine if you have 2 polygons that are connected by a shallow angle,
they should be separated into 2 groups otherwise they will be interpolated and you get shading artifacts.

imagine if one of these 2 normals is on the other side, this will give you strange black shading artifacts.
it's either due to the missing support for smooth groups, or something else.

can someone ask the moi3d implementer ? show him this post and ask him if he maybe exports OBJ's in other ways in certain scenarios ?
the OBJ provided by paq is %100 identical in syntax / structure to my blender example which works %100, except for the missing smoothgroups.

Radiance"


Can you comment on this? I know that you have had experience with other rendering engines and how they handled (or mishandled) vertex data. Can you shed any light on this issue?

Thanks if you can.

Phil
Attachments:

  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
3386.12 In reply to 3386.11 
Hello Michael,

I, of course did a lot of test, and here's the most revelant one.



As Octane don't support Ngones, I have to use the 'quad and tris' option in MoI, which output sometimes really nasty microtriangle.
Modo can still handle it (well there are some extreme case where modo also give up, but only with full tris output).

So after 9 pages of discussions on the Octane forum, I'm starting to loose my hairs :)

Does Modo actually manage this micro triangles thanks to the vertex normal coming from MoI, or is it something else.

If you have any idea ... would be great :)

EDITED: 3 Dec 2015 by PAQ

  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3386.13 In reply to 3386.11 
Hi Phil - well MoI always exports vertex normals in the same way - the normals come from the original NURBS surface that the polygons were generated from.

Smoothing groups support should not really have anything to do with it - when the vertex normals are being used, they should completely define the smoothing appearance of the polygons.

Usually it is either one or the other - either you use smoothing groups and have the vertex normals created by an averaging process of face normals between adjacent polygons in the mesh (only between polygons in the same group though), _OR_ you use stored vertex normals in which case they will be oriented to make a crease where there should be creases and so forth, when you use vertex normals it is in place of using smoothing groups, not something you use in addition to them.

The kind of artifacts that PaQ is showing in several of the posts here definitely look like some kind of problem with vertex normal handling.

I've seen problems that have a similar look as this in some programs that do not use the stored vertex normals and instead calculate them only by averaging face normals. That's not good because that is throwing away the accurate normal that came from the original NURBS surface.


Maybe another possibility is some problem with interpolating the normals?


> Imagine if you have 2 polygons that are connected by a shallow
> angle, they should be separated into 2 groups otherwise they will
> be interpolated and you get shading artifacts.

This part does not make sense to me - when you use the stored vertex normals, all the information for how a polygon should be smoothed is already present in the normals themselves - if 2 faces are supposed to be creased with each other that means they would each have a different vertex normal pointing in different directions, so when the polygons are rendered, each polygon would be using its own normals.


Does Octane maybe not support having 2 faces that share a 3D point location in common but have separate vertex normals for each face rather than having a shared normal as well?


What happens if you just export a box from MoI to Octane with welding turned on, what does that look like?


Also, PaQ can you pick just one single, simple surface that has those artifacts in it when imported into Octane, and then post that here so that we can focus on a good simple example case?


- Michael
  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
3386.14 In reply to 3386.13 
Hi Michael,

Yeah that's what I'm singing since a week, with proper vertex normal map reading, smoothing group are useless ...
Here's how a single cube looks in Octane.

Diffuse shading


Reflection shading


I'm looking for the simplest but revelant surface showing shading problem.

EDITED: 3 Dec 2015 by PAQ

  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3386.15 In reply to 3386.14 
Hi PaQ, re: cube - is that how it is supposed to look like or is that messed up?

What are these lines here that I'm pointing to in red:



Are those part of some environment or should those not be there?

Is it possible to do a really simple 1 light (like a headlight maybe) lighting setup and then show what a cube looks like? (with just the diffuse shading).

Also could you show if there is any difference if you export from MoI with welding turned off versus with welding turned on?

- Michael
Attachments:

  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3386.16 In reply to 3386.11 
Hi Phil, also here's another way to describe the stuff about smoothing groups.


So in order to make a flat polygon look like it is actually a piece of a smooth surface rather than a totally flat thing, you need to have vertex normals set up.


If an OBJ file has vertex normals in it, then you only need to read in those normals and then you have the normals all set up and fully prepared to render without doing anything else to the vertex normals at all.

If the file did not have any vertex normals in it, or if the vertex normals were invalidated somehow like by editing the points or morphing or something like that, that's when you would need to go through some process to create some vertex normals. When creating the vertex normals, that's when things like smoothing groups, break angles, etc... can come into play to have various effects on how the normals are created, like if there should be a break line between 2 polygons or not.


But if they are in the file, you don't want to be doing anything related to creating vertex normals or manipulating them by smoothing groups or break angles or anything like that at all, you want to just be using the normals that have been provided directly... If things were supposed to be creased, the polygons will already be set up with different normals specified to make the crease happen.


Does that make sense?


So that's why things like smoothing groups support is not significant in the case when you already have vertex normals present in the OBJ file - smoothing groups would only be significant if you need to create normals but if you have them you should not try to create new ones because you don't have enough information to get the true normal from the original NURBS surface at that point.

- Michael
  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3386.17 In reply to 3386.12 
Hi PaQ, sorry I missed the bottom part of your earlier post, you asked:

> Does Modo actually manage this micro triangles thanks to the vertex
> normal coming from MoI, or is it something else.

Yes, it handles them well because of having the accurate normals that come from the NURBS surface.

You can usually have pretty horrendous looking wireframe triangles but that look just like the original NURBS surface when shaded, if they use the normals that came from the original surface.

Otherwise, if trying to create normals only by averaging adjacent face normals, that's much more sensitive to the topology of the triangles, and things like abrupt changes from one polygon to the next. Some long skinny triangle will factor into the averaging process with the same weight as some larger polygon from a plane or something like that. That creates irregularities in the shading.


Actually when you have n-gons in Modo the stuff getting rendered is something just like that "triangles only" export from MoI - Modo will keep an internal triangulation of the n-gon and it is the triangulation that will actually get shaded. N-gons are nice for other things like cleaner wireframe display, polygon selection and management type stuff, but they are not used directly for shading though.

- Michael
  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
3386.18 In reply to 3386.15 
Hi Michael,

\\What are these lines here that I'm pointing to in red\\

Shading artefact :P there is no reflection on this one, so the line here are coming from Octane trying to smooth the whole stuff.


\\Is it possible to do a really simple 1 light (like a headlight maybe) lighting setup and then show what a cube looks like? (with just the diffuse shading).

Not for the moment ... You can 'only' lit a scene with an hdr map ... This is supposed to be a flat shaded cube.


\\Also could you show if there is any difference if you export from MoI with welding turned off versus with welding turned on?

When welding turned off, the result is right (no more lines crossing the cube). That was the first trick we used ... but of course turning welding off introduce
a lot of other problems, like discontinuity on every smooth surfaces. That were the smoothing group happends in the discussion.

Basically I know what's happend, using MoI since a year or more. I mean all this trouble remind me the bad days when I was trying to import my stuff into 3dsmax.
It's the same nightmare. My main problem here is to explain it to Radiance, as he doesn't seems to understand the problem. From his pov, there is something special
in MoI, whatever I can show. I've post tons of screens, mostly Modo comparaison etc. Don't get me wrong, I really appreciate the guy and his patience (I'm bugging him
since a week or so), I love the render engine and all.

It's just that I feel ... frustrated ...

EDITED: 27 Mar 2010 by PAQ

  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
3386.19 In reply to 3386.17 
\\ Actually when you have n-gons in Modo the stuff getting rendered is something just like that "triangles only" export from MoI - Modo will keep an internal triangulation of the n-gon and it is the triangulation that will actually get shaded. N-gons are nice for other things like cleaner wireframe display, polygon selection and management type stuff, but they are not used directly for shading though.

Well actually that's something I don't really get. As I did a tons of test since few days, I actually get some case where, for the same object, the Ngone version is giving a much better result in Modo that the full triangulate one. Actually it's also visible in MoI viewport.



And you will of course see it in Modo, especially when using a reflective surface.



But that's extreme example of course.

EDITED: 3 Dec 2015 by PAQ

  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
3386.20 
So here's a simple object showing a lot of shading error.
With the .3dm.



EDITED: 3 Dec 2015 by PAQ

  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3386.21 In reply to 3386.18 
Hi PaQ,

> Shading artefact :P there is no reflection on this one, so
> the line here are coming from Octane trying to smooth
> the whole stuff.

Well a box is a nice simple case to work with, so that's actually good...

Getting artifacts with welding turned on like this probably means that the faces in Octane are using a shared vertex normal even though in the OBJ file each of those faces only shares a 3D point location and has separate non-shared vertex normals.

Is it possible to recreate this problem with an export created from scratch in Modo?

Try making a simple 6-faced cube in Modo, make sure you have it welded so there are only 8 vertices for the cube (so like if you moved just one corner vertex all the faces move and not just one face like it would with stacked up individual vertices), then export that to an OBJ file.

Does the one exported from Modo also have the same artifact when read into Octane? Maybe post the Modo-generated OBJ cube here so I can look at it and verify that Modo wrote a welded OBJ file and did not do something like unweld it at export time only.


> That was the first trick we used ... but of course turning
> welding off introduce a lot of other problems, like discontinuity
> on every smooth surfaces.

Well, it would only have that kind of an effect with creating discontinuities on smooth surfaces if it is creating vertex normals itself rather than using the ones from the file.

If the vertex normals from the file were actually being used, turning welding off would have no effect on shading at all.

But when normals are created by an "averaging adjacent face normals" method, that's when welding can have an impact because non-welded polygons will not be considered to be adjacent...


So it really really looks like the vertex normals in the OBJ file are not being used...


Phil, is there any way to turn on a debug display to visualize the vertex normals within the Octane display?

That would probably help a lot if that could be set up, that way it would be a lot easier to point to one specific vertex normal and say "Look at that one, it is not right, it should be pointing like this instead" ...


> My main problem here is to explain it to Radiance, as he
> doesn't seems to understand the problem. From his pov,
> there is something special in MoI, whatever I can show.

Well, it should be possible to show him the same problem from other programs as well, since other CAD programs will produce similar structured things with vertex normals set up as well.

But maybe an easy first step would be to see if you can repeat the welded cube artifact problem from something created only in Modo.

- Michael
  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3386.22 In reply to 3386.19 
Hi PaQ,

> Well actually that's something I don't really get. As I did a tons
> of test since few days, I actually get some case where, for the same
> object, the Ngone version is giving a much better result in Modo
> that the full triangulate one. Actually it's also visible in MoI viewport.

Hmm, that's kind of strange that you see a difference in MoI with that.

It could be something like a different triangulation being used for the display between the cases, but that is kind of surprising so could you e-mail me that file at moi@moi3d.com so I can check it over here?

I think that's a separate thing from this Octane issue though.

- Michael
  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
3386.23 In reply to 3386.22 
Hi Michael

Modo unit cube :





I didn't add any env map here, so the scene is lit with a 'white' constant color.

(I'm sending the Ngone vs Tris right know)

EDITED: 3 Dec 2015 by PAQ

  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3386.24 In reply to 3386.20 
Hi PaQ, so on your latest fillet cube example there, I notice that the artifacts are really pronounced in spots where there has been a centroid-style triangulation where the n-gon is triangluated with a center point added to it so the triangles are arranged in a kind of radial manner.

That also probably explains the difference that you saw between "triangles only" export and n-gons export in some cases, I forgot there can be different display triangulations used between those cases because the "triangles only" one gets those centroid points added when possible but the display triangulation for n-gons does not add them in and only connects triangles from the outer points of an n-gon.

You can disable the centroid style triangulation in moi.ini, under [Mesh Export], put:

[Mesh Export]
CentroidTriangulation=n


It looks like that could possibly shift the artifacts around a bit.

- Michael
  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3386.25 In reply to 3386.23 
Hi PaQ, re: Modo cube - so the cube generated only from Modo has the same kind of problem, it is not supposed to look like that right?

So that's some good information to send over to him in a kind of a batch, like:


Here's an OBJ file generated from MoI. Here's what it looks like in Octane, it's messed up.

Here's an OBJ file generated from Modo (created from scratch in Modo, nothing at all from MoI in this case). Here's what it looks like in Octane, it's also messed up in the same kind of a way.

Here's what both of these OBJ files look like rendered in some other rendering programs (Modo, Max, whatever), they render both of these cubes as expected, with distinct flat faces.


It looks like Octane is not reading in the vertex normals from the file - even though the cube faces have shared vertices (the xyz vertex locations), each face has separate vertex normals specified in the file, but when Octane reads it in, it does not seem to be using the vertex normals that were specified in the file and seems to be creating some other ones, maybe ones that are shared between the faces although that is not how they are in the OBJ file.

- Michael
  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
3386.26 In reply to 3386.24 
Hi Michael,

Thanks for this centroid tip,

There are no more difference in MoI viewport between triangle and Ngones version, so no more difference in Modo either.

But as expected, it doesn't change anything for Octane :P

Centro off

EDITED: 3 Dec 2015 by PAQ

  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3386.27 In reply to 3386.26 
Hi PaQ,

> But as expected, it doesn't change anything for Octane :P

Well, the artifacts are slightly more evenly arranged... :)

But yeah you probably don't want any artifacts at all, hmmm?

In a moment I will do an export of your filleted cube out of Rhino for you test with as well.

- Michael
  More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 
 

 

 
Show messages:  1-7  8-27  28-47  48-67  68-87  88-101