bad viewport rendering normal map #43342

Closed
opened 2015-01-21 17:10:00 +01:00 by Alberto Velázquez · 45 comments

System Information
OSX 10.10
macbook pro 15" mid2014
NVIDIA 750M & iris pro

Blender Version
2.73

Short description of error
I created a file in windows, when I open the blend in OSX the material don't work properly in the viewport if I use the normal map. This happens with a lot of files that I cannot upload. But I show a example. Other problems are select a object and change the shading of other mesh (for example select a sun and change the shading of every object of the scene...)

viewport in windows
captura.jpg

viewport in OSX
Captura_de_pantalla_2015-01-21_a_las_16.51.31.png

Viewport in OSX without normal map
Captura_de_pantalla_2015-01-21_a_las_16.51.41.png

Exact steps for others to reproduce the error
Create a mesh with basic texture for normal map.

**System Information** OSX 10.10 macbook pro 15" mid2014 NVIDIA 750M & iris pro **Blender Version** 2.73 **Short description of error** I created a file in windows, when I open the blend in OSX the material don't work properly in the viewport if I use the normal map. This happens with a lot of files that I cannot upload. But I show a example. Other problems are select a object and change the shading of other mesh (for example select a sun and change the shading of every object of the scene...) viewport in windows ![captura.jpg](https://archive.blender.org/developer/F138586/captura.jpg) viewport in OSX ![Captura_de_pantalla_2015-01-21_a_las_16.51.31.png](https://archive.blender.org/developer/F138588/Captura_de_pantalla_2015-01-21_a_las_16.51.31.png) Viewport in OSX without normal map ![Captura_de_pantalla_2015-01-21_a_las_16.51.41.png](https://archive.blender.org/developer/F138590/Captura_de_pantalla_2015-01-21_a_las_16.51.41.png) **Exact steps for others to reproduce the error** Create a mesh with basic texture for normal map.

Changed status to: 'Open'

Changed status to: 'Open'

Added subscriber: @AlbertoVelazquez

Added subscriber: @AlbertoVelazquez

New info. The problem is only present in the discrete graphic card.

New info. The problem is only present in the discrete graphic card.
Member

Added subscriber: @JulianEisel

Added subscriber: @JulianEisel
Member

Would guess the root of the issue is the same as in #43339, so you should really try to update your graphics drivers.

Also a .blend file would be handy

Would guess the root of the issue is the same as in #43339, so you should really try to update your graphics drivers. Also a .blend file would be handy

Please, instead of tried the file in Linux like the other bug and tell me "update your graphics drivers" search a few in the web and you will see, and you will LEARN, that in OSX you cannot update the drivers.

I don't see normal tell "Hey, this won't work in any macbook pro with NVIDIA, bug archived"

Will you close all the problems with this excuse? Because now you are telling in other bug that my export collada problem is a problem of the GPU... WTF? What are you talking about? I'm using other computer that works fine with all. And, if I will use the same computer, HOW could GPU broke the import of a file? this have any logic?

This is a joke of bugtracker? If you don't want feedback close my account.

Please, instead of tried the file in Linux like the other bug and tell me "update your graphics drivers" search a few in the web and you will see, and you will LEARN, that in OSX you cannot update the drivers. I don't see normal tell "Hey, this won't work in any macbook pro with NVIDIA, bug archived" Will you close all the problems with this excuse? Because now you are telling in other bug that my export collada problem is a problem of the GPU... WTF? What are you talking about? I'm using other computer that works fine with all. And, if I will use the same computer, HOW could GPU broke the import of a file? this have any logic? This is a joke of bugtracker? If you don't want feedback close my account.
Member

Added subscribers: @ThomasDinges, @jensverwiebe

Added subscribers: @ThomasDinges, @jensverwiebe
Member

I didn't know about the fact that you can't update only the graphics drivers on OSX, but you should check if there're any updates for OSX then. All your reports look like there is something completely wrong with your graphics card/driver. Look:

Blender uses OpenGL (OGL) for drawing and I would even say that most of the reported bugs in our tracker are due to graphics driver issues (and sometimes that's not so obvious). In those cases we can't do anything than waiting on the manufacturer to bring an update for their drivers (not blaming them, I wouldn't want to swap places to be honest).
Regarding your tasks, I usually try to not be too in depth for users, but let me try to describe things on a more technical perspective:

  • #43339 - I agree that this was closed to fast and I'm sorry about that (our bug tracker was just exploding for some hours, so I wanted to clean things up a bit as fast as possible - not a good excuse though). For me it looks like the OGL context handles the vertex coordinates wrong. It draws them, but at the wrong places. VBOs stands for "Vertex Buffer Objects" and basically changes the way vertices are handled from the OGL context, so it sends different data to the driver which seems to work fine with it. This strongly corroborates my presumption.
  • This one - There's not much detail I can add here, but this is also a typical graphics driver issue. Looks like it's missing a texture or such. Maybe it's even the same reason as above and it just handles some coordinates wrong. But as I said, looks like a typical driver issue.
  • #43366 - Again I have to excuse myself. I should've provided much more detail to show you where I see the connection. So, that you only see the specularity map doesn't mean it didn't import the other textures as well. I bet it just doesn't display them (correctly). This would most likely be an issue coming from - drumroll please - the graphics driver. So you see, it may not be so obvious from a users point of view, but there are good chances there is a connection. But again, I should've described this a bit more.
    I hope I've described things better now and that it's understandable for you. Feel free to ask.

Now, best would be to let some people test the reports, to see if they are reproducable on other OSX systems. @jensverwiebe, @ThomasDinges, If you don't mind? :)
@AlbertoVelazquez, I'd propose to leave #43339 closed for now, we can reopen if there seems to be a Blender related issue.

I didn't know about the fact that you can't update only the graphics drivers on OSX, but you should check if there're any updates for OSX then. All your reports look like there is something completely wrong with your graphics card/driver. Look: Blender uses OpenGL (OGL) for drawing and I would even say that most of the reported bugs in our tracker are due to graphics driver issues (and sometimes that's not so obvious). In those cases we can't do anything than waiting on the manufacturer to bring an update for their drivers (not blaming them, I wouldn't want to swap places to be honest). Regarding your tasks, I usually try to not be too in depth for users, but let me try to describe things on a more technical perspective: * #43339 - I agree that this was closed to fast and I'm sorry about that (our bug tracker was just exploding for some hours, so I wanted to clean things up a bit as fast as possible - not a good excuse though). For me it looks like the OGL context handles the vertex coordinates wrong. It draws them, but at the wrong places. VBOs stands for "Vertex Buffer Objects" and basically changes the way vertices are handled from the OGL context, so it sends different data to the driver which seems to work fine with it. This strongly corroborates my presumption. * This one - There's not much detail I can add here, but this is also a typical graphics driver issue. Looks like it's missing a texture or such. Maybe it's even the same reason as above and it just handles some coordinates wrong. But as I said, looks like a typical driver issue. * #43366 - Again I have to excuse myself. I should've provided much more detail to show you where I see the connection. So, that you only see the specularity map doesn't mean it didn't import the other textures as well. I bet __it just doesn't display them__ (correctly). This would most likely be an issue coming from - drumroll please - the graphics driver. So you see, it may not be so obvious from a users point of view, but there are good chances there is a connection. But again, I should've described this a bit more. I hope I've described things better now and that it's understandable for you. Feel free to ask. Now, best would be to let some people test the reports, to see if they are reproducable on other OSX systems. @jensverwiebe, @ThomasDinges, If you don't mind? :) @AlbertoVelazquez, I'd propose to leave #43339 closed for now, we can reopen if there seems to be a Blender related issue.
Member

