NVScene 2015 Session: How to Create Content with Signed Distance Functions (Johann Korndörfer)

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 พ.ย. 2024

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

  • @christopherhodge
    @christopherhodge 5 ปีที่แล้ว +22

    This should really be linked in the video description :)
    here are all the SD functions Johann goes over in the video : mercury.sexy/hg_sdf/
    Great video, and many thanks for putting this together

  • @coolshoos
    @coolshoos 8 ปีที่แล้ว +7

    This guy is a genius.

  • @bufferstroker
    @bufferstroker 9 ปีที่แล้ว +3

    Awesome, thanks heaps for the presentation!

  • @Teturarsyra
    @Teturarsyra 6 ปีที่แล้ว +7

    "remember, you are manipulating the space around the object, and not the object, therefore X-=1 increments object size"
    Actually, you don't have to manually inverse all your transformations when manipulating distance fields (aka implicit surface)
    Just apply the inverse of your transformation matrix:
    TransformedSDF( position ) = SDF( T^-1 . position)

  • @ollllj
    @ollllj 8 ปีที่แล้ว +16

    "remember, you are manipulating the space around the object, and not the object, therefore X-=1 increments object size"

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

    At 6:29, when he flips the cylinder, the distance field values, doesn't look to produce "correct" SDF close to the corners. The corners should be producing rounded fields around the corner, similar to the fBox. In some situations it is not a big deal, but it is usually better to have "correct" SDF, or as close to real distance as possible. Especially for primitives. For operators, it is known that they don't produce SDF, but SDFE (SDF estimate, or bound), which creates a host of problems, and should be avoided as much as possible, as either they can produce artifacts when later using to combine with other SDF or SDFE, and sometimes require special treatment in the ray-marcher or hacks and tricks to get good results. It is acceptable usually, but it is suboptimal. For the cylinder it is possible to do it in 2 or 3 ways, one by doing infinite cylinder and the doing intersection with two half-spaces (two planes, or one using abs to mirror the space; using max or smooth max operator), but that will produce incorrect results, or by doing explicit and exact equation for SDF of a (finite) capped cylinder (with rounded or non-rounded caps). It is a bit more complex but produces more reliable results, and should be used first probably. Check iq's (Inigo Quilez) web site for details. In fact if you look at his website, you will see the rounded caps cylinder is actually a bit easier and cheaper to compute that right angle cap.

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

    thanks a lot for sharing this!

  • @osten222312
    @osten222312 4 ปีที่แล้ว

    I neeeed that program! "Amboss?" It's exactly what I was planning to build

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

    This space warping technique could easily be used to recreate some scenes of Doctor Strange with those fractals and all

  • @DaneMackier_ZA
    @DaneMackier_ZA 9 ปีที่แล้ว +10

    What tool is being used for this demo? And is it publicly available for download?

    • @DaneMackier_ZA
      @DaneMackier_ZA 9 ปีที่แล้ว

      Haniff Din I don't know, couldn't find much about it a online.

    • @JustinPierce01
      @JustinPierce01 9 ปีที่แล้ว +6

      +Dane Mackier mercury.sexy/hg_sdf/

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

      Justin Pierce Sir. You are amazing! thank you. These are all the operations that would be needed and used in this video. Do you know which program they are using to render their distance functions. I've been using shadertoy for a few months, but the program they are using looks a lot better suited for learning. Adjustable input variables and such things would be really nice to have

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

      I am just guessing that they built their own editor.

    • @liyuli3363
      @liyuli3363 6 ปีที่แล้ว

      do you find the program that they used in video?

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

    Is there source code for the program/shader, i can't get the nice floor to look right

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

    I really enjoyed this intro! I am just learning about SDFs and would appreciate any pointers to other tutorial videos, recommended reading, recommended libraries and tools etc you can provide, so I can make more VR experiences like Crystal Vibes (www.crystalvibesVR.com)! I am a physicist originally so thing this is a much better way of rendering than modelling programs which infuriate me.

  • @felipegutierrez3477
    @felipegutierrez3477 6 ปีที่แล้ว

    Seems out of grasp for the theme, but anything relating to anti-aliasing will be very helpful

    • @oj0024
      @oj0024 6 ปีที่แล้ว

      that's very easy to implement
      but a bit slow