Parsing 3D File in C

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

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

  • @СергейДехтярёв-ъ4н
    @СергейДехтярёв-ъ4н 2 หลายเดือนก่อน +180

    Finally C is back

    • @BboyKeny
      @BboyKeny 2 หลายเดือนก่อน +29

      Was waiting to C this

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

      fuck JavaScript

    • @theevilcottonball
      @theevilcottonball 2 หลายเดือนก่อน +15

      C99 > C3 :-)

    • @FaZekiller-qe3uf
      @FaZekiller-qe3uf 2 หลายเดือนก่อน

      @@theevilcottonballno

    • @Unordinary-lg4yt
      @Unordinary-lg4yt 2 หลายเดือนก่อน +1

      Back again

  • @channel11121
    @channel11121 2 หลายเดือนก่อน +131

    > "I'm kind of like reverse engineering the format"
    > has the spec pulled up in browser

    • @alt-art
      @alt-art 2 หลายเดือนก่อน +7

      not the spec, wikipedia page about the spec

    • @_start
      @_start 2 หลายเดือนก่อน +53

      @@alt-art not the wiki, led screen displaying pixels

    • @theevilcottonball
      @theevilcottonball 2 หลายเดือนก่อน +11

      He is forwards engineering it, or as I call it: He is reverse reverse engineering it.

  • @ishanagarwal475
    @ishanagarwal475 2 หลายเดือนก่อน +9

    I also wrote a similar program for a software renderer project I was working on; my version was not good enough to work on different obj files. So this is a good learning experience, thanks.

  • @artemiasalina1860
    @artemiasalina1860 2 หลายเดือนก่อน +6

    Just for those who are interested in Blender, in the upper right hand corner of the 3D view (where the Penger model was displayed) there is a row of 4 circular radio buttons. You use them to select the display mode. The reason you didn't see any materials is because the display mode was set to "solid color," which is normally plain grey. Clicking on the next button to the right will put it in a mode that will display the material on the model (assuming that there is a light in the scene).

  • @boonsboos
    @boonsboos 2 หลายเดือนก่อน +40

    btw, i named penger

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

      Stupid name with cute belly

    • @cobbcoding
      @cobbcoding 2 หลายเดือนก่อน +7

      legend

    • @theevilcottonball
      @theevilcottonball 2 หลายเดือนก่อน +1

      Did you use the C3 word breeder?

  • @ratofthecity6351
    @ratofthecity6351 2 หลายเดือนก่อน +33

    it never ceases to amaze me how long it takes for java tools to do anything. even building "Hello world" with gradle can take half a minute

    • @hedlund
      @hedlund 2 หลายเดือนก่อน +3

      Gradle in particular is amazing. I tried it a few years ago simply and only because I wanted to try a different build system for the one time in twenty years I've gone to write any Java, and I couldn't believe how unfast it was. I fully expected to find some sort of config error or other fuckup on my part, but never did. Not touching Gradle again if my life depends on it.

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

      I like gradle but have always felt more natural in maven 😊

    • @doomcrimson1680
      @doomcrimson1680 2 หลายเดือนก่อน +1

      I'm compiling AOSP for the first time, can you tell me how long it will take? It's been running for some time.

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

      @@doomcrimson1680 From my experience on a good AWS server it took like from 4 to 8 hours for the first time but then it will recompile only the parts that change

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

      @@hedlund Gradle used to be relatively fast up to versions around 2.x, maybe 3.x... but it kind of grew to be the monster it is now over time (I used gradle since back when it was 2.10 for Minecraft mod development). That said, if you truly are building a simple "hello world" with minimal or no dependencies,, after the first run (where it downloads a lot of stuff, but so does maven) it is in fact still fast (an old version of decompiled Minecraft with gradle 8.3 takes a few seconds to build after changing some code on my PC, and that includes building complete runnable fat jar). Real world projects just tend to have large dependency trees, have massive amount of code and just do a lot of stuff during build. Honestly even gradle java builds are not that slow compared to an average C++ build.

  • @Kingromstar
    @Kingromstar 2 หลายเดือนก่อน +3

    this dude is so cracked it's unreal.

  • @tianned
    @tianned 2 หลายเดือนก่อน +3

    Mr Tsoding I love you thumbnails.

  • @Highwind_
    @Highwind_ 2 หลายเดือนก่อน +10

    Penger is so cute! What a wholesome community.

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

    Can’t tell you how long I’ve been waiting for this

  • @dromedda6810
    @dromedda6810 2 หลายเดือนก่อน +21

    LETS GOOO! C IS STILL "THE BEST LANGUAGE"

    • @theevilcottonball
      @theevilcottonball 2 หลายเดือนก่อน +9

      C is is the worst programming language except for all of the other programming language which have been tried.

    • @vaolin1703
      @vaolin1703 2 หลายเดือนก่อน +1

      @@theevilcottonballspoken like Churchill

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

      @@vaolin1703 Churchill is one of the best programmers he even had official correspondence from Alan Turing.

  • @gabrielomane-yeboah
    @gabrielomane-yeboah 2 หลายเดือนก่อน +4

    In. order to view textures. of. the models in Blender, you'll have to either switch to the Render mode or Preview(Look Dev) mode by holding "Z"

  • @theairaccumulator7144
    @theairaccumulator7144 2 หลายเดือนก่อน +3

    Oh wow I didn't know about your library. I was looking for some examples of some rasterizing algorithms around a year ago but couldn't find something good that wasn't extremely overengineered. Ended up writing most of them myself but it was a pain. If I knew about your library it would've been a lot easier.

  • @blackhaze3856
    @blackhaze3856 2 หลายเดือนก่อน +3

    Glad to see I'm not the only one that doesn't understand what the hell means 'legacy' in some contexts. Backward compatibility?

  • @jkasinowe
    @jkasinowe 2 หลายเดือนก่อน +17

    Думал, что tsoding это транслитерация неудачной транслитерации, типа coding->цодинг->tsoding, а оказалось что у этого этимология вообще другая)

    • @sakurako-omuroo
      @sakurako-omuroo 2 หลายเดือนก่อน +2

      Какая?

    • @jkasinowe
      @jkasinowe 2 หลายเดือนก่อน +4

      @@sakurako-omuroo он на каком-то стриме говорил что его ник это сокращение от turing soding

    • @sakurako-omuroo
      @sakurako-omuroo 2 หลายเดือนก่อน

      @@jkasinowe понял

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

      @@jkasinowe да

    • @Kitulous
      @Kitulous 2 หลายเดือนก่อน +1

      я тоже так думал ахаха

  • @DetectiveConan990v3
    @DetectiveConan990v3 2 หลายเดือนก่อน +1

    i wish i was good enough at programming to understand and follow along with your videos

  • @bashbarash1148
    @bashbarash1148 2 หลายเดือนก่อน +4

    You can see a rare phenomenon: Tsoding is navigating through directories using a mouse!

  • @JosephSaintClair
    @JosephSaintClair 2 หลายเดือนก่อน +1

    Nice. Useful code and useful deep dive to accompany the code. Like.

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

    penger reminds me of pokey the penguin, a brilliant web comic

  • @Stroopwafe1
    @Stroopwafe1 2 หลายเดือนก่อน +1

    At 33:18 this is exactly the performance we got when translating python to c++, 3d models that would take 10 minutes to import in Blender went down to 40 seconds. 40 seconds is still a bit much, but that was timed from: Pressing the import button in Blender -> Seeing the rendered result in Blender.

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

    That teapot is breaking my brain.

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

    33:00 - that's my reaction whenever I do coding for fun in a 10+-years-old laptop versus coding Java for a paying job in a 2019 laptop. How IntelliJ users accept a build running for minutes or tests running for seconds is beyond my comprehension.

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

      Because it just works, and because it's actually a fully featured ide. It's nice to use a completely polished product.

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

    the speed at which he develops is actually insane

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

    got so excited when i saw new commits to the repo couldn't wait man

  • @blackhaze3856
    @blackhaze3856 2 หลายเดือนก่อน +5

    Actually, he said the stream officially started 10 minutes before he said it again in this video, so the stream started officially twice and now my life has no sense 😢

  • @mig-s7f
    @mig-s7f 2 หลายเดือนก่อน +1

    C is back!

  • @SunshysContentRanch
    @SunshysContentRanch 11 วันที่ผ่านมา

    Penger means "money" in Norwegian,,, I love them.

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

    new feature, new feature, new feature

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

    tsodinPenger

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

    i would really like to see implementation of some rudimentary lighting

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

    he bacc with olivecc

  • @samarthpyati2855
    @samarthpyati2855 2 หลายเดือนก่อน +1

    Tsoding make a game engine out of it
    🐧

  • @Waterparkshark
    @Waterparkshark 2 หลายเดือนก่อน +1

    (too smol PepeHands)

  • @AaroRissanen-pi4td
    @AaroRissanen-pi4td 2 หลายเดือนก่อน +2

    Blender did recognize your material, you just weren't in material view or render view.

  • @user-plgmgrs326
    @user-plgmgrs326 2 หลายเดือนก่อน +1

    C forever

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

    Yes! please! Python is more annoying than just plain C.

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

    Waow what amazing work my friend I would love to see it competes against something like LVGL and work on embedded platforms like pi Pico

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

    I skimmed throught the codebase, "when you said you're just putting the pixels data into the memory on docs", i saw how, you actually pulling the canvas object data and pixels data in the vc.js and rendering it by calling std functions in javascript

  • @MaxC.Rockatansky
    @MaxC.Rockatansky 2 หลายเดือนก่อน

    My hero!

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

    I don't know why most languages don't use a string view as the default string type, but they really should. When you're parsing the obj file you really prove that they're the best way to handle strings. I would've thought with all of the changes that they've made to C++ over the past 25 years that at some point they would've had the foresight to make such a change. They've even introduced actual breaking changes a couple of times over the past 15 years, and yet still, no default string view.
    Only questions I have at this point is, what are your thoughts on quoting strings? Should a programming language use only one quote type for everything, or like C, should it use " for strings and ' for characters? Since I'm still bikeshedding my own language, I could always change it, but I've got " for F-strings and characters that use escapes, and ' for literal string and character literals.

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

    That was pretty Penger

  • @user-sb5vt8iy5q
    @user-sb5vt8iy5q 2 หลายเดือนก่อน +6

    33:00 giga based take incoming

  • @charfractal9441
    @charfractal9441 2 หลายเดือนก่อน +1

    BLUD uses blender for video editing !!!!

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

    what do you think about AssemblyScript?

  • @duropelado
    @duropelado 2 หลายเดือนก่อน +1

    I would like to know how you zoom in/out at certain times, I have limited vision and I found it very useful. I use Windows.

    • @multicoloredwiz
      @multicoloredwiz 2 หลายเดือนก่อน +1

      Doubt windows has something like that but u can do it with ctrl alt mouse wheel on proper os

    • @StevenMartinGuitar
      @StevenMartinGuitar 2 หลายเดือนก่อน +1

      I there's one for windows called zoomIt or something like that

    • @Cranky-12
      @Cranky-12 หลายเดือนก่อน

      It is a project in his github called boomer, he made it himself, dunno if it works under windows though.

  • @nothappyz
    @nothappyz 2 หลายเดือนก่อน +1

    Penger your mom's banger what 😭

  • @Mekelaina
    @Mekelaina 2 หลายเดือนก่อน +1

    tsodimPenger

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

    What Emacs theme do you use?

  • @afoobar42
    @afoobar42 2 หลายเดือนก่อน +1

    But what is wrong with wanting to make some money using your skills?

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

    Great ❤❤❤❤❤❤❤

  • @sowmin330
    @sowmin330 2 หลายเดือนก่อน +6

    I want C

    • @marwan7614
      @marwan7614 2 หลายเดือนก่อน +7

      then C you shall see.

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

      what about D?

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

      @@ismbks bad tooling + gc

  • @the-last-spark
    @the-last-spark 2 หลายเดือนก่อน

    he became based again.

  • @RiteshRanjan-x4k
    @RiteshRanjan-x4k 2 หลายเดือนก่อน

    Program in DOSBOX!!!!

  • @MrMeltdown
    @MrMeltdown 2 หลายเดือนก่อน +1

    33:25 i wonder if chaining together c programs using pipes would be faster on the back end than running node for a single page app…

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

    woot

  • @caresbruh
    @caresbruh 2 หลายเดือนก่อน +3

    c monk is back

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

    render penger n blender? i hardly know her

  • @hmmmidkkk
    @hmmmidkkk 2 หลายเดือนก่อน +1

    14:42 that is vertex/texture/normal indices for a single point/vertex

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

      45:45 48:14

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

      @@H3llsHero sorry i did not watch the whole video

  • @tezc.h
    @tezc.h 2 หลายเดือนก่อน

    What font is Tsoding using in his terminal ?

    • @zyhru
      @zyhru 2 หลายเดือนก่อน +1

      Victor Mono

    • @tezc.h
      @tezc.h 2 หลายเดือนก่อน

      @@zyhru Thanks a lot, but I don't think its Victor Mono, the "L" is different here.

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

    bro just sometimes speaks german lol🇩🇪🇩🇪

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

    😶‍🌫

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

    .OBJ anyone...? owo

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

    why is C the only thing some people are talking about as if dissecting the textual contents of a 3D model with any other language is any different or less interesting

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

      baby duck syndrome

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

    🤍

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

    6th comment

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

    3RD

  • @SlinkyD
    @SlinkyD 2 หลายเดือนก่อน +1

    I'm still a trash dev but 11:20 got a 270° offset for the handle and spout instead of 180°.

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

    4th to comment

  • @MICHAELMURITHI-y7y
    @MICHAELMURITHI-y7y 2 หลายเดือนก่อน

    First to comment

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

    olive.c's back, baby!