Blender Render Texture and Material Views Show Large Wireframes when viewing OpenSubDiv Objects #46706

Closed
opened 2015-11-05 22:11:45 +01:00 by Dennis Brown · 23 comments

System Information
Windows 10 Pro x64

Blender Version
Broken: 2.76 48f7dd6

When viewing an object using OpenSubDiv with Texture or Material mode in Blender Internal, the object is shown as if it was using a thick wireframe modifier.

Exact steps for others to reproduce the error
Setup: Create an object of any sort, add a subsurf with at least one subdivision. Enable OpenSubDiv.

  1. Switch to Material View Mode, and observe the slightly larger wireframe view
  2. Enable Texture mode, and notice that the object shows correctly
  3. Change the Material Shading mode to GLSL, and the Texture Mode will now show a wireframe just like Material Mode
  4. Disable OpenSubDiv at any point to allow the material to show again.

It seems that Material mode does this with both Multitexture, and GLSL, but Texture mode is only effected under GLSL.

Here's an example with a Cube subdivided twice:
opensubdiv.jpg

**System Information** Windows 10 Pro x64 **Blender Version** Broken: 2.76 48f7dd6 When viewing an object using OpenSubDiv with Texture or Material mode in Blender Internal, the object is shown as if it was using a thick wireframe modifier. **Exact steps for others to reproduce the error** Setup: Create an object of any sort, add a subsurf with at least one subdivision. Enable OpenSubDiv. 1. Switch to Material View Mode, and observe the slightly larger wireframe view 2. Enable Texture mode, and notice that the object shows correctly 3. Change the Material Shading mode to GLSL, and the Texture Mode will now show a wireframe just like Material Mode 4. Disable OpenSubDiv at any point to allow the material to show again. It seems that Material mode does this with both Multitexture, and GLSL, but Texture mode is only effected under GLSL. Here's an example with a Cube subdivided twice: ![opensubdiv.jpg](https://archive.blender.org/developer/F252858/opensubdiv.jpg)
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @DBrown

Added subscriber: @DBrown

Added subscriber: @Sergey

Added subscriber: @Sergey

I can not reproduce the issue with the given steps. please:

  • Make sure your video driver is totally up to date
  • Provide information about your graphics card
  • Attach system-info.txt generated by Help -> System Info
  • Attach simple .blend file with small instructions of reproducing the issue from that .blend
I can not reproduce the issue with the given steps. please: - Make sure your video driver is totally up to date - Provide information about your graphics card - Attach system-info.txt generated by `Help -> System Info` - Attach simple .blend file with small instructions of reproducing the issue from that .blend
Author

My sincere apologies:

CPU: AMD FX 8350
CPU Chipset: 990fx
Video Card: XFX AMD R9 390
Catalyst Version: 15.7.1 (Latest stable)

Tested latest and daily (same results):

2.76b #f337fea
2.76.2 #4b316e7

*I installed the AMD Catalyst 15.11 beta drivers, which also gave the same results.

I tried OpenSubDIv in both CPU, and GLSL Transform Feedback, and both gave the same results (GLSL Compute not available).

I'm sure it doesn't make any difference, but when deselected, it shows as bands (screenshots attached).

opensubdiv_deselect.jpg

Here is the blend file, putting you exactly where I was in the screenshots:

osd_test.blend

and here is my system-info:

system-info.txt

My sincere apologies: CPU: AMD FX 8350 CPU Chipset: 990fx Video Card: XFX AMD R9 390 Catalyst Version: 15.7.1 (Latest stable) Tested latest and daily (same results): 2.76b #f337fea 2.76.2 #4b316e7 *I installed the AMD Catalyst 15.11 beta drivers, which also gave the same results. I tried OpenSubDIv in both CPU, and GLSL Transform Feedback, and both gave the same results (GLSL Compute not available). I'm sure it doesn't make any difference, but when deselected, it shows as bands (screenshots attached). ![opensubdiv_deselect.jpg](https://archive.blender.org/developer/F253547/opensubdiv_deselect.jpg) Here is the blend file, putting you exactly where I was in the screenshots: [osd_test.blend](https://archive.blender.org/developer/F253553/osd_test.blend) and here is my system-info: [system-info.txt](https://archive.blender.org/developer/F253552/system-info.txt)

Added subscriber: @mont29

Added subscriber: @mont29

Thanks for the info. For what is worth, cannot reproduce this here (nvidia 850m, debian64 testing). Probably something related to that GPU/driver?

Thanks for the info. For what is worth, cannot reproduce this here (nvidia 850m, debian64 testing). Probably something related to that GPU/driver?
Author

Somehow this didn't submit earlier this week, but I have to agree it has to be a GPU issue, as I didn't have these issues with the nVidia 960 I replaced with the 390.

Here are the errors given when this happens:

GPUShader: compile error:
Geometry shader failed to compile with the following errors:
WARNING: 3:4: deprecated130(#55) "varing" is deprecated since GLSL1.3. We suggest usage of "in/out"
WARNING: 3:5: deprecated130(#55) "varing" is deprecated since GLSL1.3. We suggest usage of "in/out"
WARNING: 3:7: warning(#312) interface block with instance is supported in GLSL 1.5
WARNING: 3:30: warning(#312) interface block with instance is supported in GLSL 1.5
ERROR: 3:49: error(#202) No matching overloaded function found: texelFetch
ERROR: 3:49: error(#202) No matching overloaded function found: texelFetch
ERROR: 3:70: error(#202) No matching overloaded function found: texelFetch
ERROR: 3:70: error(#202) No matching overloaded function found: texelFetch
ERROR: error(#273) 4 compilation errors.  No code generated
Somehow this didn't submit earlier this week, but I have to agree it has to be a GPU issue, as I didn't have these issues with the nVidia 960 I replaced with the 390. Here are the errors given when this happens: ``` GPUShader: compile error: Geometry shader failed to compile with the following errors: WARNING: 3:4: deprecated130(#55) "varing" is deprecated since GLSL1.3. We suggest usage of "in/out" WARNING: 3:5: deprecated130(#55) "varing" is deprecated since GLSL1.3. We suggest usage of "in/out" WARNING: 3:7: warning(#312) interface block with instance is supported in GLSL 1.5 WARNING: 3:30: warning(#312) interface block with instance is supported in GLSL 1.5 ERROR: 3:49: error(#202) No matching overloaded function found: texelFetch ERROR: 3:49: error(#202) No matching overloaded function found: texelFetch ERROR: 3:70: error(#202) No matching overloaded function found: texelFetch ERROR: 3:70: error(#202) No matching overloaded function found: texelFetch ERROR: error(#273) 4 compilation errors. No code generated ```
Member

Added subscriber: @MikeErwin

Added subscriber: @MikeErwin
Member

Same problem here. The "thick wireframe" is the standard selection outline. Usually you'd see just the silhouette, but when something goes wrong...

One of our shaders fails to compile when switching to material display mode. Also matcaps in solid display mode.

Intel driver's GLSL compiler on Windows 10 complains:

GPUShader: compile error:
ERROR: 3:8: 'varying' : cannot be a struct
ERROR: 3:27: 'varposition' : undeclared identifier
ERROR: 3:27: 'assign' : cannot convert from '3-component vector of float' to 'float'
ERROR: 3:28: 'varnormal' : undeclared identifier
ERROR: 3:28: 'assign' : cannot convert from '3-component vector of float' to 'float'
ERROR: 3:42: 'outpt' : undeclared identifier
ERROR: 3:42: 'v' : field selection requires structure, vector, or matrix on left hand side
ERROR: 3:42: 'position' : field selection requires structure, vector, or matrix on left hand side
ERROR: 3:42: 'assign' : cannot convert from '4-component vector of float' to 'float'
ERROR: 3:43: 'v' : field selection requires structure, vector, or matrix on left hand side
ERROR: 3:43: 'normal' : field selection requires structure, vector, or matrix on left hand side

According to grep, "varposition" is found in gpu_shader_[geometry|vertex|vertex_world].glsl

Same problem here. The "thick wireframe" is the standard selection outline. Usually you'd see just the silhouette, but when something goes wrong... One of our shaders fails to compile when switching to material display mode. Also matcaps in solid display mode. Intel driver's GLSL compiler on Windows 10 complains: GPUShader: compile error: ERROR: 3:8: 'varying' : cannot be a struct ERROR: 3:27: 'varposition' : undeclared identifier ERROR: 3:27: 'assign' : cannot convert from '3-component vector of float' to 'float' ERROR: 3:28: 'varnormal' : undeclared identifier ERROR: 3:28: 'assign' : cannot convert from '3-component vector of float' to 'float' ERROR: 3:42: 'outpt' : undeclared identifier ERROR: 3:42: 'v' : field selection requires structure, vector, or matrix on left hand side ERROR: 3:42: 'position' : field selection requires structure, vector, or matrix on left hand side ERROR: 3:42: 'assign' : cannot convert from '4-component vector of float' to 'float' ERROR: 3:43: 'v' : field selection requires structure, vector, or matrix on left hand side ERROR: 3:43: 'normal' : field selection requires structure, vector, or matrix on left hand side According to grep, "varposition" is found in gpu_shader_[geometry|vertex|vertex_world].glsl
Member

Reproduced problem on AMD A8-4555M running Windows 10. Shader compiler gave exact same errors as DBrown above.

Errors reported in my previous comment are from an Intel Haswell i5-4670.

Reproduced problem on AMD A8-4555M running Windows 10. Shader compiler gave exact same errors as DBrown above. Errors reported in my previous comment are from an Intel Haswell i5-4670.
Mike Erwin self-assigned this 2015-11-15 03:50:37 +01:00
Member

Making some progress! Matcap and Cycles material preview are now working. No BI material preview yet. Haswell not working but for a different reason now. So it's not ready to commit yet. I will continue with this tomorrow.

Bumped GLSL from 1.3 to 1.5 (ARB_compatibility enabled) to get it working, plus changes to codegen and the OSD display shader.

{F254639}opensubdiv-matcap.png

Making some progress! Matcap and Cycles material preview are now working. No BI material preview yet. Haswell not working but for a different reason now. So it's not ready to commit yet. I will continue with this tomorrow. Bumped GLSL from 1.3 to 1.5 (ARB_compatibility enabled) to get it working, plus changes to codegen and the OSD display shader. {[F254639](https://archive.blender.org/developer/F254639/opensubdiv-material.png)}![opensubdiv-matcap.png](https://archive.blender.org/developer/F254643/opensubdiv-matcap.png)
Member

Ok, got Intel Haswell working too. Changed

- version 150
- extension GL_ARB_compatibility : enable

which works fine on AMD to

#version 150 compatibility

which should work everywhere. GLSL spec says this is the proper way.

Basic uniform materials (for BI or Cycles) are working now in Texture and Material display modes. Anything with UV maps needs additional work, as @Sergey mentioned in the OpenSubdiv release notes.

Ok, got Intel Haswell working too. Changed ``` - version 150 - extension GL_ARB_compatibility : enable ``` which works fine on AMD to ``` #version 150 compatibility ``` which should work everywhere. GLSL spec says this is the proper way. Basic uniform materials (for BI or Cycles) are working now in Texture and Material display modes. Anything with UV maps needs additional work, as @Sergey mentioned in the OpenSubdiv release notes.

@MikeErwin, will you commit the fix?

@MikeErwin, will you commit the fix?
Member

@Sergey The current fix involves upgrading all codegen to GLSL 1.5. Which is great for Blender 2.8 but committing as is would break Mac builds and get in the way of 2.77. I'll try to make a minimal fix that is compatible with GLSL 1.2 and uses GLSL 1.5 (compatibility profile) just for the OSD parts.

I'll focus on this and should close before the weekend.

(except UV maps, that will take longer)

@Sergey The current fix involves upgrading all codegen to GLSL 1.5. Which is great for Blender 2.8 but committing as is would break Mac builds and get in the way of 2.77. I'll try to make a minimal fix that is compatible with GLSL 1.2 and uses GLSL 1.5 (compatibility profile) just for the OSD parts. I'll focus on this and should close before the weekend. (except UV maps, that will take longer)

@MikeErwin, sounds cool. And yes, don't touch UVs yet, it's more complicated topic and we can collaborate on this in IRC perhaps.

@MikeErwin, sounds cool. And yes, don't touch UVs yet, it's more complicated topic and we can collaborate on this in IRC perhaps.

This issue was referenced by f997449f84

This issue was referenced by f997449f841f8229680f9e0f0beed4809b9111ab
Member

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
Member

Changed status from 'Resolved' to: 'Open'

Changed status from 'Resolved' to: 'Open'
Member

Partially resolved by recent commit.

Matcaps now work with OpenSubdiv, as do basic materials. Anything with UV coordinates is still broken.

+1 to working with @Sergey on UV part

Partially resolved by recent commit. Matcaps now work with OpenSubdiv, as do basic materials. Anything with UV coordinates is still broken. +1 to working with @Sergey on UV part

Added subscriber: @brecht

Added subscriber: @brecht

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'

Archiving old report, we no longer work on fixing these types of issues in 2.79 but focus on the new viewport in 2.8.

Archiving old report, we no longer work on fixing these types of issues in 2.79 but focus on the new viewport in 2.8.
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
6 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#46706
No description provided.