Giter VIP home page Giter VIP logo

crtscreenshader's Introduction

Godot CRT Screen Shader

AaronWizard 2018

A Godot screen shader for simulating CRT screens.

Based on the CRT-Easymode algorithm.

How to use

Create a node that covers your scene, like a ColorRect, and assign it a ShaderMaterial that uses the CRT shader code. You will likely want this node to go in a CanvasLayer, like if you're using a Camera in the scene.

The shader's parameters are taken from the original CRT-Easymode shader, but with the addition of Screen Base Size. The most important parameters are:

Shader Param Description
Screen Base Size The virtual minimum pixel dimension, width or height, of the scene. This should be the minimum of your Width and Height settings under Project Settings > Display > Window > Size.
Mask Strength How much the original scene's colours will be replaced by the colouring of the RGB cell pattern.
Mask Dot Width Multiplier for the widths of the RGB cells, based on Mask Size.
Mask Dot Height Multiplier for the heights of the RGB cells, based on Mask Size.
Mask Stagger Shifts the odd row RGB cells by this amount multiplied by Mask Size.
Mask Size The base width and height in screen pixels of the RGB cells.
Scanline Strength How visible the scanlines are.
Scanline Cutoff The minimum height the screen must be in order to show the scanlines.
Gamma Input Represents the gamma of the simulated CRT monitor, which was typically between 2 and 5. Darkens the scene the higher this is.
Gamma Output The corrected gamma converted from Gamma Input for display on an LCD monitor. Brightens the scene the higher this is.
Bright Boost Brightens the scene depending on how high the value is, independent of the gamma settings.

crtscreenshader's People

Contributors

aaronwizard avatar

Stargazers

 avatar  avatar Ada avatar sys null avatar Łukasz Semler avatar Kurt avatar Nadim avatar  avatar  avatar Guillaume Roy avatar Brant D. Messenger avatar  avatar  avatar Paweł Fertyk avatar  avatar  avatar  avatar  avatar  avatar Philipp Wabnitz avatar Jeff avatar Willi Kappler avatar

Watchers

Jeff avatar  avatar

crtscreenshader's Issues

Create a "how-to" documentation in the README

Hi,

I really like the looks of your shader, but I'm pretty new to Godot and I don't know how to apply it.
Could you explain it in the README so everyone would benefit of a "how-to" documentation?

Thanks you very much (just for taking it into account).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.