Texture Sampling #1: Points & Borders

Поділитися
Вставка
  • Опубліковано 28 гру 2024

КОМЕНТАРІ • 135

  • @stephenelliott7071
    @stephenelliott7071 Рік тому +109

    Great to see you back and yes more regular content split over 2 or more videos given your new circumstances is a perfect compromise.

    • @javidx9
      @javidx9  Рік тому +37

      Thanks, that is reassuring to hear!

    • @witokija
      @witokija Рік тому +3

      @@javidx9 I agree with above! Sounds like a perfect plan to me. Hope x10 and the rest are doing well!

    • @karolisr
      @karolisr Рік тому +4

      I’m just happy you do them. You have an exceptional ability to present these relatively complex topics in an accessible manner. Thank you!

    • @hinoshimizu8351
      @hinoshimizu8351 Рік тому +2

      True, glad to see you in 2023 :D

    • @Colonies_Dev
      @Colonies_Dev Рік тому

      @@javidx9 why spend the first 10 min explaining basic UV space concepts tho ;-; i thought we were gonna do different types of interpolation

  • @inlandchris1
    @inlandchris1 Рік тому +4

    Glad to see you back at any duration of time, thank you for your time

  • @jeffdowling1682
    @jeffdowling1682 Рік тому +4

    After watching the nes emulator videos and learning pge I am hooked so any content is better than none. I have been working on a snes emulator to get better at coding. Had to start over a few times after learning something new(like being able to define a 24bit uint). After hitting outside of the nes scope I am completely lost and maybe get a few lines of code written a day with the rest of my time researching and figuring out what needs to happen. It’s frustrating as heck so having a short video to distract me while still helping me learn is great. Thanks for making learning to code approachable to new programmers like me.

  • @duncangibson6277
    @duncangibson6277 Рік тому +9

    And Javid is back with a new series of educational videos. Brilliant!
    Looking forward to the rest of the series.

  • @KerboOnYT
    @KerboOnYT Рік тому +2

    I subbed because I find your content interesting. Whether it's one video a year or one video a week I'll still be here watching. Cheers from Missouri, USA

    • @javidx9
      @javidx9  Рік тому +1

      Hey thanks Kerbo!

  • @medicallyunexplainedsymptoms
    @medicallyunexplainedsymptoms Рік тому +1

    Videos this length are perfect for lunch-break viewing, so it works for me.

  • @michipeka9973
    @michipeka9973 Рік тому +16

    Great stuff, I like the shorter format.
    However, an actually useful "mirror repeat" does not behave this way in most DCC softwares or 3D engines. If you plot the UV coordinates in both axes they should be akin to a triangle wave in every directions and not a sawtooth (I don't know if I'm clear).

  • @wowLinh
    @wowLinh Рік тому +1

    It's been a long time since I come back to seeing your videos... and oh boy do I regret it. You keep on amazing me. Impresive videos and very well explained. I learn a lot!!! About the specific question you make, I am quite happy to see shorter videos. I do not mind having a long topic being split into different videos.

    • @javidx9
      @javidx9  Рік тому

      oof an original OLC! I think there's still a GitHub issue from yourself lol!

  • @lephobix
    @lephobix Рік тому +1

    I love to hear "more frequent videos"! I don't care how long they are. I just always find your videos to be very interesting and enjoyable, no matter how long the videos are. Good to have you back😁

  • @flo-plus
    @flo-plus Рік тому +1

    I‘m glad that new content is coming:)

  • @DaTux91
    @DaTux91 Рік тому +2

    Good to see a wonderful new video from you!
    I, for one, am very happy to see somewhat regular content in more bytesize chunks, if you'll pardon the pun.

  • @RichardSmithers
    @RichardSmithers Рік тому +1

    Good to see you back. Hope all is going well with the family.

  • @jhfoleiss
    @jhfoleiss Рік тому +6

    I'm glad you're covering texture mapping! This is a topic that computer graphics books and courses usually treat as trivial, thus good educational materials are scarce. Any chance you'll be explaining to us how to map textures to non-rectangular quadrilaterals?
    Thank you very much for these amazing videos!

  • @imaymakesomevids
    @imaymakesomevids Рік тому

    30 minutes is a good length, good to see you back!

  • @diontarrant5805
    @diontarrant5805 Рік тому +6

    Man all your videos are great, I've learnt so much about programing from them

  • @allmycircuits8850
    @allmycircuits8850 Рік тому +5

    Funny that there are still no standard remainder (modulo) function which would consistently return positive numbers at least if divider is positive. All we have is a % b = a - (a/b)*b which works "strange" for negative numbers and almost always needs some workaround! I remember trying some sine interpolation where first step was getting arbitrary argument into 0..2pi region. But of course formula like that from above could return anything in -2pi..2pi region!
    Standard division rounding toward zero is also not good when doing fixed point math as it make zero region "very special", double the width of others which lead to artifacts!
    And here once again it lead to problems with periodic bordering.

    • @whickervision742
      @whickervision742 Рік тому +2

      Yup. It's no surprise textures use powers of 2 so that bitwise AND could be used. In this example of a 256 pixel width texture, (-1 & 255) = 255 ; (-10 & 255) = 246

  • @tgd2096
    @tgd2096 Рік тому

    Great first video of 2023!

  • @EximiusDux
    @EximiusDux Рік тому +2

    Interesting video. Texture mapping explained in a simple and humane way.

  • @gedaliakoehler6992
    @gedaliakoehler6992 Рік тому +4

    Very hyped to watch this later tonight 😂🎉

  • @tclards4349
    @tclards4349 Рік тому

    Always love seeing an upload from you! Your channel has been one of my favorite places to spend my free time since I first started my CompSci bachelors degree. I always learn something!

  • @andrewdunbar828
    @andrewdunbar828 Рік тому

    The quality are improving. The grammar are good.

  • @teucay7374
    @teucay7374 Рік тому

    Very interesting video, you never disappoint! So grateful that you are making these videos again! I hope you and your family are doing great.

  • @Aeduo
    @Aeduo Рік тому

    I like when you do the transition from screen to talking to the camera, you leave in the time you look from the screen to the camera. It reminds me of something I would see on PBS or something.

  • @geehaf
    @geehaf Рік тому

    Thank you for this - really good. Very happy with smaller time-frame but more frequent videos. Great work.

  • @RetroCoderTV
    @RetroCoderTV Рік тому

    I'm happy to see you back and happy to have shorted videos if that fits in with your schedule better. But I would still like to see the stuff where you made complete programs such as the pixel racer game, Worms, etc, and lots of the other good stuff. We learned so much from you there when you run into small snags or challenges that need your math and/or coding skills .

  • @plueschAMAZONE
    @plueschAMAZONE Рік тому +3

    Love to see you back in businnes!

  • @mr_noodler
    @mr_noodler Рік тому

    I like how he is wearing an original 1991 Batman with Michael Keton t-shirt, the true mark of an original gangster

  • @jakasnazwa123
    @jakasnazwa123 Рік тому

    Very nice to see you again

  • @frankkubrick865
    @frankkubrick865 Рік тому

    The legend returns!!! Always great to see a new video

  • @Gameplayer55055
    @Gameplayer55055 Рік тому

    26:34 is it the reason why Minecraft TNT has mirrored label ТИТ from the north side?

  • @juliannicholls
    @juliannicholls Рік тому +3

    I'd always prefer two videos of 30 minutes over one of 60 minutes, even if that means waiting a week for the next piece.

  • @mr_noodler
    @mr_noodler Рік тому

    This guy is legendary, programming 100 in skyrim

  • @DFPercush
    @DFPercush Рік тому +2

    Javid, I've got a burning question ever since watching Tsoding try to render 3d graphics in C... and that's how do you interpolate along the Z-axis in a perspective transformation? I know how to do a bilinear interpolation on the two sides of a triangle, and I know any triangle will remain a triangle with straight edges, but you've still got the perspective where closer texels will appear bigger than far ones. I hope that will be a part of this series.

    • @javidx9
      @javidx9  Рік тому +2

      Covered exactly this in Part4 of my CIY 3D engine series.

    • @DFPercush
      @DFPercush Рік тому

      @@javidx9 Awesome, thanks! It's all in the W, of course. W is underrated.

  • @SassyToll
    @SassyToll Рік тому +1

    Thank Javid that is brilliant, looking forward to the rest of the series. Johnnyg63

  • @__hannibaal__
    @__hannibaal__ Рік тому

    Ah. … . Here it is. How are you?
    I m programming from 1993, (mostly in computational calculus PDE and simbolique calculus with mathematica); You are the most one that gave very deep course about Graphic and deep Core C++.
    _thanks_

  • @0__alfie__0
    @0__alfie__0 Рік тому +1

    I have noticed in every video I have watched that you have made there is a Vimto can lol. Good video

  • @davep7176
    @davep7176 Рік тому

    great to see more vids.... hoping for more in due course

  • @maheshx2k
    @maheshx2k Рік тому

    Please upload more regularly. You are great

  • @nextlifeonearth
    @nextlifeonearth Рік тому +1

    Few things about the code:
    Don't use system time, unless you want system time. Use the steady clock instead. You can get weird behaviour if the time is updated while your application is running.
    A switch doesn't need semicolons.
    Rule of zero. Don't place a default destructor without the copy and move constructors and operators, unless you need to make it virtual, because it's an interface/abstract class.

  • @bytesandbikes
    @bytesandbikes Рік тому +2

    Doing any videos with a new kid is pretty impressive! 😁

  • @chasehamling1745
    @chasehamling1745 Рік тому

    Thank you for making these.

  • @SA2URAMI
    @SA2URAMI Рік тому

    Each video like a little present

  • @jsflood
    @jsflood Рік тому +1

    Excellent video with very interesting topic. And nice to see that you have left the balls and started with cubes :P
    Thank you :)

    • @jsflood
      @jsflood Рік тому

      @LET'S talk on Teleegram apk_@Javidx9_1 😂

  • @SchalaArchives2023ish
    @SchalaArchives2023ish Рік тому

    Very interesting topic to touch on, and congratulations on the kid! You'll be a great dad!

  • @GNARGNARHEAD
    @GNARGNARHEAD Рік тому

    nice one, hey the demo is a great touch 👍

  • @londonbobby
    @londonbobby Рік тому

    Very happy with the shorter video lengths.
    Does this mean we won't be seeing the end of Space Thing or the completion of the hurdy-gurdy build?

  • @alierenesen2422
    @alierenesen2422 Рік тому

    such great content! lots of love from Türkiye.

  • @ciachn
    @ciachn Рік тому +2

    Finally! I get to be one of the first to arrive early to see Javi's amazing videos. 😊🙂🙂🙂

  • @arsebiscuitsandwine
    @arsebiscuitsandwine Рік тому

    Shorter/small series works well for me for exactly the same reasons! Between work and the kids I've got about one short video of time as a viewer too 😅

  • @tomkirbygreen
    @tomkirbygreen Рік тому

    Can it be? Whoopieeee! To the coding cave!

  • @setharnold9764
    @setharnold9764 Рік тому

    Make whatever length videos are fun to make on whatever schedule is fun. I don't know how you find time to make these in the first place.

  • @Mel-mu8ox
    @Mel-mu8ox Рік тому

    as a learner
    small vids that explain one or two concepts are easy to understand
    gives me time to digest the information during breaks and let it soak in
    Longervids I find myself watching 4 - 6 times, might be great for the algorithm, but not for learning :(
    I'm glad the vids are shorter, can watch one all way through then quiz myself.
    since the stop gap is already there for me
    I don't end up pausing or time stamping the vid, only to go bk to it realising I've stopped it to early and missed a crucial point
    second way on long vis can be frustrating :(

  • @thebasicmaterialsproject1892
    @thebasicmaterialsproject1892 Рік тому +2

    i rememebr when you had to accesse the graphics memory directly !

    • @javidx9
      @javidx9  Рік тому +1

      Yeah... Not like that anymore lol

  • @Will-vj5bc
    @Will-vj5bc Рік тому

    I see a new JavidX video, I click. Nice to have to back.

  • @ui6144
    @ui6144 Рік тому

    Batman is back!

  • @gower1973
    @gower1973 Рік тому

    Isn’t your y axis flipped though, the 0,0 point for UV’s by convention is bottom left not top left, although I guess you can use any arbitrary coordinates system if it’s consistent.

  • @Nunya58294
    @Nunya58294 Рік тому

    I was mid-sentence when I seen this video and was like "HOLY SHIT!" haha

  • @nandukrishna8142
    @nandukrishna8142 Рік тому

    Hey can you please help me with a video, ray tracing with optimization techniques?

  • @ratchet1freak
    @ratchet1freak Рік тому

    a better periodic computation is x = x

  • @gsestream
    @gsestream Рік тому

    as the game engine is very sprite and texture heavy, try 3d sphere map object sprites, yes, very complex objects reduced to pre-rendered angle dependent sphere maps, that are very much easier to render than the triangle meshes that make up the object. only a somewhat more complex than normal sprite pre-renders from multiple angles, 2d and 3d, maybe affine transforms can be applied into 3d sphere map versions of the sprites too.

    • @gsestream
      @gsestream Рік тому

      try surface bump maps (ie sphere/cube equilateral rectangle depth maps, with texture and depth/alpha map), instead of triangles or voxels, more compressed data friendly and smaller storage, only image regular spaced png/jpg compressible data with gray scale depth data, stored in image buffers and files, bump maps on regular shapes, sphere/cube, make a more dense defined objects data

  • @allocator7520
    @allocator7520 Рік тому +1

    Lets goooooooooooooooooo

  • @gianfrancobruschetta2423
    @gianfrancobruschetta2423 Рік тому

    Better short and more often if possible 😁

  • @postlinux
    @postlinux Рік тому

    Thnx to comr back

  • @zxuiji
    @zxuiji Рік тому

    4:35, says X then Y, does Y then X, if I didn't know any better I'd say javid was trying to confuse his viewers XD

    • @EximiusDux
      @EximiusDux Рік тому

      That depends on how you think about it. X is how much he went to the right, and Y is how much he went up.

    • @zxuiji
      @zxuiji Рік тому

      @@EximiusDux I was referring to the lines he drew, those are the axis

    • @EximiusDux
      @EximiusDux Рік тому

      ​@@zxuiji Ill try to explain. X is the width, Y is the height. He looks at the left side as the 0 point, the start of the axis. Placing something on the Y axis means moving up. he moved upwards from the left. Placing something on the X axis means moving to the right, he moved from left to right. It can be confusing when not paying attention, but it makes sense once it hits your mind.

    • @zxuiji
      @zxuiji Рік тому

      @@EximiusDux And YOU are clearly not getting the point, he said AXIS, not dimensions which you just referred to

    • @EximiusDux
      @EximiusDux Рік тому

      @@zxuiji How do you draw a line to the dot its X position on the axis, how do you draw a line to the dot its Y position on the axis ? Think about it.

  • @Nikkes02
    @Nikkes02 Рік тому

    It's Batman! 😲

  • @dbl777
    @dbl777 Рік тому

    Wow! This is exactly the knowledge I need, please, can you do a subtitle. if possible. It will be very international friendly. Because I want to understand every word you say.

  • @thebasicmaterialsproject1892

    before direct x heck even before windows 95 cornered the graphics memory

  • @keyboardcrash38
    @keyboardcrash38 Рік тому +1

    Ayy I have such a great day today, your video is fantastic!

  • @LaZZeYT
    @LaZZeYT Рік тому +1

    Did you intend to put this unlisted video inside the "Interesting Programming" playlist?

    • @javidx9
      @javidx9  Рік тому

      Lol yes, I do this each time but you're the first to notice 🤣

  • @xriuk
    @xriuk Рік тому

    Personally I'm not a huge fan of long videos, of course yours are entertaining but it's pretty hard getting a half an hour or even a whole hour of time to watch a single video at least for me. I'd love a series of smaller videos like 10/15 minutes long.

  • @Jkauppa
    @Jkauppa Рік тому

    projected textures (or directional sampling), nice

    • @Jkauppa
      @Jkauppa Рік тому

      or just use full/extra super high resolution megatextures

    • @Jkauppa
      @Jkauppa Рік тому

      or just texture LODs for different sampling distances, to get full pixel resolution always

    • @Jkauppa
      @Jkauppa Рік тому

      over-resolution to satisfy everything accurately is always better

    • @Jkauppa
      @Jkauppa Рік тому

      wow this is very basic level L1 tech

    • @Jkauppa
      @Jkauppa Рік тому

      no offense indended

  • @wxwf934
    @wxwf934 Рік тому

    😃

  • @bob-zb3ed
    @bob-zb3ed Рік тому

    Day 2, of asking javid to make a video about meatballs and isosurfaces.

    • @javidx9
      @javidx9  Рік тому +1

      Meatballs? I did a cooking video on second channel a while back.

    • @bob-zb3ed
      @bob-zb3ed Рік тому

      @@javidx9 I meant, metaballs.....................................................sorry

  • @lozD83
    @lozD83 Рік тому

    wb

  • @whickervision742
    @whickervision742 Рік тому

    The % operator misbehaving is a never-corrected mistake of the C language. I've never seen going negative have a practical use. Whereas wrapping queue indexes, wrapping back from 0 minutes to 59 on a clock, or rotation angle wrapping from 0 degrees to 359 degrees expects the positive wrap. An often-used solution for speed is to use powers of 2, using the bitwise AND operation. It would work here in the texture world, because we can take the (texture coord & 255). But there is no shame of detecting a negative result and then adding the wrap value for non powers of 2.

  • @muhammadhasnain6327
    @muhammadhasnain6327 Рік тому +2

    Hello javidx nice to meet you i like your programming style if you READ my comment i am very immense fan of you as a developer you are such a nice person i want to know about how i approach you both online platfoam can you share me your active platfoam ???? 👤 please. Share i am your fan

    • @javidx9
      @javidx9  Рік тому +2

      Hi Muhammad, thanks for your kind words. The easiest way to join in the chaos is on the Discord server, myself and others are very active there. Click the link in the video description.

    • @muhammadhasnain6327
      @muhammadhasnain6327 Рік тому +1

      @@javidx9 thanks javidx .

  • @marsovac
    @marsovac Рік тому

    manipulating textures and pixels on the CPU side does not seem very clever. It will be a serious performance bottleneck for the engine.

    • @javidx9
      @javidx9  Рік тому +1

      Yes...

    • @michipeka9973
      @michipeka9973 Рік тому

      Although It's interesting to understand or remind how this process is actually working.

  • @stasdev
    @stasdev Рік тому

    auto-like, period.

  • @bravefastrabbit770
    @bravefastrabbit770 Рік тому

    The 3 dislikes are simply misclicks by people who actually wanted to share the video.

  • @BrendonHolden
    @BrendonHolden Рік тому

    RUN://_LOAD://Pixel-001/OPEN://Pixel-001
    The pixel is in the milliseconds, which was an entire screen of work that was Saved as Pixels-001.
    Instead of the preprogrammed pixels to create an image he can use a new type of pixel….
    Neat,
    Thanks for the video,
    - Brendon

  • @ClaytonMalarkey
    @ClaytonMalarkey Рік тому

    #epicviralcontent @mmobyte

  • @Seppelicius
    @Seppelicius Рік тому

    wb