Oh, and it would still be handy to get a .blend :)

Oh, and it would still be handy to get a .blend :)

In the collada the problem is that all the maps disapear from the list of textures and the specular are duplicated, and the material are bad imported, not of the viewport. The importer doesn't import the files properly.

I cannot upload all the files because all this works have a NDA. I have spend several hours in my work to reduce the problems source and to try make error files, and at least I expect that if I have spent some time to search a bug to improve the software the bug won't be closed with the explanation "I tried in Linux and works, update your gfx card".... I know that the file works in other platforms, I tried in windows and works.

I know that two of the bugs are problems with the graphic card. But like this graphic card is the same that have millions of macbook and I see the same problem in three different macbook pro maybe will be good report this bug.

In the collada the problem is that all the maps disapear from the list of textures and the specular are duplicated, and the material are bad imported, not of the viewport. The importer doesn't import the files properly. I cannot upload all the files because all this works have a NDA. I have spend several hours in my work to reduce the problems source and to try make error files, and at least I expect that if I have spent some time to search a bug to improve the software the bug won't be closed with the explanation "I tried in Linux and works, update your gfx card".... I know that the file works in other platforms, I tried in windows and works. I know that two of the bugs are problems with the graphic card. But like this graphic card is the same that have millions of macbook and I see the same problem in three different macbook pro maybe will be good report this bug.
Member

Re collada - you mean instead of the other textures it displays the specular map in all slots? Or does it only display one slot with the specular map? Either way, you should add this information to the report, it might be important (and let's continue talking about this bug there, we shouldn't do that from here)

It is hard/almost impossible for us to fix bugs we can't recreate, so having a .blend would help a lot. I respect the NDA, but if we have a real bug here, it should be possible for you to create a similar situation and share the file here. I'm not sure if I understand correctly, but you say you can recreate this on other macbook pros?

Edit: If @jensverwiebe and/or @ThomasDinges are able to recreate this without a .blend from you, they will for sure note that here.

Re collada - you mean instead of the other textures it displays the specular map in all slots? Or does it only display one slot with the specular map? Either way, you should add this information to the report, it might be important (and let's continue talking about this bug there, we shouldn't do that from here) It is hard/almost impossible for us to fix bugs we can't recreate, so having a .blend would help a lot. I respect the NDA, but if we have a real bug here, it should be possible for you to create a similar situation and share the file here. I'm not sure if I understand correctly, but you say you can recreate this on other macbook pros? Edit: If @jensverwiebe and/or @ThomasDinges are able to recreate this without a .blend from you, they will for sure note that here.

I have tried the same problem in other three macbooks pro mid 2014 with NVIDIA graphics and have the same problem.

I have tried the same problem in other three macbooks pro mid 2014 with NVIDIA graphics and have the same problem.

Added subscriber: @Sergey

Added subscriber: @Sergey

Hey guys, no need to be harsh here. It happens sometimes bugs are being closed by accident because of misunderstanding and so. Better to just re-type bits of information in other words to make it more clear over the language barrier.

I would also ask keep discussion of other reports in their own tasks, otherwise it becomes really tricky to get actual information related to this particular bug.

@JulianEisel, i could see the .blend file for the viewport problem in the #43339 (which you successfully closed tho..). And this report seems to be about the same exact issue, so would guess the file is still relevant. Don't have access to mac with nvidia card so can't really confirm/test anything.

Also, the report claims enabling VBOs solves the issue. This means using legacy opengl pipeline (which is supposed to be more robust) is buggy.

@AlbertoVelazquez, it could simply be because of OSX policy to force everyone to upgrade to the newest opengl profile (which is kinda tricky because it means rewritting whole blender draw code). And using VBOs is recommended from the performance point of view anyway, so things are not that bad after all. Doesn't mean we shouldn't investigate the non-VBO case, but for that there are some questions:

  • Did it ever work? I mean: is there any previous blender release which works fine or it is broken for all blender versions?
  • If you run blender from the terminal, would there be any error messages printed in there?
  • Did you try latest builds from builder.blender.org?
Hey guys, no need to be harsh here. It happens sometimes bugs are being closed by accident because of misunderstanding and so. Better to just re-type bits of information in other words to make it more clear over the language barrier. I would also ask keep discussion of other reports in their own tasks, otherwise it becomes really tricky to get actual information related to this particular bug. @JulianEisel, i could see the .blend file for the viewport problem in the #43339 (which you successfully closed tho..). And this report seems to be about the same exact issue, so would guess the file is still relevant. Don't have access to mac with nvidia card so can't really confirm/test anything. Also, the report claims enabling VBOs solves the issue. This means using legacy opengl pipeline (which is supposed to be more robust) is buggy. @AlbertoVelazquez, it could simply be because of OSX policy to force everyone to upgrade to the newest opengl profile (which is kinda tricky because it means rewritting whole blender draw code). And using VBOs is recommended from the performance point of view anyway, so things are not that bad after all. Doesn't mean we shouldn't investigate the non-VBO case, but for that there are some questions: - Did it ever work? I mean: is there any previous blender release which works fine or it is broken for all blender versions? - If you run blender from the terminal, would there be any error messages printed in there? - Did you try latest builds from builder.blender.org?

