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

Decals implementation #21185

Closed
AndreaCatania opened this issue Aug 19, 2018 · 11 comments
Closed

Decals implementation #21185

AndreaCatania opened this issue Aug 19, 2018 · 11 comments

Comments

@AndreaCatania
Copy link
Contributor

I'm opening this issue to talk about decals implementation.

The decals are a really useful feature and you can see it in action here: https://www.youtube.com/watch?v=rUOKIrfpHGw, you can use it to create bullet holes, footprint, blood / dirty in the walls, etc..

If someone is looking on something new to implement, this could be an idea.
In ue4 this is how it's looks like in editor: https://youtu.be/ANCm_EMfjP4?t=45s

@Calinou Calinou changed the title Decals implementation - Feature proposal Decals implementation Aug 19, 2018
@CptPotato
Copy link
Contributor

I didn't use godot for much 3d yet but I assumed that decals were implemented. If this is not the case I think this should be done as they're very useful for many things.

They might not integrate as seamlessly as in UE4 (since UE4 uses deferred rendering, godot doesn't) but should still work very well.

@Zireael07
Copy link
Contributor

No, decals are not yet in core @CptPotato. I believe someone made a fake decal addon that basically uses quads and some shaders?

@CptPotato
Copy link
Contributor

You can do it using a projection volume (easier than it sounds) after the opaque pass. In OP's UE4 video you can see this volume pretty well.

That's how it's done in most cases afaik. Static sprite-quads are good (and faster) for flat walls but other than that a projection is required for good results.

@insomniacUNDERSCORElemon

I'm not sure how it stacks up or if there are better ways, but I have this Valve technique (high-res textures computed to low-res distance fields) bookmarked:

https://steamcdn-a.akamaihd.net/apps/valve/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf

@CptPotato
Copy link
Contributor

^ this is an interesting paper. Though it's more about vector-like filtering not the decals themselves. iirc, Godot supports distance field fonts which is the same technique as this article describes.

@pgruenbacher
Copy link

that being said the scree-space decals has a lot of issues that I haven't been able to overcome like only rendering it on specific meshes, side stretching, etc.

@Chaosus Chaosus added this to the 3.2 milestone Aug 29, 2018
@anderlli0053
Copy link

anderlli0053 commented Jun 10, 2019

Anything new on decals? When they will be added? Why so much waiting for it, as it is vital part of game creating?

@Calinou
Copy link
Member

Calinou commented Jun 10, 2019

@anderlli0053 While they are on the roadmap, rendering features will likely only be added in Godot 4.0, as work in other areas is currently being done for Godot 3.2.

In the meantime, you can use a third-party screen-space decals implementation.

@anderlli0053
Copy link

Aha Ok, thank you for information!

@Calinou
Copy link
Member

Calinou commented Apr 15, 2020

This was implemented in #37861, closing.

@Calinou Calinou closed this as completed Apr 15, 2020
@Calinou Calinou added this to the 4.0 milestone Apr 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants