Making an Inktober Shader

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ก.พ. 2025

ความคิดเห็น • 113

  • @augustine6683
    @augustine6683 2 ปีที่แล้ว +722

    if the school printer was a shader

  • @UniversalMysteries343
    @UniversalMysteries343 ปีที่แล้ว +277

    "Please let me know what you think in the comments"
    I think more than 2 examples wouldn't kill ya

  • @SuboptimalEng
    @SuboptimalEng 5 หลายเดือนก่อน +24

    Bro spent 9 mins taking about edging and I’m here for it.

  • @shadow_xts
    @shadow_xts 2 ปีที่แล้ว +176

    Great video, it's rare to see this kind of stuff on yt. Cool to have shared the code too! A sweet implementation would to have noise variation at runtime. In that regard blue noise is pretty much prohibitive, but I guess it could be possible to imagine an array of preprocessed seeds of blue noise to make up for the variation without having to compute calculations every frame.

    • @xYAuronYx
      @xYAuronYx 2 ปีที่แล้ว +1

      hi, I'm newbie at graphics. what do you mean by prohibitive? isn't offsetting a blue noise texture enough to give you that variation?

    • @shadow_xts
      @shadow_xts 2 ปีที่แล้ว +7

      @@xYAuronYx blue noise is notoriously expensive to compute and therefore not very suitable, if at all, for realtime. unless you'd compute it beforehand, then apply it to halftone your image. this is what is done here but on static images. if you want to do it over an animated image, the halftoning wouldn't budge; it would just be a static mask over the moving image.
      if you want to avoid the staticness you can either generate noise at runtime or prebake an array of different noise seeds that you will apply in turns over each frame. so it would look like it's moving-textures are expensive too but almost certainly less than computing blue noise. other types of noise, like real white noise, are pretty cheap but they won't give the same quiet and quaint effect.

  • @zlebadev3940
    @zlebadev3940 3 ปีที่แล้ว +67

    Wow! This is literally breathtaking! :D
    Keep it up! ^ - ^

    • @Acerola_t
      @Acerola_t  3 ปีที่แล้ว +11

      thank you so much!

  • @Iskelderon
    @Iskelderon 7 หลายเดือนก่อน +14

    Reminds me of back in university when a class was so boring, we instead huddled together to make a video filter that recreates the Predator thermal vision effect. :D

  • @anderstaylor6694
    @anderstaylor6694 ปีที่แล้ว +2

    I'm a game designer and programmer, and after stumbling on your channel I feel really inspired to dip into graphics programming as well! All of your videos are so good!

  • @velvetgrit6249
    @velvetgrit6249 2 ปีที่แล้ว +8

    Thanks for all the specific terms and including your development logic & studies leading to the final result. It's really helpful.

  • @tjeepert9782
    @tjeepert9782 ปีที่แล้ว +45

    I think the shading would look a lot better(or at least, closer to what it's trying to do) if it were thin dark lines directly next to each other instead of random dots, because that's much more realistic I think

  • @coffeemakir1977
    @coffeemakir1977 2 ปีที่แล้ว +45

    I stumbled across these videos. They are a great perspective shift when thinking how tone/color and the like work. Really helps with art and graphic design too 👍

  • @evannibbe9375
    @evannibbe9375 2 ปีที่แล้ว +128

    I think this would work well for an in-game map of the game world (from the perspective of a camera above the world). This would then give it a hand-drawn feel.
    Having the effect replace the game view camera in general would be a significant downgrade for playability.

    • @KarachoBolzen
      @KarachoBolzen 2 ปีที่แล้ว +24

      I think that last point depends on the game you're shading, honestly. We've seen that it gets less playable if you apply this shader to a random game like journey or cyberpunk, but if you design the entire game knowing that it'll be run through this shader afterwards, you can make creative decisions that preserve clarity. Also, adding some color by means of cel shading or an equivalent alternative would help. There's already games that are hand drawn, like cuphead or neverending nightmares, and 3d games that are cel-shaded, like borderlands, so I believe with some extras this shader could fall into that same category, with the added benefit of actually making every frame look like a hand drawn panel of a comic book/manga, instead of looking like a collage of distinct pictures at best.

    • @myrealusername2193
      @myrealusername2193 2 ปีที่แล้ว +4

      @@KarachoBolzen journey could look really cool with this IMO, as long as the contrast was turned up a decent bit.

    • @Yay295
      @Yay295 ปีที่แล้ว +4

      @@KarachoBolzen Return of the Obra Dinn looks a bit like this shader.

  • @bezceljudzelzceljsh5799
    @bezceljudzelzceljsh5799 ปีที่แล้ว

    You have great videos, most people can't really explain the thought process behind why things are done in computer graphics and you do a really good job of it.
    Not overly explained, not inapplicable theory that just hovers in air, just essentials to get the point across.

  • @Saturn2888
    @Saturn2888 2 ปีที่แล้ว +10

    Finally caught up on all your newer videos from the past 8 months. Excited to see your future HDR videos :D. Color and luminosity are super exciting to me right now because HDR is a whole 'nother can of worms. Since you keep dropping "numbers between 0 and 1" in other videos, and because I know this can unlock secret hidden HDR in older games, I'm super curious.

    • @Acerola_t
      @Acerola_t  2 ปีที่แล้ว +4

      in the next video I go over how I did hdr injection for final fantasy xiv so i hope you like it!

  • @JadenGoter
    @JadenGoter 2 ปีที่แล้ว +7

    This is sick! I'd love to see it in a fancy HDRP scene :D

  • @adammontgomery7980
    @adammontgomery7980 5 วันที่ผ่านมา

    This is cool, I think I'll implement it in an STL viewer I wrote a while back.

  • @jukebox303
    @jukebox303 2 ปีที่แล้ว +2

    Came back to watch this in October! I recently went through all your videos, I love your style :)

    • @Acerola_t
      @Acerola_t  2 ปีที่แล้ว +2

      Thanks! I'll probably be releasing a video similar to this one within the next few videos since I've learned infinite since I made this video lol

  • @klikkolee
    @klikkolee 2 ปีที่แล้ว +7

    The music really reminded me of the music of some parts of Return of The Obra Dinn -- which is very fitting given the game's art style

    • @SanJymy2
      @SanJymy2 ปีที่แล้ว +1

      The music is the Halloween Town world theme from Kingdom Hearts

  • @JTShock
    @JTShock 11 หลายเดือนก่อน

    Love this so much. You videos have genuinely got me interested in learning graphics programming. I love seeing all this math and logic coming together to make something really pretty.

  • @LorrainePenicaud
    @LorrainePenicaud 6 หลายเดือนก่อน

    It is extremely interesting! Thank you for showing your whole process, it really helps !

  • @SuPeRg4meCrAfT
    @SuPeRg4meCrAfT 2 ปีที่แล้ว +1

    This is great,i would've loved to see more examples of the result ,like applying it to a game or something

  • @Maleriandro
    @Maleriandro 2 ปีที่แล้ว +11

    It like Return of the Obra Dinn, i love it!

  • @blacklistnr1
    @blacklistnr1 ปีที่แล้ว +1

    Pretty cool! I was also curious how it looked like in motion. I know Obra Dinn faced a lot challenges achieving such a style.

  • @DrunkenUFOPilot
    @DrunkenUFOPilot ปีที่แล้ว

    Transforming a photograph into artwork looking like ink or watercolor = a great way to spend plenty of time inventing filters! I have a method that involved, I never counted, maybe 60 to 100 steps, lots of parameters, and I've made prints that I've shown in art shows. So much room for variations, nuances!

  • @lobsterboywonder
    @lobsterboywonder 2 ปีที่แล้ว +1

    I fucking love your videos, I know nothing about what you are talking about but the way you combine subtle shit posts into your videos is really amazing. I kinda wish I had you for a professor or something in college.

    • @Acerola_t
      @Acerola_t  2 ปีที่แล้ว +2

      Thanks! In the event all my career ambitions fail I will probably become a professor

    • @christophf8099
      @christophf8099 2 ปีที่แล้ว

      @@Acerola_t lmao, I almost spit out my drink right there haha

  • @DavidRutten
    @DavidRutten 2 ปีที่แล้ว +3

    Upvote from the Future.

  • @TimWalton0
    @TimWalton0 2 ปีที่แล้ว +5

    I think this video deserves more views, so here is a comment to help the algorithm.

  • @moonshell31
    @moonshell31 หลายเดือนก่อน

    this looks sick!

  • @jonathanwilson8809
    @jonathanwilson8809 2 ปีที่แล้ว +2

    hidden gen of a TH-cam channel

  • @Nevetsieg
    @Nevetsieg ปีที่แล้ว

    "Every one bow to the Pumpkin King!" Sorry Acerola, I can't help singing this song in my head while watching your video.

  • @notjordanza
    @notjordanza ปีที่แล้ว +1

    Watching your videos makes me realise that all the maths I was doing in my first two years of compsci wasnt a waste, which gives me mixed emotions lol

  • @vvvorlds
    @vvvorlds 3 วันที่ผ่านมา

    I guess it’s a challenge, but wouldn’t it be more practical to use the whole palette of shaders? The Vertex, Fragment and the Screen combined?

  • @SteveParty11
    @SteveParty11 7 หลายเดือนก่อน +1

    Babe, new acerola video is out.

  • @clex2349
    @clex2349 วันที่ผ่านมา

    School printers:
    “Look what they need to mimic a fraction of our power.”

  • @dopeytree
    @dopeytree 8 หลายเดือนก่อน

    This is so cool!

  • @vilkillian
    @vilkillian 2 ปีที่แล้ว

    cant stop singing "this is aperture" with bg music

  • @_loss_
    @_loss_ 2 ปีที่แล้ว +1

    great work

  • @2iinfinite
    @2iinfinite ปีที่แล้ว

    I’m just happy inkscape works

  • @Franky_PT
    @Franky_PT 2 ปีที่แล้ว +7

    This would be very interesting if it was applied through a fragment shader in unity or opengl

    • @Acerola_t
      @Acerola_t  2 ปีที่แล้ว +17

      It is applied through a fragment shader in unity, just applied to a png that's blitted to the screen in the Unity editor. I haven't tried it out on a real 3d scene though, maybe I'll revisit this effect and try and improve it for October this year.

    • @ShignBright
      @ShignBright 2 ปีที่แล้ว +1

      @@Acerola_t I would love to see games in this style. A lot can be done with this!

    • @wChris_
      @wChris_ 2 ปีที่แล้ว +8

      @@ShignBright take a look at 'Return of the Obra Dinn'!

  • @kebman
    @kebman 2 ปีที่แล้ว

    Hysteresis really freaked me out!

  • @CTSSTC
    @CTSSTC 3 ปีที่แล้ว +1

    2:40 in and I notice the faint background music 👌proper mood; tis the season

    • @Acerola_t
      @Acerola_t  3 ปีที่แล้ว

      I def made the music too quiet in this one lmao

  • @Isirkara
    @Isirkara 6 หลายเดือนก่อน

    love it !! :D

  • @Mobin92
    @Mobin92 2 ปีที่แล้ว +8

    The blue noise pattern is too visible in the stippling.

  • @Mcbuzzerr
    @Mcbuzzerr ปีที่แล้ว

    I love watching these videos from the future

  • @tsraikage
    @tsraikage ปีที่แล้ว

    can you include small gameplays too? i think it would be fun to see, instead of just a single picture. otherwise fantastic video

  • @theonetruefunkmaster
    @theonetruefunkmaster 10 หลายเดือนก่อน

    Acerola? more like Inkerola

  • @gamemaster9268
    @gamemaster9268 7 หลายเดือนก่อน +1

    Acerola sounds so frustrated from mid video on

  • @deltanine1591
    @deltanine1591 6 หลายเดือนก่อน

    Great vid

  • @CathodeRayKobold
    @CathodeRayKobold 2 ปีที่แล้ว +4

    It looks good overall, but your noise texture is too uniform, too robotic. If you had an artist hand-draw different levels of stippling and then overlaid them, you might get something that looks more natural

  • @crunchy7200
    @crunchy7200 2 ปีที่แล้ว +2

    looks great on still images, but does it still work with a moving camera ?

    • @Acerola_t
      @Acerola_t  2 ปีที่แล้ว +9

      Probably not very well lol, you'd do a different approach for a moving camera since in that context you'd have actual scene information and can use depth/normal info for edge detection rather than the image effect edge detection algorithm.

    • @crunchy7200
      @crunchy7200 2 ปีที่แล้ว +2

      ​@@Acerola_t this, and from what I've seen, screenspace textures look pretty bad in motion, you would have to use worldspace projected noise textures like in borderlands or else it's nauseating to play.

  • @bimalpandey9736
    @bimalpandey9736 2 ปีที่แล้ว +3

    Where's the performance police?

  • @jademonas
    @jademonas 2 ปีที่แล้ว +1

    reminds me of obra dinn

  • @simio.espacial
    @simio.espacial 6 หลายเดือนก่อน

    Bro really yapped about edging for eight minutes straight

  • @euclois
    @euclois ปีที่แล้ว +1

    can this be done on blender? the journey image looks amazing

    • @Acerola_t
      @Acerola_t  ปีที่แล้ว +2

      yeah the theory applies to blender, although blender isn't meant to be real time so you can use much higher fidelity techniques with it

  • @kebman
    @kebman 2 ปีที่แล้ว

    3:48 cue Imperial March

  • @trainsfemme
    @trainsfemme 2 ปีที่แล้ว +6

    Why didn't you use the depth pass to calculate edges?

    • @Acerola_t
      @Acerola_t  2 ปีที่แล้ว +8

      Cause the algorithm is intended to run on images not 3d scenes therefore there is no depth.

  • @mark63424able
    @mark63424able 2 ปีที่แล้ว +1

    Couldn't you use normals to determine which fragments are roughly perpendicular to the screen and regard them as edges?

    • @Acerola_t
      @Acerola_t  2 ปีที่แล้ว +2

      If the effect were made for a 3d scene yes, but this effect was made to work on generic images like a photoshop effect.

  • @ΠαναγιώτηςΚ-ε7ν
    @ΠαναγιώτηςΚ-ε7ν 3 ปีที่แล้ว +4

    Amazing tutorial , how do i run the code?

    • @Acerola_t
      @Acerola_t  3 ปีที่แล้ว +7

      I wouldnt recommend running it since it's kind of made for me, but if you download the code you can attach the c# script to the camera and fill out all the public variables and press play.
      I'd recommend just referencing the code if you want to use it yourself.

    • @ΠαναγιώτηςΚ-ε7ν
      @ΠαναγιώτηςΚ-ε7ν 3 ปีที่แล้ว +1

      @@Acerola_t okay , thank you so much

    • @ernestosalvadorsolaresguer1017
      @ernestosalvadorsolaresguer1017 2 ปีที่แล้ว

      @@Acerola_t this is amazing, thanks, I downloaded the code but I'm not able to reproduce your results, any tips?

  • @wChris_
    @wChris_ 2 ปีที่แล้ว +1

    you should play, or at least take a look at: 'Obra Dinn' from the Pope (Lucas Pope)!

  • @user-fc3cz6nh5j
    @user-fc3cz6nh5j ปีที่แล้ว +1

    How would one apply this to an image and what software would it need.

    • @Acerola_t
      @Acerola_t  ปีที่แล้ว +1

      I use Unity, unfortunately a good software for applying shaders to generic images doesn't really exist.

    • @DrunkenUFOPilot
      @DrunkenUFOPilot ปีที่แล้ว

      I do a lot of creative image processing. There are a hundred approaches to this.
      For one-time work, I do things manually in GIMP.
      Anything GIMP can do, PS can do too, afik. One bad thing about manual image processing, doing things step by step is if after 50 steps you realize that a setting you used in step 5 should have been a little different, you may have to ^Z undo your way back, tweak that setting, then re-do the next 45 steps exactly the same. Better to build some sort of pipeline that automatically recalculates all follwing steps if you tweak one of the earlier steps, like how a spreadsheet works.
      For batch processing or ongoing jobs, I write code in Python or Julia. I have a kind of toolbag of routines for sharpening, edge detection, color adjustments etc. Easy to make a pipeline with adjustable parameters. If I need to do something tricky to code but easy to do in GIMP, I write a command line or GUI app in D, C++ or Vala code using GEGL, the core image processing code used in GIMP. Whatever I do manually, I can do this way too. For someone who doesn't mind writing some code but doesn't want to go deep with full-blown applications programming, there's a way to script GEGL operations inside GIMP, even with multi-branched pipelines, so whatever processing you do today you can save to re-use later.
      I might experiment in Blender where the input image is just a flat rectangle and processing is done with material nodes, but most of that is point operations, no blur or unsharp or median filters. But I can replace a still image with a video texture.
      There are some GUI apps that let you drag nodes around and wire them up in intricate ways, like the nodes in Blender or other 3D apps. TouchDesigner had something like that, and you could write custom shaders in code, but I haven't used it in a while.
      Unreal is the king of the graphics tool world, as it has everything. I'm not familiar with its image processing capabilities, if you want to do advanced algorithms but not be doing any 3D. Something I need to play with one of these days...
      For scientific work in astronomy, I write code in IDL, a cuss-worthy language based on a horrid mishmash of C, Fortran, BASIC, Matlab and outer space alien. But everyone's been pushing for more Python and somewhat also for Julia. Avoid IDL!

  • @bzauda1
    @bzauda1 4 หลายเดือนก่อน

    would it work in maya autodesk's arnold?

  • @kireitonsi
    @kireitonsi ปีที่แล้ว

    POV: Return of the Obra Dinn

    • @Acerola_t
      @Acerola_t  ปีที่แล้ว +1

      Return of the obra dinn looks much diff but yeah they do use blue noise for half of their dithering so the pattern is similar.

    • @kireitonsi
      @kireitonsi ปีที่แล้ว

      @@Acerola_t it does look different but it’s similar in the stylised shading

  • @victorff111
    @victorff111 2 ปีที่แล้ว

    I still don't know how to make it .-.

  • @s3nju279
    @s3nju279 หลายเดือนก่อน

    i downloaded the project from the git how do i get this to work. what do I use for the Ink Texture?

  • @antipainK
    @antipainK 2 ปีที่แล้ว +3

    Why didn't you show it running on an actual video footage? Is the performance that awful?

    • @Acerola_t
      @Acerola_t  2 ปีที่แล้ว +4

      Cause I didnt have a good scene to apply it to at the time, hence why it's intended as an image filter. No, the performance isnt that awful considering the canny edge detection filter is pretty much the first stage of FXAA.

  • @sohankaushik7
    @sohankaushik7 9 หลายเดือนก่อน

    That is really cool , but when I imported the packages the effect does not work. I look at the inspector panel the slots of images were empty , am i missing something or should I need to mess with post processing??
    Plus: I'm getting some gradient loop error!

  • @JibreelProductions
    @JibreelProductions ปีที่แล้ว

    Trying to implement it, but tbh i'm kinda lost, you added the paper texture, but i don't see the ink texture, and also idk how to make it all into a material and when i add the script into an object it moves my camera and makes it go invisible xD.
    What am I doing right?

  • @ClarkPeppermint
    @ClarkPeppermint 2 ปีที่แล้ว

    Can you tell me how to use this pls im new to unity

  • @6884
    @6884 2 ปีที่แล้ว

    omg please tell me that at 3:11 is not a SHIFT...

  • @darkbf8493
    @darkbf8493 5 หลายเดือนก่อน

    Can someone please tell me how to apply the code into Unity. I am a total beginner. Thanks.

    • @AikaterineG
      @AikaterineG 2 หลายเดือนก่อน

      There is a link to this github repository in the description. I'm not sure about it, but I think Assets/Ink.shader works by itself, so just copy (if it dont work download the whole repo).

  • @Jadinass
    @Jadinass ปีที่แล้ว

    Sir. Sir... Sir. Did you notice that the image of an arrow you are using is not actually transparent?

  • @kebman
    @kebman 2 ปีที่แล้ว

    Wouldn't the noise shift around on video? How do you keep the noise from shifting around?

    • @Acerola_t
      @Acerola_t  2 ปีที่แล้ว +3

      This effect wasnt mean for video, just still images

  • @azmyadzkiansyah279
    @azmyadzkiansyah279 ปีที่แล้ว

    You're making the kind of videos nobody else makes and I really love your content but for the love of god please normalize your audio. I practically get a jumpscare after turning up my volume too much

    • @Acerola_t
      @Acerola_t  ปีที่แล้ว

      yeah sorry these older videos arent as good

  • @Krilium
    @Krilium 2 ปีที่แล้ว

    Makes an awesome shader but doesn’t show it in motion, or show it off in depth :’((
    Gimme the cool footage nerd

    • @Acerola_t
      @Acerola_t  2 ปีที่แล้ว +1

      It wasn't made to be used in motion, it was made to operate on still images so that I could use it for making assets.