Visual Tech Art
Perceptual Tonemapper - Open Beta
updated
Then we'll build up to a new Cel Shading approach that doesn't break physically based rules. Following with few sample tricks to improve the image and re-purposing elements as the outlines to work better with this new concept.
__________________________________________
Videos mentioned:
Substrate Intro Breakdown: youtu.be/AgVedkJUEyA
Outline Shader 1: youtu.be/Ptuw9mxekh0
Outline Shader 2: youtu.be/UWQonxtG10g
Intro to PB Lighting: youtu.be/vbMvkEITTmo
Intro to PB Lighing - Follow-up: youtu.be/yhu-QoEgHUo
__________________________________________
Download Sample Project:
Physically Based Cel Shader: jumpeter.gumroad.com/l/VTA_PBCelShader
Outlines Filter: jumpeter.gumroad.com/l/VTA_LaplacianFilter
__________________________________________
Join Discord: discord.gg/YvXq3t675Q
Support me on Patreon: patreon.com/VisualTechArt
__________________________________________
Gimli and Legolas models have been made by Gianluca Squillace: artstation.com/artwork/d0kyNx
Full Playlist: youtube.com/playlist?list=PLeZBLcP_xVMj9_CnnbrAwI_InfEwwVqac
=============================================================
Remember to join my Discord to have a direct channel of communication with Eros!
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
=============================================================
EROS CONTACTS:
LinkedIn: linkedin.com/in/eros-dadoli-642777122
Artstation: artstation.com/aerys97
Instagram: instagram.com/dadoli123
=============================================================
TIMESTAMPS AND LINKS TO RESOURCES MENTIONED:
Previous Video: youtu.be/Cq5H59G-DHI
Download: jumpeter.gumroad.com/l/tri-penta-enna-planar
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
Full Playlist: youtube.com/playlist?list=PLeZBLcP_xVMj9_CnnbrAwI_InfEwwVqac
=============================================================
Remember to join my Discord to have a direct channel of communication with Eros!
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
=============================================================
EROS CONTACTS:
LinkedIn: linkedin.com/in/eros-dadoli-642777122
Artstation: artstation.com/aerys97
Instagram: instagram.com/dadoli123
=============================================================
TIMESTAMPS AND LINKS TO RESOURCES MENTIONED:
00:00 - Intro
1:23 - Eros Presentation
The controversial Meerkat re-lighting: youtube.com/watch?v=NHGIE2jM7yU
Meerkat re-lighting Breakdown: youtube.com/watch?v=C3yiGwlwGzc
8:49 - Format Overview
12:01 - What's a Lighting Artist?
18:16 - VTA Light setup
21:31 - Eros Light setup start
26:13 - PBL and tonemapping
35:34 - Local exposure and light perception
Lottes Tonemapping Presentation: gdcvault.com/play/1023512/Advanced-Graphics-Techniques-Tutorial-Day
37:52 - PBL Values and Camera Exposure
God of War Local Exposure Research: bartwronski.com/2016/08/29/localized-tonemapping
Unity Physical Lights Values: docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@14.0/manual/Physical-Light-Units.html
46:14 - Base Color importance
52:04 - Raw image manipulation
52:05 - Cons of not using a PBL approach
56:17 - A hint about Human Eye Exposure Behaviours
59:05 - Game Test Case Scenario
1:06:17 - Discord Server Q&A Announcement
1:08:25 - Intro to the "Lighting for Cinematics" section
1:09:33 - Performance Check
1:13:15 - Overview of the PBL setup
1:21:27 - Start of the 3 Point Light Setup
Cinemill lights: cmc-lighting.com
1:31:17 - Real Photography Comparison
1:36:58 - The concept of Rim Lighting and Silouhette
1:39:46 - What's a 3 Point Light Setup?
1:42:24 - Finish up the Light Setup
1:46:52 - Usage of the Fill Light for Specular Details
1:50:42 - Tuning Lights when working with PBL
1:54:09 - Final Post-Processing on the Final Image
2:03:08 - Final Thoughs
2:04:26 - Info regarding the next episode and Outro
We discuss it's properties, advantages and shortcomings. Then we build on that to create some new and better tech to fit it on the landscape material.
Download: jumpeter.gumroad.com/l/tri-penta-enna-planar
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
Gimli and Legolas models have been made from Gianluca Squillace: artstation.com/artwork/d0kyNx
Become a Patreon for a discount ;)
Comic Dots Filter Sample Project: jumpeter.gumroad.com/l/InkPrintDots
Cross-Hatching Sample Project: jumpeter.gumroad.com/l/VTA_CrossHatching
Outline Post Process: jumpeter.gumroad.com/l/VTA_LaplacianFilter
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
Related Videos:
Outline Post Process - Part 1: youtu.be/Ptuw9mxekh0
Outline Post Process - Part 1.5: youtu.be/UWQonxtG10g
Cross-Hatching Post Process: youtu.be/3Q6Ik1V75I8
Gimli and Legolas models have been made from Gianluca Squillace: artstation.com/artwork/d0kyNx
Become a Patreon for a discount ;)
Cross Hatching Sample Project: jumpeter.gumroad.com/l/VTA_CrossHatching
Outline Post Process: jumpeter.gumroad.com/l/VTA_LaplacianFilter
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
Related Videos:
Outline Post Process - Part 1: youtu.be/Ptuw9mxekh0
Outline Post Process - Part 1.5: youtu.be/UWQonxtG10g
Voronoi Intro: youtu.be/muUAks1i8BI
Advanced Voronoi: youtu.be/pxouMOxGi6E
Since I saw Spider-Man: Across the Spider-Verse at the cinema I really wanted to try out few things that might lead towards a real-time reproduction of that amazing style.
Here I managed to reach a satisfying result, given the time I put in, even though there would be much more work to do to make it actually good.
Anyways this was a nice inspiration for some future tutorials I now have in mind and for further explorations :)
Of course the scene I used is from the cinematic Slay, which is a free sample project, not stuff I personally made.
And yes, I really need to upgrade my hardware.
______________________________________________________
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
We try to analyze everything as best as we can and make our own conclusion about how a new generation material pipeline might work.
The test shader you see in this video can be found on my Patreon.
______________________________________________________
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
This is a universal topic that applies to every software that allows you to play with shaders: Unreal Engine 4, UE5, Unity, Godot, Blender, Shadertoy, you name it!
The uv mappings I explain are the cylindrical, the spherical and one that as far I know I've invented while working at this video, which I called "blanket" mapping :)
A sample UE5.1 project containing the scene you see at the beginning of the video is available to download for my Patreons!
Other videos of mine I mention during this video:
Planar Mapping: youtu.be/13Br0xNZMBw
Triplanar Mapping: youtu.be/5z18ZJaCUOM
Texture Tiling Breaker: youtu.be/oX2G5zYU_7Y
Fish Eye Lens Post-Process: youtu.be/Fwsv45Xzj5Y
----------------------------------------------------------------------------------------------
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
This is a follow up of the first video of a series I want to make about transforming 3D renders in "hand-drawn" images.
It's a topic that always fascinated me quite a lot and I had the opportunity to work quite intensively on in the past year.
Here we go through the "standard practice" for making an outline art stylized Post Process Material. A perfect match for a Studio Ghibli, Toon or Cel Shading style type of rendering!
Gimli and Legolas models have been made from Gianluca Squillace: artstation.com/artwork/d0kyNx
Want to download the Custom Node?
There you go: jumpeter.gumroad.com/l/VTA_LaplacianFilter
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
This video explores the technical aspects of shaders and graphics in Unreal Engine 5, but these concepts are valid in any game engine that uses textures (all of them :D).
The focus is on the topic of filtering, specifically the differences between bilinear and bicubic filtering. The underlying mathematical concepts of bilinear filtering are discussed, as well as how it is used to smooth out textures.
Than we explore the concept of bicubic filtering and how it takes this technique to the next level.
The code behind these filters is analyzed, and a demonstration is provided on how to implement them in Unreal Engine 5 projects.
This tutorial provides valuable insights on how to connect art, math, and code, and viewers will gain a deep understanding of bilinear and bicubic filtering and how to use them to enhance video game graphics.
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
Even though I bring the example of DDS files and Unreal Engine, this tech is used in every real time engine and videogame.
The texture I show in this video is extremely useful for every environment and character artist who wants to be sure the content they create is performant.
You can get the MagicTexture™ here: jumpeter.gumroad.com/l/TextureSizeChecker
Link to the NVidia plug-in for Photoshop: developer.nvidia.com/nvidia-texture-tools-exporter
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
It is done in Unreal Engine 5, but can be applied everywhere (UE4, Unity, Godot, Shadertoy and whatnot, your choice).
At the same time we also look at some more ways to make a plane billboard, as a followup of my previous video on that topic.
The shader will be available for my supporters on Patreon.
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
It's a topic that always fascinated me quite a lot and I had the opportunity to work quite intensively on in the past year.
Here we go through the "standard practice" for making an outline art stylized Post Process Material. A perfect match for a Studio Ghibli, Toon or Cel Shading style type of rendering!
Gimli and Legolas models have been made from Gianluca Squillace: artstation.com/artwork/d0kyNx
Want to download the Custom Node?
There you go: jumpeter.gumroad.com/l/VTA_LaplacianFilter
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
How that would look like and what how the shader should be to make it into a fully fledged material?
This is essentially an unconventional incipit to discover few tips and tricks to do cool stuff like deriving a Normal map from an Height map, learn how Colour Picking is done and how to manipulate gradients with math, to some extent.
======================================================
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
I'm thinking about implementing this in Sunstance Designer or Shadertoy too, in the future, if you're interested (let me know in the comments or in my Discord Server).
Previous Voronoi Tutorial: youtu.be/muUAks1i8BI
Smooth Min&Max Tutorial: youtu.be/4SWQMVJ6a3M
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
A downloadable package of this Voronoi is coming in the near future, stay tuned :)
They come handy every time you want to pass through the highest or lowest value, but also blend them together to not have a sharp seam.
My explanation is done in Desmos and the implementation un Unreal Engine 4, but as always this stuff is perfectly valid for UE4, UE5, Unity, Godot, etc ;)
You can see this videos for a practical use case:
Height Blending: youtube.com/watch?v=hdjRNT3DGTM
To download the Material Functions for UE4 you can follow this link: jumpeter.gumroad.com/l/SmoothMinMax
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
Inigo Quilez's blog page: iquilezles.org/articles/smin
Thanks for watching and see you next time! :)
Here I illustrate my personal take on getting a realistic and good looking wind animation for the grass. As always I'm more than open to any feedback and discussion, so feel free to express your thoughts in the comment section :)
This scene can be downloaded here: jumpeter.gumroad.com/l/HyperRealGrassWind
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
00:00 - Intro
00:10 - Listing out the rules to my approach
01:22 - Explaining the basic idea
04:55 - Working out the math for the bending deformation
15:40 - Giving a thickness to the segment
21:25 - Moving to Unreal (?) ... adding the 3rd dimension
25:00 - Wrapping up the final formulas and copying them to UE
27:46 - Improving the visual quality
36:45 - Animating the wind
44:55 - Adding randomness
48:45 - Final thoughts and a challenge for you
It's just an opportunity to discuss few topics that are quite difficult to introduce in a standard tutorial, really.
The website I used to see the compiled shader is shader-playground.timjones.io
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
00:00 - Intro
01:33 - Function Walkthrough
04:25 - Function Optimization
11:42 - Function Result Analysis
12:42 - Next Video Topic
Voronoi is a powerful tool to simulate an infinite variety of natural materials, create sci-fi looking surfaces and much more!
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
00:00 - Intro
01:06 - What's a compute shader
01:53 - Components of a Niagara System
02:48 - Data available to Niagara Modules
03:10 - Order of execution of Niagara Components
03:33 - What's the Namespace system in Niagara
04:07 - Engine Provided variables
04:25 - User variables
04:43 - Niagara Parameter Collection variables
05:11 - Transient variables
05:53 - Stack Context variables
06:17 - Which are the Niagara simulation stages
06:54 - How Spawn and Update stages work in Niagara
07:27 - The Settings sections in Niagara System and Emitters
07:47 - How to change the simulation from CPU to GPU
07:53 - What's the Event Handler section
08:15 - Render Stage in Niagara
08:33 - How to code in Niagara
08:46 - The basic building blocks
09:14 - How to read variables in Niagara
09:23 - How to write comples operations in Niagara
10:00 - How to write HLSL in Niagara Modules
10:24 - How to read variables in HLSL inside Niagara
10:34 - Building Niagara Modules with the Scratch Pad
11:10 - How to add custom HLSL code in Niagara
11:45 - Module Input variables
11:50 - Local variables
11:57 - What are Namespace Modifiers in Niagara
13:00 - Outro
We briefly look at the characteristics of the depth pass, we see how to build and apply a weighted average, what's the basic idea behind the ray casting and acquire some knowledge about texture filtering and many more things.
As always I'm more than open to feedbacks and to discuss ideas in the comment section.
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
Here we go through two methods of building a camera facing behaviour for our planes. This is extremely useful if we want to create billboards or a ton of other effects, not to mention the many lighting features we can fake.
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
The main topics touched are Translation, Rotation, Scale, Complex Movements, Timings.
At the end of the video there's a bit of discussion about the strengths and weaknesses of this animation approach.
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
In this video I go through the development of a Post Process Material that simulates the look of a worn out VHS tape.
It is achieved 100% procedurally, without using any textures, thanks to the heavy use of the Vector Noise node, of which this video gives a bunch of useful application examples.
Link to download: jumpeter.gumroad.com/l/VlryY
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
The video is divided in several chapters, each one contains an element of the effect:
0:00 - Intro
0:47 - Scene Sampling (basics of a Post Process Material)
1:58 - Chromatic Aberration
5:45 - Tiny Blur
6:47 - Horizontal Intermittence
7:33 - Colour Correction
8:57 - Image Noise
11:07 - Colour Degradation
13:09 - Flagging
16:35 - Tape Degradation
19:23 - Outro
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
Link to Substance Designer Node mentioned in this video: gumroad.com/jumpeter?sort=newest#iTQPmo
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
I go through the building of a weather reacting material, starting from a dry condition and procedurally calculating the wet one.
This approach takes inspiration from how Naughty Dog approached the same problem when developing the Uncharted games.
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
This can come handy when working with world aligned textures and multi layered materials.
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
This video supposes that you already know the stuff explained in these videos:
- youtube.com/watch?v=13Br0xNZMBw
- youtube.com/watch?v=4RFvjpvtVKY
Check them out if you're lost :)
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
This video is a follow-up of my older one: youtu.be/qvTL6Brfkpc
Check it if you're missing something I don't explain here.
You can use this to obtain a better quality on your landscape material, especially if you're using Megascans textures, since they always come with an heightmap.
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
The blog page quoted in this video: blog.selfshadow.com/publications/blending-in-detail/index.html
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
While the first step is pretty straightforward, this technique needs some more knowledge to be pulled off correctly. Usually the explanation stops at the computed UVs, but the shader requires some additional shrewdness to work properly.
The concept is explained in Unreal Engine 4's Material Editor but is valid everywhere.
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt
Discord: discord.gg/YvXq3t675Q
Patreon: patreon.com/VisualTechArt


