Texture mesh display issues

unhandled

#1

When I import an obj with texture it appears black.

This is the same mesh displayed in Rhino v5.


(Nathan 'jesterKing' Letwory) #2

Please do attach all necessary files to replicate.

Thank you,

/Nathan


#3

Sorry about that Nathan.
Here’s a link to the files:
http://www.digital-mapping.net/forums/Rhino/Rhino_6_WIP/obj_texture_mesh.zip

I opened the obj with AccuTrans 3D and then saved the file. The Accutrans 3D version of the file displays correctly in Rhino v6. The original file was exported from RealityCapture.


#4

Hi @bisenberger, if you toggle the “ShadeVertexColors” checkbox, does it change ?

@stevebaer, @jeff, i guess i found a bug. If i turn the “ShadeVertexColors” option ON or OFF, it seems to affect other objects which do not have vertex colors at all. Once i select or unselect one of these objects w.o. vertex colors, funny things happen…

The object on the right in the video has some occlusion applied as vertex color:

ShadeVertexColorBug.zip (3.1 MB)

_
c.


(Jeff Lasor) #5

Sorry guys… My Internet has been down all morning…and seems to be pretty flaky at the moment… I’ll take a look at both of these and report back…

Thanks,
-Jeff


#6

Hi @clement, Nope, it doesn’t change.


(East) #7

Hello,

I’m having the exact same issue and just wanted to check in regarding a solution. Any luck?

Thanks,
East


(Nathan 'jesterKing' Letwory) #8

It looks like the mesh may be “bad”. At least when I use _RebuildMesh it renders ok in Rendered mode. Actually, scratch that - that breaks the UVs the model has. I noticed though that the model doesn’t have vertex colors.


#9

@nathanletwory, _RebuidMesh also purges VertexColors.

@jeff, where you able to reproduce what is shown in my video ?

_
c.


(Nathan 'jesterKing' Letwory) #10

@clement this obj doesn’t have vertex colors after import. I do have a plug-in that bakes the vertex colors, though.

after baking vertex colors


#11

Scratch that, after re-reading what the OP wrote, this is not about vertex colors. I can repeat that the texture is not displayed in RH6.3 when the obj is imported. I’ve tried various things eg.

  1. Resaving the image in PS as Image.jpg
  2. Turning on Rhino.Options.OpenGL.UseTextureCompression
  3. Increasing AdvancedTexturePreviewMaxResolution to 8192
  4. Turning OFF AdvancedTexturePreview in the display mode
  5. Turning OFF use advaced GPU Lightning in the display mode

The texture is not displayed in V6.3 but in V5 it just works. It also seems not the texture which makes the problem, a different (smaller) image is not displayed as well.

_
c.


#12

@nathanletwory, could it be related to the obj importer ?

If i copy paste the mesh from RH5 to RH6.3, the texture is displayed.

_
c.


(Nathan 'jesterKing' Letwory) #13

Probably, I’ll investigate in the coming week a bit.


#14

@bisenberger, the problem was indeed related to vertex colors in your mesh, they are all black and Rhino 6 seems to display them. To get rid of them but keep the texture coordinates alive just use this:

! _-RebuildMesh _PreserveTextureCoordinates=_Yes _PreserveVertexColors=_No

@tim, the obj importer turns all vertex colors of this mesh into Color [A=255, R=0, G=0, B=0]

_
c.


(Nathan 'jesterKing' Letwory) #15

Note though that the OBJ format itself doesn’t have support for vertex colors. What we can do is though to evaluate the texture with the given UV for each vertex when importing. I don’t know if that is what happened in v5, but that could very well have been the case.


#16

Hi @nathanletwory, Rhino supported vertex colors in obj files for a long time, i’ve just checked and even V4 reads them. I know that this is not part of the spec, but many other apps support it too.

Why ? If a user likes to put the texture colors into mesh vertices as colors he can use _ComputeVertexColors and unassign the texture. Please note that it is a bug that Rhino 6 obj importer does not import the vertex colors present in the obj file. It just sets everything to black which is then displayed. Rhino 4 and 5 read the vertex colors properly.

_
c.


#17

_RebuildMesh does NOT break the UVs when you run it without selecting the mesh first and set _PreserveTextureCoordinates=_Yes. The model indeed has vertex colors. If you import it in RH5 and unassign the texture, you are able to see them.

_
c.


(Tim Hemmelman) #18

This is fixed here. https://mcneel.myjetbrains.com/youtrack/issue/RH-44377


(Jeff Lasor) #19

@clement Sorry, been putting out some bad fires (still am)… But was not able to reproduce what your video shows… If you could post the file you used, I’ll try it again later… Now back to fire fighting…

-Jeff


#20

Hi @jeff, i am uploading to your attention as this file is not public. To reproduce what is shown in my video:

  1. Open File in V6, maximize Perspective view, Shaded display mode
  2. Turn OFF “Mesh Wires” in the display tab
  3. Turn ON “Shade vertex colors” in the display tab
  4. Select the sphere and unselect it (all OK until now)
  5. Turn ON “Shade vertex colors” in the display tab

If you now select / unselect the sphere, the whole shading switches lightning, with every redraw.

_
c.