Page MenuHome

TexturePainting: does not paint on faces where a vertice is behind the viewport
Closed, ArchivedPublic

Description

System Information
Operating system: Windows-10-10.0.18362 64 Bits
Graphics card: GeForce GTX 1080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 431.86

Blender Version
Broken: version: 2.81 (sub 12), branch: master, commit date: 2019-09-20 15:42, hash: rBadfe68e2025b
Worked: (optional)

I know that alpha, but still ... In Texture Paint layout, if you draw on the surface at a fairly right angle, then everything is fine, but if you tilt the camera, the brush stops painting.

Any model, including simple plain. When drawing in single texture mode and in material mode. When sculpting this is not observed.

Event Timeline

Demeter Dzadik (Mets) lowered the priority of this task from 90 to 30.Sep 20 2019, 11:43 PM

I cannot reproduce this. Please provide clearer reproduction steps, perhaps screenshots, video, or a blend file.

https://1drv.ms/u/s!AgIaQataEAPAvhG0jP-TFDn75T9V Here's a short video example of how this works. Just a scene with a simple plane.
https://yadi.sk/d/Dot7CvhGMMil0w This is a scene from the video. I'm not sure that it is needed, since there is nothing special about it.

Demeter Dzadik (Mets) raised the priority of this task from 30 to 90.EditedSep 21 2019, 11:23 PM

Thanks for the files. Please attach files directly to the tracker via drag drop, like so:

I can reproduce the issue in that file, but not in a fresh file, so I feel like some option is causing it. Do you have any ideas?

I can reproduce the issue in that file, but not in a fresh file, so I feel like some option is causing it. Do you have any ideas

This is a long-term bug that you can also abuse as a feature:

Should be easy reproducible:
blender --factory-startup → a, x → add plane → texture paint → single image → new → play with the viewport angle / zoom and paint

Ah yeah, I can do it in a fresh file now too. I guess I was just unlucky last time, and I didn't realize zoom level could influence it too.

Adding more geometry to your object, greatly helps with this issue

Germano Cavalcante (mano-wii) lowered the priority of this task from 90 to 50.

@Jeroen Bakker (jbakker), do you mantain this area?
It seems that when one of the vertices in the looptri is behind the camera the whole triangle is ignored.

It is a limitation of the current system; B279 shows same behavior.

Jeroen Bakker (jbakker) renamed this task from With a strong tilt of the camera does not draw to TexturePainting: does not paint on faces where a vertice is behind the viewport.Oct 1 2019, 8:16 AM

Just rechecked. This is a limitation of the current system, without an easy fix. Vertices are converted to screen space. When a vertice cannot have a screen space coordinate (for example in when a vertices is behind the viewport, the whole face is not selected for the stroke as it would always lead to undesired behavior (flipping strokes).

There are multiple possible solutions:

  • Do actual clipping in 3d space, not in 2d space as it is currently implemented.
  • Do not use vertices but the actual rendered UV map. Needs whole overhaul of the system.

As texture painting system will be redone in the near future I don't think it is good to invest our time in fixing this issue in the old system.

@Pablo Dobarro (pablodp606) do you agree with that?

Jeroen Bakker (jbakker) changed the task status from Unknown Status to Unknown Status.Dec 11 2019, 8:30 AM

Actually this is a known limitation of the system and also documented in the manual. Not considered a bug.
https://docs.blender.org/manual/en/dev/sculpt_paint/texture_paint/introduction.html#perspective-view-faces-behind-the-view