Hi

  • I have tried now old version of blender. Only don't work since 2.73, in 2.72b work fine. Other versions that I have tried 2.59, 2.69, 2.71, 2.72

  • I cannot run blender from terminal (I don't know do this...)

  • Yep, I have tried the last builds and don't work.

In the old Blender versions work all fine, this bug and the other bug.

Hi - I have tried now old version of blender. Only don't work since 2.73, in 2.72b work fine. Other versions that I have tried 2.59, 2.69, 2.71, 2.72 - I cannot run blender from terminal (I don't know do this...) - Yep, I have tried the last builds and don't work. In the old Blender versions work all fine, this bug and the other bug.

Added subscriber: @Psy-Fi

Added subscriber: @Psy-Fi

There was indeed some work done in the drawing code for 2.73. @Psy-Fi would know better, plus it might be someone in the studio with mac+nvidia.

There was indeed some work done in the drawing code for 2.73. @Psy-Fi would know better, plus it might be someone in the studio with mac+nvidia.

I'll check it out tomorrow. For the record: Is the issue there even in 2.73a?

I'll check it out tomorrow. For the record: Is the issue there even in 2.73a?

Yes, I have the problem in all the builds that I have tested since 2.73

Yes, I have the problem in all the builds that I have tested since 2.73
Member

@Psy-Fi, any news?

@Psy-Fi, any news?

Tried reproducing on the trashcan but I can't see any issues. Since I can't really do anything without a file I tried the file from #43339 without seeing anything weird apart from some edit mode weirdness. I'll be waiting for any other files here - even if some files cannot be shared due to being related to contract work or due to large size I'm sure a minimal file with the issue can be provided if the issue is common.

Tried reproducing on the trashcan but I can't see any issues. Since I can't really do anything without a file I tried the file from #43339 without seeing anything weird apart from some edit mode weirdness. I'll be waiting for any other files here - even if some files cannot be shared due to being related to contract work or due to large size I'm sure a minimal file with the issue can be provided if the issue is common.

Added subscriber: @kris-5

Added subscriber: @kris-5

I just upgraded from 2.72b to 2.73a and am seeing a similar problem with normal map rendering. The blend file displays fine on 2.72b with materials, but on 2.73a it appears as though the normal map is corrupting the vertex positions. I'm working with a mesh I downloaded from mixamo. Interestingly, this only happens when the sample mode is set to "Tangent" on the normal map texture. I'm also on a mac.

I tried creating a simpler blend file I can share, but wasn't able to repro it.

Screen_Shot_2015-02-17_at_7.54.51_PM.png

I just upgraded from 2.72b to 2.73a and am seeing a similar problem with normal map rendering. The blend file displays fine on 2.72b with materials, but on 2.73a it appears as though the normal map is corrupting the vertex positions. I'm working with a mesh I downloaded from mixamo. Interestingly, this only happens when the sample mode is set to "Tangent" on the normal map texture. I'm also on a mac. I tried creating a simpler blend file I can share, but wasn't able to repro it. ![Screen_Shot_2015-02-17_at_7.54.51_PM.png](https://archive.blender.org/developer/F144399/Screen_Shot_2015-02-17_at_7.54.51_PM.png)

Added subscriber: @sbraddy

Added subscriber: @sbraddy

I have the problem shown in Kris Rasmussen's screenshot and I just wanted to share what I have discovered.

I have 2 macs with identical software stacks. Both have Yosemite 10.10.2 and Blender 2.73a. One has an NVidia GPU and one has an Intel GPU. But only the NVidia mac shows this problem. My NVidia PC with Windows 8.1 and Blender 2.73a also does not show this issue.

I have a particular blender file where a single material is applied to several different objects. The material includes a normal map layer.

When I load this blender file into Blender 2.73a on the NVidia Mac, put the viewport into Material mode then all of the objects appear as a strange corrupted "star", like the screenshot shows. If I select any of the objects and put it into Edit mode, then that object will display correctly (but all other objects are still corrupted).

If I put the viewport into Render view, Texture view, Solid view, Wireframe view, or Bounding Box view then everything displays fine. It is only Material view that exhibits the trouble.

My other blender files which do not use any normal mapped Materials also work fine.

The Mac with the Intel GPU displays this file correctly under all conditions. I also have a PC with Windows 8.1 x64 and an NVidia GPU, and it does not show this problem either. Same blender file, also using Blender 2.73a.

Furthermore, I have tried a few other versions of Blender. 2.72b does not have this problem on my NVidia Mac, but the 2.74 March 3 test build does have the same problem.

The Macs involved are:

Late 2013 27 inch iMac with NVidia GTX 780M 4GB (has the problem) and Mid 2012 Macbook Pro 13 with Intel HD Graphics 4000 (does not have the problem).

I have the problem shown in Kris Rasmussen's screenshot and I just wanted to share what I have discovered. I have 2 macs with identical software stacks. Both have Yosemite 10.10.2 and Blender 2.73a. One has an NVidia GPU and one has an Intel GPU. But only the NVidia mac shows this problem. My NVidia PC with Windows 8.1 and Blender 2.73a also does not show this issue. I have a particular blender file where a single material is applied to several different objects. The material includes a normal map layer. When I load this blender file into Blender 2.73a on the NVidia Mac, put the viewport into Material mode then all of the objects appear as a strange corrupted "star", like the screenshot shows. If I select any of the objects and put it into Edit mode, then that object will display correctly (but all other objects are still corrupted). If I put the viewport into Render view, Texture view, Solid view, Wireframe view, or Bounding Box view then everything displays fine. It is only Material view that exhibits the trouble. My other blender files which do not use any normal mapped Materials also work fine. The Mac with the Intel GPU displays this file correctly under all conditions. I also have a PC with Windows 8.1 x64 and an NVidia GPU, and it does not show this problem either. Same blender file, also using Blender 2.73a. Furthermore, I have tried a few other versions of Blender. 2.72b does not have this problem on my NVidia Mac, but the 2.74 March 3 test build does have the same problem. The Macs involved are: Late 2013 27 inch iMac with NVidia GTX 780M 4GB (has the problem) and Mid 2012 Macbook Pro 13 with Intel HD Graphics 4000 (does not have the problem).

