CurseForge · Minecraft mod
Canvas Renderer
Advanced Rendering Engine for Fabric
Quick answer
Which Canvas Renderer release should I use?
Canvas Renderer canvas-fabric-20.2.2641.jar targets 1.20.2 with Fabric, Quilt. The project page does not say whether it belongs on the client. The project page does not say whether it belongs on the dedicated server. No extra mods listed for this file.
Where it goes
Is Canvas Renderer required on the client, server, or both?
The project page does not say whether it belongs on the client. The project page does not say whether it belongs on the dedicated server.
The source does not explicitly classify this release as client-only or server-only.
What else does Canvas Renderer canvas-fabric-20.2.2641.jar need?
canvas-fabric-20.2.2641.jar. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
We only count dependency files that match this setup. A file for another loader does not fill the gap.
Before you install it
Add Canvas Renderer without breaking your instance.
Built for Canvas Renderer canvas-fabric-20.2.2641.jar. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use canvas-fabric-20.2.2641.jar. It targets 1.20.2 with Fabric, Quilt; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
The project page does not say whether it belongs on the client. The project page does not say whether it belongs on the dedicated server.
- 04
Pick the file you checked
Use the “Get this file” button beside canvas-fabric-20.2.2641.jar. It opens that exact file at the source.
About this project
What does Canvas Renderer add?
IMPORTANT: Canvas is in an extended BETA. Expect missing features and bugs.
All new development is targeting MC 1.17. No new features or improvements will be added for 1.16.
Visit Grondag's Discord for news, dev snapshot builds, and planned features: Discord: https://discord.gg/7NaqR2e
Help me buy test equipment on Ko-Fi: https://ko-fi.com/grondag
What is Canvas?
When people first hear about Canvas they often ask if it is a performance mod or a replacement for Optifine / shader packs. The answer is "no, but..."
Optifine and shader packs primarily target vanilla Minecraft. They work with modded, often well, but they aren't designed as tools for *mod authors*.
Canvas' main purpose is to give mod authors more control and options for rendering modded blocks. It can also be used for building shader packs, but the design is entirely different than OF and does not yet support all the features needed for a full shader pack implementation. Unlike OF shader packs, Canvas shader packs can be mixed together by adding multiple resource packs.
How is Performance?
Performance-wise, Canvas tries to be be faster than Vanilla with extended features. It is optimized heavily - but the intent of these changes is to make better rendering practical, not to be a general-purpose performance mod. It isn't meant to run on low-end hardware and may or may not make your game run faster overall.
Canvas will try to fully use your hardware and will not be timid about it. It wants at least 4GB and will push both your CPU and GPU. It will stress your cooling system.
If you're looking to max performance with Canvas, the config menu tool tips indicate which features can help. Bloom is especially expensive at high resolutions. But bloom is also fun to look at, so.... your call.
More optimizations will be added after a stable release.
Playing with Canvas
Add Canvas to your mods folder and make sure you have recent versions of Fabric Loader and API, plus at least 4GB of memory allocated to Minecraft. An in-game config menu is available in video options, or via Mod Menu if you have it installed.
Is Canvas Compatible with Sodium?
This question gets asked a lot. Canvas and Sodium will never be compatible because both mods more or less replace the rendering engine. Both mods will give you better rendering performance than Vanilla/Indigo but Sodium is significantly faster with most hardware and drivers.
Sodium and Canvas serve different purposes and audiences. Sodium is a performance mod that uses shaders to optimize and also offers some nice visual improvements. Canvas is a shaders mod with enough optimization to give good performance.
Canvas has extensive optimizations and more are being added - but the gains are used to support new features. You could turn off all the aesthetic features of Canvas and it would be an OK optimization mod, but then you'd probably be better off using Sodium. Sodium's existence has improved Canvas by allowing me to focus on features and not also try to accommodate users who mainly want performance improvement
If you're playing with mods that use the Fabric rendering API or want the visual improvements that are being added to Canvas then try Canvas. (Sodium will eventually support the rendering API also.) If you don't need those and want the best possible performance then you should try Sodium.
No matter which renderer you choose, you should definitely be using other optimization mods available from CaffeineMC: Lithium and Phosphor. Canvas is compatible with both.
Are Optifine shaders be compatible with Canvas?
No. Canvas shaders are more modular and also more tightly integrated with the renderer to provide control for mod authors that want to use shaders for their content. When Canvas is feature complete, some existing shaders could probably be ported with moderate effort.
"Some" and "probably" are in that last sentence because Canvas will necessarily make some choices about the pipeline design that may force a rethink of current approaches, though I aim to make it as flexible as possible.
Does Canvas allow third party shader development?
Yes, third parties are encouraged to write shaders for Canvas. The shaders are just assets. However the structure of the shader code is more modular and the setup is different.
For example, Canvas lets you define materials and assign those to quads either via JAVA or using a JSON block : sprite : material maps. Each material can have separate shader functions. This can be done piece-wise - different mods or resource packs can contribute different/partial shaders and material maps. Canvas invokes the appropriate shader functions automatically for each quad.
However, I don't expect third-party shaders to be available until Canvas is more feature complete. Canvas does however come with a default shader pack that currently adds a bloom effect for most emissive blocks and wavy foliage was just added. More is coming soon.
Update: there is now a resource pack that adds support for some Canvas features (bloom, mostly) to other mods:
https://www.curseforge.com/minecraft/texture-packs/more-canvas-compat/screenshots
The Traverse and Terrestria biome mods also support wavy grass.
Mod Authors and Pack Makers
- There isn't much documentation yet, but see the canvas Wiki for information on creating custom shaders: https://github.com/grondag/canvas/wiki
The discord is also a good resource.
Finding Bugs
I test Canvas on OSX, Windows 10 and Ubuntu 18.04.2. I do not have the means to test on many hardware/OS combinations so bug reports are appreciated. Please include full logs.
Project description from CurseForge.
Pick your setup
Canvas Renderer by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
1.20.2
2 loader builds1.20
2 loader builds1.19.4
2 loader builds1.19.3
2 loader builds1.19.2
2 loader builds1.19
1 loader build1.18.2
2 loader builds1.18.1
1 loader build1.18
1 loader build1.17.1
1 loader buildCheck the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
Canvas Renderer versions and loaders
canvas-fabric-20.2.2641.jar
21 Jan 2024
canvas-fabric-20.2.2640.jar
16 Jan 2024
canvas-fabric-20.0.2625.jar
16 Jan 2024
canvas-fabric-20.2.2628.jar
15 Oct 2023
canvas-fabric-20.0.2620.jar
14 Oct 2023
canvas-fabric-19.4.2590.jar
28 Jun 2023
canvas-fabric-19.3.2607.jar
28 Jun 2023
canvas-fabric-19.2.2614.jar
28 Jun 2023
canvas-fabric-18.2.2621.jar
28 Jun 2023
canvas-fabric-20.0.2612.jar
11 Jun 2023
canvas-fabric-19.4.2586.jar
29 May 2023
canvas-fabric-19.3.2602.jar
28 May 2023
Looking for an older file? The official CurseForge project page is in Resources.