Page MenuHome

Texture coordinate object reference not interactively updating in Eevee
Closed, ResolvedPublic

Description

System Information
Windows 10 (Tested in Linux too)

Blender Version
blender-2.80.0-git.c750ebe113e-windows64

The Texture Coordinate Node's ability to reference an external object to manipulate coordinates does not function in Eevee. You can select an empty, for example, and move it about and it has no impact on the resulting texture coordinates.

Event Timeline

Philipp Oeser (lichtwerk) triaged this task as Confirmed, Medium priority.

Confirmed.
Hasnt worked in 2.79 viewport either. Just doesnt seemt to be implemented (as opposed to cycles)?
@Clément Foucault (fclem): is this a known limitation?

Yes it is not implemented. I don't know how feasible it is to do it before the beta.

I think the glsl/material code would be simple but the depsgraph need to make update the shader if the picked object changes. Maybe @Sergey Sharybin (sergey) will have some insight on how to do it.

This limitation is currently documented, so does not strictly need to be a bug report anymore:
https://docs.blender.org/manual/en/dev/render/eevee/materials/nodes_support.html

If this is implemented, then I think it is best to just use a dynamic GPU uniform and set the value again for every redraw.

I don't think any extra dependency graph work would be needed. If the object is unlinked or deleted the shader must be recompiled, but the tagging and relations for that should already be in place.

Well actually it is not in place. I've commited the GPU nodetree part but there is missing tagging. This makes the coordinate only update if the material is forced to update.

Test file:

Note: Adding a driver in the nodetree referencing the object itself does work (tagging is set appropriately).

Brecht Van Lommel (brecht) renamed this task from Texture Co-ordinate Object reference not working in Eevee to Texture coordinate object reference not interactively updating in Eevee.
Michael Soluyanov (crantisz) raised the priority of this task from Confirmed, Medium to Needs Triage by Developer.Tue, Jul 9, 10:39 AM

Still doesn't work with world.

This is test file:

System Information
Operating system: Linux-4.15.0-51-generic-x86_64-with-debian-buster-sid 64 Bits
Graphics card: GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 390.116

Blender Version
Broken: version: 2.80 (sub 74), branch: master, commit date: 2019-07-08 22:16, hash: rBa42cae160082

Exact steps for others to reproduce the error

  1. Open file. Rotate selected empty object.

Result: world background and light doesn't changes.

  1. Switch to cycles. Rotate the empty object.

Result: now works correctly.

Gif: works in cycles, but not in EEVEE

  1. Walk around: use drivers setup for EEVEE:

@Michael Soluyanov (crantisz), this is always a good idea to make a new report. It covers different aspect from the original report and for the discoverability of issues it totally makes sense to have separate report.

@Clément Foucault (fclem), when running with --debug-depsgraph i do see calls of BKE_world_eval(). So not sure this is a depsgraph related?

Sebastian Parborg (zeddb) triaged this task as Confirmed, Medium priority.