Need help with Godot-3-2D-CRT-Shader?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

hiulit
182 Stars 17 Forks MIT License 46 Commits 1 Opened issues

Description

A 2D shader for Godot 3 simulating a CRT

Services available

!
?

Need anything else?

Contributors list

# 228,034
HTML
Sass
sass-mi...
Shell
43 commits

Godot 3 2D CRT Shader

A 2D shader for Godot 3 simulating a CRT.

A 2D shader for Godot 3 simulating a CRT - OFF A 2D shader for Godot 3 simulating a CRT - ON

Usage

  • Create a
    CanvasLayer
    .
  • Add a
    ColorRect
    as a child node of the
    CanvasLayer
    .
  • In the
    ColorRect
    properties:
    • Go to the Material section.
    • Click on the
      [empty]
      dropdown from Material and load
      crt_material.tres
      .

Note

If for some reason, when loading the

crt_material.tres
, the
crt_shader.shader
is empty, just open it with any text editor, copy the code in the Shader editor and save it.

Shader Parameters

Screen size

| Name | Type | Default | Description | | --- | --- | --- | --- | |

screen_size
|
vec2
|
vec2(320.0, 180.0)
| The size of your project's
display/window/size
. |

Show curvature

| Name | Type | Default | Description | | --- | --- | --- | --- | |

show_curvature
|
bool
|
true
| Enables/disables the curvature effect. |

Works best in

window/stretch/mode="2d"
.

Curvature X amount

| Name | Type | Default | Description | | --- | --- | --- | --- | |

curvature_x_amount
|
float
|
6.0
| Controls the curvature on the X axis. The lower the amount, the lower distortion. Range from
3.0
to
15.0
with
0.01
steps. |

Curvature Y amount

| Name | Type | Default | Description | | --- | --- | --- | --- | |

curvature_y_amount
|
float
|
6.0
| Controls the curvature on the Y axis. The lower the amount, the lower distortion. Range from
3.0
to
15.0
with
0.01
steps. |

Corner color

| Name | Type | Default | Description | | --- | --- | --- | --- | |

corner_color
|
vec4
|
vec4(0.0, 0.0, 0.0, 1.0)
| The color of the blank space on the corners left by the curvature. |

Show vignette

| Name | Type | Default | Description | | --- | --- | --- | --- | |

show_vignette
|
bool
|
true
| Enables/disables the vignette effect. |

Vignette opacity

| Name | Type | Default | Description | | --- | --- | --- | --- | |

vignette_opacity
|
float
|
0.2
| Controls the opacity of the vignette. Range from
0.0
to
1.0
with
0.01
steps. |

Show horizontal scan lines

| Name | Type | Default | Description | | --- | --- | --- | --- | |

show_horizontal_scan_lines
|
bool
|
true
| Enables/disables the horizontal scan lines. |

Horizontal scan lines amount

| Name | Type | Default | Description | | --- | --- | --- | --- | |

horizontal_scan_lines_amount
|
float
|
180.0
| Controls how many horizontal scan lines appear. Range from
0.0
to
180.0
with
0.1
steps. |

Setting it to your project's

windows/size/height
should work fine, but you can play with it to get the results best fitted to your liking.

Having fewer scan lines will make them larger, which makes it harder for the moire effect to appear.

Horizontal scan lines opacity

| Name | Type | Default | Description | | --- | --- | --- | --- | |

horizontal_scan_lines_opacity
|
float
|
1.0
| Controls the opacity of the horizontal scan lines.
0.0
is complete opaque. Range from
0.0
to
1.0
with
0.01
steps. |

Show vertical scan lines

| Name | Type | Default | Description | | --- | --- | --- | --- | |

show_vertical_scan_lines
|
bool
|
true
| Enables/disables the vertical scan lines. |

Vertical scan lines amount

| Name | Type | Default | Description | | --- | --- | --- | --- | |

vertical_scan_lines_amount
|
float
|
320.0
| Controls how many vertical scan lines appear. Range from
0.0
to
320.0
with
0.1
steps. |

Setting it to your project's

windows/size/width
should work fine, but you can play with it to get the results best fitted to your liking.

Having fewer scan lines will make them larger, which makes it harder for the moire effect to appear.

Vertical scan lines opacity

| Name | Type | Default | Description | | --- | --- | --- | --- | |

vertical_scan_lines_opacity
|
float
|
1.0
| Controls the opacity of the vertical scan lines.
0.0
is complete opaque. Range from
0.0
to
1.0
with
0.01
steps. |

Boost

| Name | Type | Default | Description | | --- | --- | --- | --- | |

boost
|
float
|
1.2
| Gives extra brightness to compensate the scanlines and the vignette. Range from
1.0
to
2.0
with
0.01
steps. |

Aberration amount

| Name | Type | Default | Description | | --- | --- | --- | --- | |

aberration_amount
|
float
|
0.0
| Controls the amount of chromatic aberration. Range from
0.0
to
10.0
with
0.01
steps. |

Changelog

See CHANGELOG.

Authors

Credits

Thanks to:

License

MIT License.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.