Skip to main content

January 2025 Progress Report

Reminder: You can access your Supporter rewards on the supporter page.

Shader System Improvements

Shader Graphs

PFM now has a shader graph system, similar to the one in Blender. It's still work-in-progress and not available in any release yet, but the majority of the work is complete.

In a nutshell, the system allows you to create custom shaders using a graph UI editor, to create all sorts of different rendering effects relatively easily and apply them to actors:

burn_shader_graph.gif

 

Some of the key features include:

  • Hot-reloading: You can see any changes to the shader graph immediately.
  • You can add input variables to a shader graph, which can be controlled and animated through PFM.
  • It comes with dozens of pre-made nodes, such as: bright_contrast, clamp, combine_hsv, combine_xyz, gamma, hsv, invert, map_range, math, mix, rgb_to_bw, separate_hsv, separate_xyz, value, vector_math, camera, object, time, image_texture, geometry, sepia, pbr, material_texture, etc.
  • Several pre-made shaders, such as: Pbr, Toon, Black-And-White, Sepia, Burn Effect

Right now the custom shader graphs only work with the Pragma renderer, but I've made sure to consider compatibility with Cycles when implementing the nodes (if you used shaders in Blender, the node types might sound familiar), so I should be able to add support for the Cycles renderer as well in the future.

Some of the things I still have planned are:

  • Support for group nodes, to allow you to re-use node structures in different graphs (work-in-progress).
  • Support for custom post-processing shader graphs.
  • Support for per-material and per-object shader inputs.

 

Toon shader

Part of the new shader updates is also a new toon-shader:

toon_shader_example.png

(Model by WigWoo!)

 

pragma_9JaAkWZW8G.png

(Model by 鍋蓋)

Not all that much to say about it, it's using standard cel shading with outlines. You can use 2-band or 4-band shading, or supply a custom texture for different effects. The shader also has support for matcap textures for different types of lighting, but I don't have a preview of that ready yet.

 

Asset System

Drag-and-Drop Improvements

I've significantly improved the drag-and-drop import for PFM. You can now simply drag entire folders or zip-archives into the PFM interface, and it will automatically import all of the assets, addons, etc. contained within.

FBX Support

glTF is still the recommended format for asset import/export, however.

 

Source Engine Model Export

You can now export models in the Source Engine model format by right-clicking them in the model explorer and choosing "Mdl":

export_source_mdl.png

 

mdlviewer_export.png

 

VR Motion Capture +Controls

 

Hammer Map Compiler for Pragma

 

 

 

 

 

 

Misc

  • Decrease RAM usage
  • OpenGL Fallback Support (Special thanks to SlawekNowy)
  • General load time improvements
  • Runtime speed improvements
  • RAM usage decrease
  • Mixed-font rendering: TODO

 

- Improved mikumikuedance support