To match the style of low poly pixel textured art, I would like to render shadows onto other meshes (at the very least a flat ground plane) with shadow values snapped per pixel of the UV of other textures (for simplicity let's assume all pixels are a uniform size). From my research it doesn't seem possible to perform any task like this in a Shader Node, or even to write a custom GLSL shader to interact with lighting non-trivially in vanilla Blender. Can anyone point me towards a pragmatic solution: I'm not particularly interested in modifying Blender's source code for this and I would prefer not to export to a game engine to render everything.

Update: Here is an example of the per texel lighting I'm talking about

Per texel lighting

  • $\begingroup$ Kind of like how minecraft looks with smooth lighting turned off? $\endgroup$ Mar 24 at 2:36
  • $\begingroup$ Sort of, Minecraft without smooth lighting is just per tile lighting. I'm looking for something more like twitter.com/i/status/1372645926569873409 $\endgroup$ Mar 24 at 2:42
  • $\begingroup$ Does the texture of your existing pixel art actually use one texture pixel per pixel-art "pixel" ? If not and you're rendering your shadows into an existing high-resolution texture then you might be able to render into a lower-resolution target instead... $\endgroup$
    – A C
    Mar 24 at 2:43
  • $\begingroup$ Could you screenshot the video from the twitter post you linked and edit your question to include it? Can't view it currently. $\endgroup$ Mar 24 at 2:48
  • $\begingroup$ @AC When I say render I mean ideally this would be visible in the 'rendered' mode of the 3D viewport. $\endgroup$ Mar 24 at 3:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.