Can you try opening blender with

blender -d

from a terminal and using those files?

Is there any error in the console when you do this?

Can you try opening blender with blender -d from a terminal and using those files? Is there any error in the console when you do this?

In #43342#294223, @Psy-Fi wrote:
Can you try opening blender with

blender -d

from a terminal and using those files?

Is there any error in the console when you do this?

Antony,

I ran Blender 2.73a with -d, loaded my project, could see the corrupted meshes, and examined the console. There were some debug messages but nothing that looks like an error.

If I turn on VBOs in Preferences -> System -> OpenGL then my geometry is the correct shape (things look a lot better), but the shading is still corrupted to varying degrees.

It really seems like Blender is correctly keeping track of my geometry, but something goes wrong when it asks the video card to display it with Normal maps.

I just wanted to point out once more that 2.72b appears to work correctly, and that it is only 2.73a and 2.74 test build that do not (at least in my experience). I would hate for those of us with newer NVidia Macs to have to skip the next release too.

Thank you for looking at this issue.

> In #43342#294223, @Psy-Fi wrote: > Can you try opening blender with > > blender -d > > from a terminal and using those files? > > Is there any error in the console when you do this? Antony, I ran Blender 2.73a with -d, loaded my project, could see the corrupted meshes, and examined the console. There were some debug messages but nothing that looks like an error. If I turn on VBOs in Preferences -> System -> OpenGL then my geometry is the correct shape (things look a lot better), but the shading is still corrupted to varying degrees. It really seems like Blender is correctly keeping track of my geometry, but something goes wrong when it asks the video card to display it with Normal maps. I just wanted to point out once more that 2.72b appears to work correctly, and that it is only 2.73a and 2.74 test build that do not (at least in my experience). I would hate for those of us with newer NVidia Macs to have to skip the next release too. Thank you for looking at this issue.

Antony,

Sorry, I said 'console' but I meant 'terminal'. I saw some messages in the terminal where I launched blender, but no errors.

But now I have also checked the console and I don't see anything there either. I just see some messages that relate to me changing the edit mode, or turning my normal texture on and off. Nothing bad in the console when launched with -d.

Antony, Sorry, I said 'console' but I meant 'terminal'. I saw some messages in the terminal where I launched blender, but no errors. But now I have also checked the console and I don't see anything there either. I just see some messages that relate to me changing the edit mode, or turning my normal texture on and off. Nothing bad in the console when launched with -d.

screenshot

Blender-#43342-Screenshot-1.png

screenshot ![Blender-#43342-Screenshot-1.png](https://archive.blender.org/developer/F149424/Blender-#43342-Screenshot-1.png)

Some more info please:

  • Is the mesh displayed correctly in edit mode?
  • Can I see your system_info.txt file? (generate from help menu and read in a blender text editor)
Some more info please: * Is the mesh displayed correctly in edit mode? * Can I see your system_info.txt file? (generate from help menu and read in a blender text editor)
  1. Yes, in Edit mode the mesh is displayed correctly. The problem occurs only when 1) the viewport is in "Material" mode and 2) the object is NOT in "Edit" mode and 3) one or more applied materials has Normal mapping and 4) the Blender version is 2.73 or 2.74 and 5) the Mac is using NVidia (not sure how many models are affected, but my other non-NVidia Mac with the same OS and software installed is unaffected).

  2. system_info.txt:


Blender 2.73 (sub 0) System Information


Blender:


version 2.73 (sub 0), branch b'master', commit date b'2015-01-20' b'18:16', hash b'bbf09d9', b'Release'
build date: b'2015-01-20', b'19:23:58'
platform: b'Darwin:64bit'
binary path: '/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/MacOS/blender'
build cflags: b'-DWITH_FREESTYLE -DWITH_QUICKTIME -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.6 -arch x86_64 -pipe -funsigned-char -ftemplate-depth=1024 -I/Volumes/Workdata/Blender/Development/lib/darwin-9.x.universal/openmp/include -fopenmp -O2 -msse -msse2 -msse3 -ftree-vectorize -mssse3 -m64 -DWITH_MOD_FLUID -DWITH_MOD_OCEANSIM -D__LITTLE_ENDIAN__ -DWITH_AUDASPACE -DWITH_AVI -DWITH_OPENNL -DHAVE_STDBOOL_H'
build cxxflags: b'-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.6 -arch x86_64 -pipe -funsigned-char -ftemplate-depth=1024 -I/Volumes/Workdata/Blender/Development/lib/darwin-9.x.universal/openmp/include -fopenmp -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.6 -arch x86_64 -O2 -msse -msse2 -msse3 -ftree-vectorize -mssse3 -m64 -DWITH_MOD_FLUID -DWITH_MOD_OCEANSIM -D__LITTLE_ENDIAN__ -DWITH_AUDASPACE -DWITH_AVI -DWITH_OPENNL -DHAVE_STDBOOL_H'
build linkflags: b'-mmacosx-version-min=10.6 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -arch x86_64 -m64 -fexceptions -framework CoreServices -framework Foundation -framework IOKit -framework AppKit -framework Cocoa -framework Carbon -framework AudioUnit -framework AudioToolbox -framework CoreAudio -framework OpenAL -framework QTKit'
build system: b'SCons'

Python:


version: 3.4.2 (default, Nov 25 2014, 12:01:44)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.54)]
paths:
'/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/scripts/addons'
'/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/scripts/modules'
'/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/scripts/startup'
'/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/MacOS/../Resources/2.73/scripts/modules'
'/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/python/lib/python34.zip'
'/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/python/lib/python3.4'
'/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/python/lib/python3.4/plat-darwin'
'/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/python/lib/python3.4/lib-dynload'
'/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/python/lib/python3.4/site-packages'
'/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/MacOS/../Resources/2.73/scripts/freestyle/modules'
'/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/scripts/addons/modules'
'/Users/Stephen/Library/Application Support/Blender/2.73/scripts/addons/modules'

