Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I'd like to contribute 4 new node groups, 2 new ones and 2 of which are somewhat updated/altered versions of existing ones. I have also provided example files for each effect as required.
Vertex Lighting (geometry nodes)
Calculates old school per-vertex lighting on an object in relation to another object that will act as the light source. Provides control over a number of parameters such as colour, intensity, falloff, specular, shadows, etc. The result is written to the target object's colour attribute. Instances of the geometry nodes modifier can be stacked to support multiple light sources. It is advised to subdivide your geometry for best effect, particularly if your model has a lot of planar elements.
PS1 Texture Warp (geometry and shader nodes)
This reproduces affine texture mapping as seen on the PS1 by effectively undoing Blender's built-in perspective correction. Requires adding a geometry node and a shader node. First you need to hook up the geometry node to the target object and input its UV map attribute. Then assign the object a material with a texture input as you normally would, but pass the UV map attribute through the texture warp node before passing it on to the texture node.
PS1 Vertex Snap V2 (geometry nodes)
Performs vertex snapping in a manner that is closer to actual PS1 hardware, snapping vertices to the screen-space pixel grid. You can configure the simulated resolution of the pixel grid to modify the effect, or you can add drivers to the node inputs for easy synchronisation with your camera and render settings.
Pattern Dither (compositor)
Applies ordered dithering to each RGB channel in the render with an option to reduce to the channel-wise colour depth, as well as an option to choose from different pattern sizes. This allows for dithering of arbitrary full-colour renders. You can also input your own dither pattern instead (be sure to set the Pattern input value to 0 to enable the use of custom dither patterns).
Please let me know of any bugs, comments, or issues :)