Loading...
Beta Modpages Unclaimed

Canvas Renderer

Advanced Rendering Engine for Fabric

0 Likes
205671 Downloads
Created by GrondagTheBarbarian

Description

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

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.   

 

 


AD Become Premium to remove Ads!

What means Verified?

  • Compatibility: The mod should be compatible with the latest version of Minecraft and be clearly labeled with its supported versions.
  • Functionality: The mod should work as advertised and not cause any game-breaking bugs or crashes.
  • Security: The mod should not contain any malicious code or attempts to steal personal information.
  • Performance: The mod should not cause a significant decrease in the game's performance, such as by causing lag or reducing frame rates.
  • Originality: The mod should be original and not a copy of someone else's work.
  • Up-to-date: The mod should be regularly updated to fix bugs, improve performance, and maintain compatibility with the latest version of Minecraft.
  • Support: The mod should have an active developer who provides support and troubleshooting assistance to users.
  • License: The mod should be released under a clear and open source license that allows others to use, modify, and redistribute the code.
  • Documentation: The mod should come with clear and detailed documentation on how to install and use it.

AD Become Premium to remove Ads!

How to Install

1

Download Forge & Java

Download Forge from the offical Site or here. If you dont have Java installed then install it now from here. After Downloading Forge you can run the file with Java.

2

Prepare

Lounch Minecraft and select your Forge istallation as Version this will create a Folder called Mods.

3

Add Mods

Type Win+R and type %appdata% and open the .minecraft Folder. There will you find your Folder called Mods. Place all Mods you want to play in this Folder

4

Enjoy

You are now Ready. Re-start your Game and start Playing.

More Mods like this

Quark

A Quark is a very small thing. This mod is a collection of small things that improve the vanilla minecraft experience.

Chisel

A builder's best friend.

Better Advancements

Successor to BetterAchievements for the new advancements system in minecraft 1.12+

Cosmetic Armor Reworked

This mod allows you to wear two sets of armor, one for display, one for function.

Macaw's Doors

Adds vanila doors with every wood color and new unique doors!

MalisisDoors

New animations for doors. You can build you own doors with millions of possibilities!

Macaw's Roofs

Build roofs with actual roofs instead of stairs!