Directories:


scripts: ['/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/scripts']
user scripts: '/Users/Stephen/Library/Application Support/Blender/2.73/scripts'
pref scripts: None
datafiles: '/Users/Stephen/Library/Application Support/Blender/2.73/datafiles/'
config: '/Users/Stephen/Library/Application Support/Blender/2.73/config/'
scripts : '/Users/Stephen/Library/Application Support/Blender/2.73/scripts/'
autosave: '/Users/Stephen/Library/Application Support/Blender/2.73/autosave/'
tempdir: '/tmp/blender_Qq9Zo6/'

FFmpeg:


'avcodec':' ''55, 39, 101'
'avdevice':' ''55, 5, 100'
'avformat':' ''55, 19, 104'
'avutil':' ''52, 48, 101'
'swscale':' '' 2, 5, 101'

Other Libraries:


OpenColorIO: 1, 0, 7
OpenImageIO: 1, 4, 11
OpenShadingLanguage: 1, 5, 11

OpenGL


renderer: 'NVIDIA GeForce GTX 780M OpenGL Engine'
vendor: 'NVIDIA Corporation'
version: '2.1 NVIDIA-10.2.1 310.41.15f01'
extensions:
'GL_ARB_color_buffer_float GL_ARB_depth_buffer_float GL_ARB_depth_clamp'
'GL_ARB_depth_texture GL_ARB_draw_buffers'
'GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced'
'GL_ARB_fragment_program GL_ARB_fragment_program_shadow'
'GL_ARB_fragment_shader GL_ARB_framebuffer_object'
'GL_ARB_framebuffer_sRGB GL_ARB_half_float_pixel'
'GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_instanced_arrays'
'GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query'
'GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite'
'GL_ARB_provoking_vertex GL_ARB_seamless_cube_map GL_ARB_shader_objects'
'GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shadow'
'GL_ARB_sync GL_ARB_texture_border_clamp GL_ARB_texture_compression'
'GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map'
'GL_ARB_texture_env_add GL_ARB_texture_env_combine'
'GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3'
'GL_ARB_texture_float GL_ARB_texture_mirrored_repeat'
'GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle'
'GL_ARB_texture_rg GL_ARB_transpose_matrix GL_ARB_vertex_array_bgra'
'GL_ARB_vertex_blend GL_ARB_vertex_buffer_object GL_ARB_vertex_program'
'GL_ARB_vertex_shader GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra'
'GL_EXT_bindable_uniform GL_EXT_blend_color'
'GL_EXT_blend_equation_separate GL_EXT_blend_func_separate'
'GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint'
'GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_bounds_test'
'GL_EXT_draw_buffers2 GL_EXT_draw_range_elements GL_EXT_fog_coord'
'GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample'
'GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object'
'GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4'
'GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4'
'GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil'
'GL_EXT_packed_float GL_EXT_provoking_vertex GL_EXT_rescale_normal'
'GL_EXT_secondary_color GL_EXT_separate_specular_color'
'GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap'
'GL_EXT_texture_array GL_EXT_texture_compression_dxt1'
'GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add'
'GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer'
'GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp'
'GL_EXT_texture_rectangle GL_EXT_texture_shared_exponent'
'GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_timer_query'
'GL_EXT_transform_feedback GL_EXT_vertex_array_bgra'
'GL_APPLE_aux_depth_stencil GL_APPLE_client_storage'
'GL_APPLE_element_array GL_APPLE_fence GL_APPLE_float_pixels'
'GL_APPLE_flush_buffer_range GL_APPLE_flush_render'
'GL_APPLE_object_purgeable GL_APPLE_packed_pixels GL_APPLE_pixel_buffer'
'GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_specular_vector'
'GL_APPLE_texture_range GL_APPLE_transform_hint'
'GL_APPLE_vertex_array_object GL_APPLE_vertex_array_range'
'GL_APPLE_vertex_point_size GL_APPLE_vertex_program_evaluators'
'GL_APPLE_ycbcr_422 GL_ATI_separate_stencil GL_ATI_texture_env_combine3'
'GL_ATI_texture_float GL_ATI_texture_mirror_once GL_IBM_rasterpos_clip'
'GL_NV_blend_square GL_NV_conditional_render GL_NV_depth_clamp'
'GL_NV_fog_distance GL_NV_fragment_program_option'
'GL_NV_fragment_program2 GL_NV_light_max_exponent'
'GL_NV_multisample_filter_hint GL_NV_point_sprite'
'GL_NV_texgen_reflection GL_NV_texture_barrier'
'GL_NV_vertex_program2_option GL_NV_vertex_program3'
'GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod'
''

Implementation Dependent OpenGL Limits:


Maximum Fixed Function Texture Units: 8

GLSL:
Maximum Varying Floats: 124
Maximum Vertex Attributes: 16
Maximum Vertex Uniform Components: 4096
Maximum Fragment Uniform Components: 2048
Maximum Vertex Image Units: 16
Maximum Fragment Image Units: 16
Maximum Pipeline Image Units: 16

1) Yes, in Edit mode the mesh is displayed correctly. The problem occurs only when 1) the viewport is in "Material" mode and 2) the object is NOT in "Edit" mode and 3) one or more applied materials has Normal mapping and 4) the Blender version is 2.73 or 2.74 and 5) the Mac is using NVidia (not sure how many models are affected, but my other non-NVidia Mac with the same OS and software installed is unaffected). 2) system_info.txt: **** # Blender 2.73 (sub 0) System Information **** Blender: **** version 2.73 (sub 0), branch b'master', commit date b'2015-01-20' b'18:16', hash b'bbf09d9', b'Release' build date: b'2015-01-20', b'19:23:58' platform: b'Darwin:64bit' binary path: '/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/MacOS/blender' build cflags: b'-DWITH_FREESTYLE -DWITH_QUICKTIME -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.6 -arch x86_64 -pipe -funsigned-char -ftemplate-depth=1024 -I/Volumes/Workdata/Blender/Development/lib/darwin-9.x.universal/openmp/include -fopenmp -O2 -msse -msse2 -msse3 -ftree-vectorize -mssse3 -m64 -DWITH_MOD_FLUID -DWITH_MOD_OCEANSIM -D__LITTLE_ENDIAN__ -DWITH_AUDASPACE -DWITH_AVI -DWITH_OPENNL -DHAVE_STDBOOL_H' build cxxflags: b'-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.6 -arch x86_64 -pipe -funsigned-char -ftemplate-depth=1024 -I/Volumes/Workdata/Blender/Development/lib/darwin-9.x.universal/openmp/include -fopenmp -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.6 -arch x86_64 -O2 -msse -msse2 -msse3 -ftree-vectorize -mssse3 -m64 -DWITH_MOD_FLUID -DWITH_MOD_OCEANSIM -D__LITTLE_ENDIAN__ -DWITH_AUDASPACE -DWITH_AVI -DWITH_OPENNL -DHAVE_STDBOOL_H' build linkflags: b'-mmacosx-version-min=10.6 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -arch x86_64 -m64 -fexceptions -framework CoreServices -framework Foundation -framework IOKit -framework AppKit -framework Cocoa -framework Carbon -framework AudioUnit -framework AudioToolbox -framework CoreAudio -framework OpenAL -framework QTKit' build system: b'SCons' Python: **** version: 3.4.2 (default, Nov 25 2014, 12:01:44) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.54)] paths: '/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/scripts/addons' '/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/scripts/modules' '/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/scripts/startup' '/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/MacOS/../Resources/2.73/scripts/modules' '/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/python/lib/python34.zip' '/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/python/lib/python3.4' '/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/python/lib/python3.4/plat-darwin' '/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/python/lib/python3.4/lib-dynload' '/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/python/lib/python3.4/site-packages' '/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/MacOS/../Resources/2.73/scripts/freestyle/modules' '/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/scripts/addons/modules' '/Users/Stephen/Library/Application Support/Blender/2.73/scripts/addons/modules' Directories: **** scripts: ['/Users/Stephen/Applications/Blender 2.73a/blender.app/Contents/Resources/2.73/scripts'] user scripts: '/Users/Stephen/Library/Application Support/Blender/2.73/scripts' pref scripts: None datafiles: '/Users/Stephen/Library/Application Support/Blender/2.73/datafiles/' config: '/Users/Stephen/Library/Application Support/Blender/2.73/config/' scripts : '/Users/Stephen/Library/Application Support/Blender/2.73/scripts/' autosave: '/Users/Stephen/Library/Application Support/Blender/2.73/autosave/' tempdir: '/tmp/blender_Qq9Zo6/' FFmpeg: **** 'avcodec':' ''55, 39, 101' 'avdevice':' ''55, 5, 100' 'avformat':' ''55, 19, 104' 'avutil':' ''52, 48, 101' 'swscale':' '' 2, 5, 101' Other Libraries: **** OpenColorIO: 1, 0, 7 OpenImageIO: 1, 4, 11 OpenShadingLanguage: 1, 5, 11 OpenGL **** renderer: 'NVIDIA GeForce GTX 780M OpenGL Engine' vendor: 'NVIDIA Corporation' version: '2.1 NVIDIA-10.2.1 310.41.15f01' extensions: 'GL_ARB_color_buffer_float GL_ARB_depth_buffer_float GL_ARB_depth_clamp' 'GL_ARB_depth_texture GL_ARB_draw_buffers' 'GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced' 'GL_ARB_fragment_program GL_ARB_fragment_program_shadow' 'GL_ARB_fragment_shader GL_ARB_framebuffer_object' 'GL_ARB_framebuffer_sRGB GL_ARB_half_float_pixel' 'GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_instanced_arrays' 'GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query' 'GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite' 'GL_ARB_provoking_vertex GL_ARB_seamless_cube_map GL_ARB_shader_objects' 'GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shadow' 'GL_ARB_sync GL_ARB_texture_border_clamp GL_ARB_texture_compression' 'GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map' 'GL_ARB_texture_env_add GL_ARB_texture_env_combine' 'GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3' 'GL_ARB_texture_float GL_ARB_texture_mirrored_repeat' 'GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle' 'GL_ARB_texture_rg GL_ARB_transpose_matrix GL_ARB_vertex_array_bgra' 'GL_ARB_vertex_blend GL_ARB_vertex_buffer_object GL_ARB_vertex_program' 'GL_ARB_vertex_shader GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra' 'GL_EXT_bindable_uniform GL_EXT_blend_color' 'GL_EXT_blend_equation_separate GL_EXT_blend_func_separate' 'GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint' 'GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_bounds_test' 'GL_EXT_draw_buffers2 GL_EXT_draw_range_elements GL_EXT_fog_coord' 'GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample' 'GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object' 'GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4' 'GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4' 'GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil' 'GL_EXT_packed_float GL_EXT_provoking_vertex GL_EXT_rescale_normal' 'GL_EXT_secondary_color GL_EXT_separate_specular_color' 'GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap' 'GL_EXT_texture_array GL_EXT_texture_compression_dxt1' 'GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add' 'GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer' 'GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp' 'GL_EXT_texture_rectangle GL_EXT_texture_shared_exponent' 'GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_timer_query' 'GL_EXT_transform_feedback GL_EXT_vertex_array_bgra' 'GL_APPLE_aux_depth_stencil GL_APPLE_client_storage' 'GL_APPLE_element_array GL_APPLE_fence GL_APPLE_float_pixels' 'GL_APPLE_flush_buffer_range GL_APPLE_flush_render' 'GL_APPLE_object_purgeable GL_APPLE_packed_pixels GL_APPLE_pixel_buffer' 'GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_specular_vector' 'GL_APPLE_texture_range GL_APPLE_transform_hint' 'GL_APPLE_vertex_array_object GL_APPLE_vertex_array_range' 'GL_APPLE_vertex_point_size GL_APPLE_vertex_program_evaluators' 'GL_APPLE_ycbcr_422 GL_ATI_separate_stencil GL_ATI_texture_env_combine3' 'GL_ATI_texture_float GL_ATI_texture_mirror_once GL_IBM_rasterpos_clip' 'GL_NV_blend_square GL_NV_conditional_render GL_NV_depth_clamp' 'GL_NV_fog_distance GL_NV_fragment_program_option' 'GL_NV_fragment_program2 GL_NV_light_max_exponent' 'GL_NV_multisample_filter_hint GL_NV_point_sprite' 'GL_NV_texgen_reflection GL_NV_texture_barrier' 'GL_NV_vertex_program2_option GL_NV_vertex_program3' 'GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod' '' Implementation Dependent OpenGL Limits: **** Maximum Fixed Function Texture Units: 8 GLSL: Maximum Varying Floats: 124 Maximum Vertex Attributes: 16 Maximum Vertex Uniform Components: 4096 Maximum Fragment Uniform Components: 2048 Maximum Vertex Image Units: 16 Maximum Fragment Image Units: 16 Maximum Pipeline Image Units: 16

