Stylized Wings


it’s a little wing shader similar to the “Wings of Angles” from Diablo 3.


Add the Shader Material to a plane or custom mesh, then just assign the shader_textures to their slots and a gradient to the gradient_slot.

There is also a tutorial. The Shader is also very useful to create flames or plumes.



Shader code
//Made by Kmitt91//

shader_type spatial;

render_mode diffuse_toon, cull_disabled;

uniform sampler2D wing_tex : hint_white;
uniform sampler2D mask_tex : hint_white;
uniform sampler2D pattern_tex : hint_white;
uniform sampler2D gradient_tex : hint_black_albedo;

uniform float displ_strengh = 0.3;
uniform float wave_frequency = 2.0;
uniform float speed = 0.2;
uniform float emission_strengh = 0.0;

void vertex() {
	VERTEX.y += displ_strengh * UV.x * sin(VERTEX.x * wave_frequency + TIME * 4.0*speed);

void fragment() {
	vec2 uv_movement = UV;
	uv_movement -= speed * (TIME * vec2(1.0, 0.0));
	vec4 wing = texture(wing_tex, uv_movement);
	vec4 mask = texture(mask_tex, UV);
	vec4 pattern = texture(pattern_tex, uv_movement * vec2(2.0, 1.0));
	vec3 gradient = texture(gradient_tex, UV).rgb;
	vec3 emission = emission_strengh * gradient;
	vec3 alter_mask = mask.rgb * pattern.rgb;
	ALBEDO = wing.rgb * gradient.rgb * alter_mask.rgb;
	ALPHA = wing.r * mask.r;
	EMISSION = emission * pattern.rgb * alter_mask.rgb;
3d, stylized
The shader code and all code snippets in this post are under MIT license and can be used freely. Images and videos, and assets depicted in those, do not fall under this license. For more info, see our License terms.

More from kmitt91

Stylized Water Shader

mesh-terrain blending

Related shaders

UCBC’s Stylized Light with Light Masking

Simple, cheap stylized tree shader

Stylized Cloudy Sky

Notify of

1 Comment
Newest Most Voted
Inline Feedbacks
View all comments
2 years ago

this is amazing, thanks!