12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- .. _doc_shader_materials:
- Shader materials
- ================
- Introduction
- ------------
- For the most common cases, Godot provides ready to use materials for
- most types of shaders, such as :ref:`StandardMaterial3D <class_StandardMaterial3D>`,
- :ref:`CanvasItemMaterial <class_CanvasItemMaterial>` and :ref:`ParticleProcessMaterial <class_ParticleProcessMaterial>`.
- They are flexible implementations that cover most use cases.
- Shader materials allow writing a custom shader directly, for maximum flexibility.
- Examples of this are:
- - Create procedural textures.
- - Create complex texture blending effects.
- - Create animated materials, or materials that change over time.
- - Create refractive effects or other advanced effects.
- - Create special lighting shaders for more exotic materials.
- - Animate vertices, like tree leaves or grass.
- - Create custom particle code.
- - And much more!
- Godot provides built in functionality to make frequent operations
- easier. Additionally, Godot's shader editor will detect errors as you
- type, so you can see your edited shaders in real-time. It is also
- possible to edit shaders using a visual, node-based graph editor.
- Creating a ShaderMaterial
- -------------------------
- Create a new ShaderMaterial in some object of your choice. Go to the
- "Material" property and create a ShaderMaterial.
- .. image:: img/shader_material_create.png
- Next, click on the shader material to see its properties. From here you
- can create a shader or visual shader. Regular shaders use code to set
- their properties while a visual shader uses a node based workflow.
- If you need to you can convert a visual shader to a text shader.
- However you can't convert a text shader to a visual shader.
- Choose one of them and you can start editing your shader.
- .. image:: img/shader_create.png
- If you create a regular shader click on it and the shader editor will open.
- .. image:: img/shader_material_editor.png
- If you create a visual shader the visual shader editor will open automatically.
- .. image:: img/visual_shader_editor.png
- In the visual shader editor you can click a button and see what your visual
- shader looks like as shader code. This can be useful if you're trying to
- replicate a text shader as nodes, or it can be used as a preview for converting
- your visual shader to a text shader.
- .. image:: img/visual_shader_code.png
- .. note::
- To learn more about visual shaders, read :ref:`doc_visual_shaders`.
- Converting to ShaderMaterial
- ----------------------------
- It is possible to convert from StandardMaterial3D, CanvasItemMaterial and
- ParticleProcessMaterial to ShaderMaterial. To do so, go to the material properties
- and select the convert option.
- .. image:: img/shader_material_convert.png
- .. note::
- Using the convert option will turn the StandardMaterial3D into a ShaderMaterial
- with a text shader, not a visual shader.
|