Just to make sure the issue is still there, can you try a recent build from builder.blender.org and check if the issue still persists?

Just to make sure the issue is still there, can you try a recent build from builder.blender.org and check if the issue still persists?

Antony,

I just downloaded and tried "blender-2.73-afa8a0a-OSX-10.6-x86_64" (March 10th) from builder.blender.org. The problem appears to be exactly the same:

Blender-#43342-screenshot-2.png

Antony, I just downloaded and tried "blender-2.73-afa8a0a-OSX-10.6-x86_64" (March 10th) from builder.blender.org. The problem appears to be exactly the same: ![Blender-#43342-screenshot-2.png](https://archive.blender.org/developer/F149512/Blender-#43342-screenshot-2.png)

One more question: Did this wok WITH VBO in blender 2.72?

One more question: Did this wok WITH VBO in blender 2.72?

Actually, we can reproduce on one of the Macs in the studio, I'll take it from here

Actually, we can reproduce on one of the Macs in the studio, I'll take it from here

Antony,

Thank you very much for your attention to this issue !!!

Good luck! :-)

Antony, Thank you very much for your attention to this issue !!! Good luck! :-)

This issue was referenced by 0d053158ec

This issue was referenced by 0d053158ecc27022af7aa184c0410b90cbc84980

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'

Closed by commit 0d053158ec.

Closed by commit 0d053158ec.

Even though it looks like it's working, VBO shows an incorrect result here actually. I can't be sure if it's the combination of interleaved and non-interleaved arrays that makes the system misbehave or some sort of clobbering between GLSL variables, but I can't investigate anymore. At least now non-VBO case should work nicely.

Even though it looks like it's working, VBO shows an incorrect result here actually. I can't be sure if it's the combination of interleaved and non-interleaved arrays that makes the system misbehave or some sort of clobbering between GLSL variables, but I can't investigate anymore. At least now non-VBO case should work nicely.

Added subscriber: @MarcClintDion

Added subscriber: @MarcClintDion

https://developer.blender.org/T43339 is almost certainly related.

  • One thing that can cause those torn triangles is when the array size which is being passed to the GPU does not match the reported array size. Also, in this situation we sometimes see the program itself crash.
    It's a bit random and depends a lot on hardware/software combinations and where the damaged data happens to be stored in memory relative to more sensitive areas.

Notebooks would likely be more susceptible here because they often used a shared memory pool with the GPU.

With shared memory, improperly format array data can end up sitting next to critical operating system memory and now invalid access can cause more serious problems.

When the errors happen on the GPU side, these problems seem to be more isolated from the overall system and likely to cause less instability. Usually it's mostly rendering errors.

When this type of problem happens with information sent to the GPU, it can be hidden to normal system diagnostic tools that detect out-of-bounds access and memory leaks because traditional tools do not normally have easy access to peripheral components.

Maybe gDEBugger will be useful here. http://www.gremedy.com/

There is an xCode tool that can easily find OpenGL array formatting errors but it's only for iOS and is not much use here.

Drivers should be able to detect out-of-bounds memory access and deal with the situation appropriately but this can only hide the problem and maybe prevent crashes and other obvious failures.

If Blender's various data type arrays are not being concatenated properly when transferred to the GPU, we still have the problem of stepping through the array properly even though the hardware and drivers are stable and robust enough to prevent this error from causing a crash.

The shading that we see on the triangles is a very good indicator that OpenGL is functioning properly here. It's still being lit even though it may appear torn or somehow visually wrong:)

Since the lighting works, and disabling normal maps has been reported to fix the problem, it's possible that the data array offsets are not being stepped through properly here.

I would start looking at what is happening when Tangents and the Bi-normal sign are being appended into the model's data array, since disabling that seems to clear this up.

The loop that is stepping through the vertex attribute arrays is likely confusing the model's Vertex, UV, Normal, Tangent, etc ... offsets.

When a loop tries to step through a model and it accidentally accesses UV_layer.x instead of Position.z , then we often we see what is showing up here. -> torn triangles because OpenGL is now going to render the z-axis position of that vertex using the UV's x coordinate.

This is really important to fix and could potentially impact every tool from Edit mode to Cycles renders.

A possible reason for the success of some rendering modes could be that they are using a subtle offset hack which hides the problem.

Invalid array access can cause all sorts of random and difficult to pin down problems because a simple 4 byte misstep can cascade through every object that comes after it so that the model which is causing the problem looks fine but the last model down the line ends up being the one that looks broken.

An artist could easily become confused into thinking they solved the problem by altering the geometry but really, changing the model simply caused the error to show up somewhere else.


I've only seen this type of torn triangle rendering error in one other situation, otherwise, for me, it's always been invalid array formatting and access.

That one exception was when a GPU's supplementary power connection was plugged into a bad power-supply line. Replacing the power supply fixed the issue.


