Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Next pass in CanvasItemMaterial seems to do nothing? #17461

Open
magpie514 opened this issue Mar 11, 2018 · 10 comments
Open

Next pass in CanvasItemMaterial seems to do nothing? #17461

magpie514 opened this issue Mar 11, 2018 · 10 comments

Comments

@magpie514
Copy link

Godot version:
eceba5a

OS/device including version:
OS: Ubuntu Linux 17.10 64b.
OpenGL version string: 4.6.0 NVIDIA 387.34
OpenGL shading language version string: 4.60 NVIDIA
Video device: GeForce GT 630/PCIe/SSE2

Issue description:
I am not entirely sure if this is human error, since the documentation is sparse, but setting a ShaderMaterial as next_step of a CanvasItemMaterial seems to have no effect. I included a little test displaying the shader working when set as material directly, and a "_wrong" version where it's set as the next step.

Steps to reproduce:
Set a shader material as the next_step of a CanvasItemMaterial.

Minimal reproduction project:
b.zip

@eon-s
Copy link
Contributor

eon-s commented Mar 14, 2018

When I create a shader and set as canvas_item type, next pass option disappears, I wonder if it works.

@magpie514
Copy link
Author

out5
It shows properly for me if setting the material directly. Wanted to have a shader that could be toggled between mix and add blending without having to make another shader file with just that minimal change, as it seems it's not a thing you can change dynamically, but since the whole thing is undocumented I just don't know if I am doing it wrongly, or the feature isn't fully implemented.

@samdze
Copy link
Contributor

samdze commented Dec 3, 2018

Still happens in 3.1 alpha 8dd00ed
The ShaderMaterial in next_pass is ignored.

@kvonspiczak
Copy link

version: 3.0.6 stable
windows 10
not entirely sure if my issue is related but i was trying to archieve this effect in my topdown 2d game : https://www.youtube.com/watch?v=_8xqz7LpbTs couldnt get it to work though. i tried adding the SpatialMaterials on the CanvasMaterials of my KinematicBody2D and on a sprite of an object thats rendered in front of my player's kinematicbody. felt like all the settings had no effect at all in my 2d game.

@nobuyukinyuu
Copy link
Contributor

Still happening in 3.1 stable. This is problematic for animated Particle2Ds that used a ShaderMaterial, because CanvasItemMaterial is now required to set animation parameters.

@akien-mga akien-mga added this to the 3.2 milestone Apr 2, 2019
@viktor-ferenczi
Copy link
Contributor

Still happens with Godot 3.1.1. Wanted to pulse the alpha of fireworks particles, but the next_pass shader put into the ParticlesMaterial does nothing.

@LionH
Copy link

LionH commented Jul 5, 2019

I confirm. I wanted to stack canvas_item shaders and the next_pass property disappears.

@ghost
Copy link

ghost commented Aug 17, 2019

Can confirm! I just started learning shaders and was confused why my shader didn't show up in neither the editor nor the game.

@magpie514
Copy link
Author

Seems it's not user error then. Can't wait until it's fixed.

@KoBeWi
Copy link
Member

KoBeWi commented Nov 13, 2020

Still valid in 3.2.3

In f733746 both reproduction scenes seem to be broken, so it's impossible to test.

@clayjohn clayjohn removed this from the 4.0 milestone Apr 26, 2022
@clayjohn clayjohn added enhancement and removed bug labels Apr 26, 2022
@github-project-automation github-project-automation bot moved this to For team assessment in Rendering Issue Triage Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: For team assessment
Development

No branches or pull requests