https://developer.blender.org/T43339 is almost certainly related. - One thing that can cause those torn triangles is when the array size which is being passed to the GPU does not match the reported array size. Also, in this situation we sometimes see the program itself crash. It's a bit random and depends a lot on hardware/software combinations and where the damaged data happens to be stored in memory relative to more sensitive areas. Notebooks would likely be more susceptible here because they often used a shared memory pool with the GPU. With shared memory, improperly format array data can end up sitting next to critical operating system memory and now invalid access can cause more serious problems. When the errors happen on the GPU side, these problems seem to be more isolated from the overall system and likely to cause less instability. Usually it's mostly rendering errors. When this type of problem happens with information sent to the GPU, it can be hidden to normal system diagnostic tools that detect out-of-bounds access and memory leaks because traditional tools do not normally have easy access to peripheral components. Maybe gDEBugger will be useful here. http://www.gremedy.com/ There is an xCode tool that can easily find OpenGL array formatting errors but it's only for iOS and is not much use here. Drivers *should* be able to detect out-of-bounds memory access and deal with the situation appropriately but this can only hide the problem and maybe prevent crashes and other obvious failures. If Blender's various data type arrays are not being concatenated properly when transferred to the GPU, we still have the problem of stepping through the array properly even though the hardware and drivers are stable and robust enough to prevent this error from causing a crash. The shading that we see on the triangles is a very good indicator that OpenGL is functioning properly here. It's still being lit even though it may appear torn or somehow visually wrong:) Since the lighting works, and disabling normal maps has been reported to fix the problem, it's possible that the data array offsets are not being stepped through properly here. I would start looking at what is happening when Tangents and the Bi-normal sign are being appended into the model's data array, since disabling that seems to clear this up. The loop that is stepping through the vertex attribute arrays is likely confusing the model's Vertex, UV, Normal, Tangent, etc ... offsets. When a loop tries to step through a model and it accidentally accesses UV_layer.x instead of Position.z , then we often we see what is showing up here. -> torn triangles because OpenGL is now going to render the z-axis position of that vertex using the UV's x coordinate. This is really important to fix and could potentially impact every tool from Edit mode to Cycles renders. A possible reason for the success of some rendering modes could be that they are using a subtle offset hack which hides the problem. Invalid array access can cause all sorts of random and difficult to pin down problems because a simple 4 byte misstep can cascade through every object that comes after it so that the model which is causing the problem looks fine but the last model down the line ends up being the one that looks broken. An artist could easily become confused into thinking they solved the problem by altering the geometry but really, changing the model simply caused the error to show up somewhere else. ------ I've only seen this type of torn triangle rendering error in one other situation, otherwise, for me, it's always been invalid array formatting and access. That one exception was when a GPU's supplementary power connection was plugged into a bad power-supply line. Replacing the power supply fixed the issue. ------

#43339 is in fact the very same issue. This is not limited to tangents as explained, it will hit when an interleaved data format is used with more than one attribute uploaded to the GPU (for instance a UV mapped material with vertex colors also triggers it).

GDebugger shows nothing wrong. I don't think we do something wrong blender side because it's the only driver that has this problem (ATIs + Mac work as does every other operating system/GPU so far). Also a clear indication that this is a driver problem is the fact that the code that determines the offsets in the buffers is the same between VBO/non VBO and the VBO case does not produce complete trash (the result is still wrong though).

Rendering in this instance is different from other use cases in two points:

  • We use a combination of OpenGL built-ins with other attributes, which may confuse the driver and
  • We use interleaved with non interleaved arrays. Basically, vertices and normals are never inteleaved in our code but other attributes are. So It's possible that the driver (incorrectly) makes an assumption about the data offset of every attribute when an interleaved offset is set for one of the attributes.

There are simple tests one can do to verify which is the case but I simply didn't have enough time with a Mac with NVIDIA on it on my hands to look into these. And my estimation is that this bug should go to Apple, not us.

#43339 is in fact the very same issue. This is not limited to tangents as explained, it will hit when an interleaved data format is used with more than one attribute uploaded to the GPU (for instance a UV mapped material with vertex colors also triggers it). GDebugger shows nothing wrong. I don't think we do something wrong blender side because it's the only driver that has this problem (ATIs + Mac work as does every other operating system/GPU so far). Also a clear indication that this is a driver problem is the fact that the code that determines the offsets in the buffers is the same between VBO/non VBO and the VBO case does not produce complete trash (the result is still wrong though). Rendering in this instance is different from other use cases in two points: * We use a combination of OpenGL built-ins with other attributes, which may confuse the driver and * We use interleaved with non interleaved arrays. Basically, vertices and normals are never inteleaved in our code but other attributes are. So It's possible that the driver (incorrectly) makes an assumption about the data offset of every attribute when an interleaved offset is set for one of the attributes. There are simple tests one can do to verify which is the case but I simply didn't have enough time with a Mac with NVIDIA on it on my hands to look into these. And my estimation is that this bug should go to Apple, not us.

FYI - I have done my best to submit this bug to Apple via their Apple Developer Bug Reporter website. I did my best to describe the problem and linked back to this thread. I tried to be very clear that the Blender team have narrowed this down to an Apple/NVIDIA/OpenGL problem, and not a problem with Blender. There should be more than enough information in this thread to help them. I just hope my bug makes it to the desks of the right people who can actually do something about it (somewhere in a special gray area between NVIDIA and Apple I assume).

My Apple Bug number is 20171748, but I'm not sure if anyone but me can view it.

Thanks again to all of you for your attention to this issue.

If anyone reading this has some history with Apple Developer resources or some experience with reporting bugs to Apple, please submit this bug to them yourself. I am a Windows developer and I created an account just to report this issue. I have zero history with Apple and zero experience reporting issues to them. I'm worried they might just ignore me.

FYI - I have done my best to submit this bug to Apple via their Apple Developer Bug Reporter website. I did my best to describe the problem and linked back to this thread. I tried to be very clear that the Blender team have narrowed this down to an Apple/NVIDIA/OpenGL problem, and not a problem with Blender. There should be more than enough information in this thread to help them. I just hope my bug makes it to the desks of the right people who can actually do something about it (somewhere in a special gray area between NVIDIA and Apple I assume). My Apple Bug number is 20171748, but I'm not sure if anyone but me can view it. Thanks again to all of you for your attention to this issue. If anyone reading this has some history with Apple Developer resources or some experience with reporting bugs to Apple, please submit this bug to them yourself. I am a Windows developer and I created an account just to report this issue. I have zero history with Apple and zero experience reporting issues to them. I'm worried they might just ignore me.

Removed subscriber: @ThomasDinges

Removed subscriber: @ThomasDinges
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
9 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#43342
No description provided.