Suboptimal Engineer

Suboptimal Engineer

Indian software engineer interested in game development and graphics programming (Unity, C#, Shaders, TypeScript, Three.js, WebGPU, VS Code, and Vim).

What is Gaussian Blur?

What is Gaussian Blur?

What is Perlin Noise?

What is Perlin Noise?

What is Voronoi Noise?

What is Voronoi Noise?

What is Value Noise?

What is Value Noise?

Пікірлер

  • @hortonmark6793
    @hortonmark67932 күн бұрын

    "vec3 lightDirection = normalize(lightSource);" confused me. I think it should be "vec3 lightDirection = normalize(lightSource - p);", although both i tried did the same work

  • @hiimdaisy946
    @hiimdaisy9463 күн бұрын

    wait how did you get your first job but you still havent learned to prep for job interviews? i thought you were already suppose to know interviews to get your first job.

  • @loisnyx
    @loisnyx4 күн бұрын

    Thank you so much! Subscribed!

  • @susussususuususuusuuususussusu
    @susussususuususuusuuususussusu4 күн бұрын

    life changing lesson :0

  • @mr.random8447
    @mr.random84476 күн бұрын

    Shouldn’t this be dev dependency?

  • @SuboptimalEng
    @SuboptimalEng6 күн бұрын

    Yes, it most likely should be.

  • @Cyberfoxxy
    @Cyberfoxxy8 күн бұрын

    I've been struggling to find information on gl_FragCoord. According to Threejs source code BoxGeometry does have default uv's set up. Yet somehow, gl_FragCoord remains uninitiazlied in the shader and my object is black...

  • @drewberchtolzthofen886
    @drewberchtolzthofen8869 күн бұрын

    vim is essential for keeping yourself in focus, while typing

  • @felfar197
    @felfar19713 күн бұрын

    thank you!

  • @mikwns3722
    @mikwns372218 күн бұрын

    can you turn computer off

  • @SuboptimalEng
    @SuboptimalEng12 күн бұрын

    As long as you turn it back on

  • @tempname8263
    @tempname826318 күн бұрын

    How would it compare to BGFX though?

  • @SuboptimalEng
    @SuboptimalEng12 күн бұрын

    Never used BGFX so I can’t say.

  • @Coding_and_Gaming
    @Coding_and_Gaming18 күн бұрын

    Thank you very clear simple but enough detailed explanation especially graphics of the calculations are very useful thank you again for this great video

  • @SuboptimalEng
    @SuboptimalEng18 күн бұрын

    Glad you found it useful!

  • @Tifidy
    @Tifidy21 күн бұрын

    Let me tell you why this content is golden over react three fiber is cuz r3f happens to conflict with material ui (Box) which is what I have and I dont want to go through workarounds to force my code look sort of ridicilious. So I am taking route of implementing three this way. Thank you.

  • @SuboptimalEng
    @SuboptimalEng7 күн бұрын

    Yea I wanted to minimize dependencies but still use React. Glad the tutorial was helpful!

  • @danielratiu4318
    @danielratiu431821 күн бұрын

    As for using Esc to enter visual, I think some default key binding should not change because one might connect to some remote machines, and access vim there and that would make work a hell ( because of muscle memory ). My 2 cents.

  • @SuboptimalEng
    @SuboptimalEng21 күн бұрын

    That’s an interesting point. It’s possible that in some cases, keeping it as ESC is better.

  • @offgridvince
    @offgridvince23 күн бұрын

    Did u switch back yet? Nuxt 3 is amazing!! Nuxt 3.12 and 4 on the way...

  • @SuboptimalEng
    @SuboptimalEng12 күн бұрын

    I’m still using react.

  • @offgridvince
    @offgridvince12 күн бұрын

    @@SuboptimalEng ok cool

  • @syntaxed2
    @syntaxed224 күн бұрын

    IMO it is quite revolutionary, real crossplatform abstraction over modern GPU API'S.

  • @polandsilver3419
    @polandsilver341926 күн бұрын

    Thank you for this explanation! I'm new into programing (although I programmed in scratch when I was really young). That's realy good piece of knowledge :)

  • @SuboptimalEng
    @SuboptimalEng7 күн бұрын

    Good luck on your programming journey!

  • @JBroadway
    @JBroadway28 күн бұрын

    underrated tut thanks for making!

  • @SuboptimalEng
    @SuboptimalEng28 күн бұрын

    Thanks boss! I’ve seen some of your bangers as well 🔥

  • @JBroadway
    @JBroadway28 күн бұрын

    @@SuboptimalEng Thanks! I'm trying to integrate more visual components to my music and a lot of that has been learning Touch Designer and then eventually GLSL so tuts like this have been really helpful.

  • @SuboptimalEng
    @SuboptimalEng27 күн бұрын

    @JBroadway that’s cool! Might I recommend Kishimisu, another KZreadr who makes cool shader tutorials and animations (on Instagram).

  • @rajqsl5525
    @rajqsl552529 күн бұрын

    Loved it!! Thanks much

  • @kushyglowy8409
    @kushyglowy8409Ай бұрын

    Thats incredible

  • @user-xn5do6xc1u
    @user-xn5do6xc1uАй бұрын

    Please change name from Suboptimal Engineer to Optimal Engineer. I am feeling sad to see this title.

  • @user-xr9lx9ui7l
    @user-xr9lx9ui7lАй бұрын

    Hey what would happen if all boids are following the same target and the target isn't moving? I want the boids to stop and surround the target and not jitter until the target is stationary is that possible?

  • @3niknicholson
    @3niknicholsonАй бұрын

    Wow, excellent find, way above the baseline egoist YT-nixers! Thanks for a brain-food vid and for not having a pointless moving picture of a stationary yourself in the bottom right-hand corner (no offence meant)[EDIT:liked&subbed]

  • @princeofexcess
    @princeofexcessАй бұрын

    Does this setup allows you to search with / and ? As well as highlight things that are output by the terminal not only what you are editing. I tried to setup vim without the oh my zsh in iterm2 but i cant search or jump to things that are output by the terminal only my own input works as vim I would really like to keep the setup as light weight as possible for this.

  • @kelseywalsh9719
    @kelseywalsh9719Ай бұрын

    PLEASE ANYONE HELP ME WITH GETTING A USER's TIMEZONE IN HEROKU! I NEED HELP

  • @lih3391
    @lih3391Ай бұрын

    Is there any way to do this without the help of an external library like tween.js?

  • @Demonicbuilds8
    @Demonicbuilds8Ай бұрын

    You accent is realy good dude.

  • @SuboptimalEng
    @SuboptimalEng6 күн бұрын

    Thanks?

  • @carljosephyounger
    @carljosephyoungerАй бұрын

    The `whiteNoise2x1` function uses this line to initialize the `random` variable: float random = dot(p, vec2(12., 78.)); This will generate obvious patterns at higher resolutions. Using the more precise values (from the comment) fixes the issue: float random = dot(p, vec2(12.9898, 78.233)); All good.

  • @paulo1940
    @paulo1940Ай бұрын

    turning unknown unknowns into known unknowns, I will hold onto that!

  • @SuboptimalEng
    @SuboptimalEngАй бұрын

    It's the most important part of being a game dev or software engineer!

  • @JfreNLGames
    @JfreNLGamesАй бұрын

    Space-Node is preconfigured and better.

  • @manibaghdadi725
    @manibaghdadi725Ай бұрын

    GOAT

  • @seyedmojtabahayatolgheib9853
    @seyedmojtabahayatolgheib9853Ай бұрын

    Thanks. I'm a Vue.js and Nuxt.js developer but I have a plan to learn React.js and then Node.js

  • @user-xr9lx9ui7l
    @user-xr9lx9ui7lАй бұрын

    wasn't expecting to see SRK in a Boids video😆

  • @ChatGPT4-sg5ft
    @ChatGPT4-sg5ftАй бұрын

    can webspeech audio api able to visualise waveform when i speaks instead of music

  • @Ken_Machine-iu8je
    @Ken_Machine-iu8jeАй бұрын

    Having mapped k j to esc to enter normal mode from insert mode, then how do u type k j as characters in insert mode?

  • @SuboptimalEng
    @SuboptimalEngАй бұрын

    You can set a time limit so that if you type the characters together slowly, the command does not get run and instead the characters get written.

  • @tomaszgora4353
    @tomaszgora435310 күн бұрын

    You can apply when conditions to bindings in the json. Read the docs i.e "when": "inputFocus && vim.mode == 'Normal'". I have bindings remapped and conditioned per mode i.e leader leader to enter visual line (V). Currently building new profile to fit new workflows trained on nvim :)

  • @1..1..1..1H
    @1..1..1..1HАй бұрын

    Why not just use Nvim

  • @SuboptimalEng
    @SuboptimalEngАй бұрын

    Why not use VS Code?

  • @dhruvyadav3492
    @dhruvyadav3492Ай бұрын

    hi i am trying to create a shooting gun , so do i need to use raycaster for that ?

  • @aeonplaymusic
    @aeonplaymusicАй бұрын

    Thanks for the help, i'm using this.

  • @TheCoder009
    @TheCoder0092 ай бұрын

    Of all the videos in KZread, yours is only the one that helped me through

  • @zachariahtatman7381
    @zachariahtatman73812 ай бұрын

    holy shit this is amazing still 3 years later

  • @SuboptimalEng
    @SuboptimalEngАй бұрын

    I still use the same set up too! Very minor tweaks over the last 3 years.

  • @DilipKumar-ou2pn
    @DilipKumar-ou2pn2 ай бұрын

    Bro which theme are you using the theme us so cool..

  • @SuboptimalEng
    @SuboptimalEngАй бұрын

    It’s a secret 🤫

  • @sul-dev
    @sul-dev2 ай бұрын

    Thank you so much. Really helpful!!

  • @MrMariozzz78
    @MrMariozzz782 ай бұрын

    i use opegl in dev c++ gl library i guess it pre 2.0 so it dont use GLSL ...can i use phong light with 2.0 pre.version?

  • @JackLeiLing
    @JackLeiLing2 ай бұрын

    Liked and subscribed! The most clearer explanation for this difficult topic. Super helpful. Many thanks

  • @SuboptimalEng
    @SuboptimalEng2 ай бұрын

    I made the video because I was learning phong lighting and struggled to understand it. Glad it helped!

  • @alexfrozen
    @alexfrozen2 ай бұрын

    Compare speed and size with this one: vec3 color = smoothstep(-.01,.01,vec3(sin(uv.x*10.)*sin(uv.y*10.)));

  • @SuboptimalEng
    @SuboptimalEng2 ай бұрын

    I kept my code verbose to help with the video explanation! It can easily be written better and your code is a good example 🤓

  • @Milan23_
    @Milan23_2 ай бұрын

    Please help, I don't get it, how to set a new command for selecting the current page URL with ALT+/ instead OF CTRL+L ? which is Chrome's default. Thanks!

  • @lulairenoroub3869
    @lulairenoroub38692 ай бұрын

    Please, somebody help me. I have searched every place I can possibly think to look. That JSON file with all the VIM data in it? I can't find it. Anywhere. I've followed guides, I've asked GPT, I've been up and down reddit, quora, I've tried multiple PCs, I can not find the file. It is driving me truly insane. Every file that I can find that is called settings.JSON, doesn't have any of the Vim data in it. It's just short user stuff that existed before I installed Vim. I've installed it a hundred times. I keep getting this error "No .vimrc found. Please set `vim.vimrc.path.`" Which seems like it should be a clue, but every guide I have found to fix the error is more of me needing to access files that I cannot find! How is this such an insurmountable wall for me? The app is working, the file has to exist somewhere!

  • @ultimathule9841
    @ultimathule98412 ай бұрын

    Do you want to configure using .vimrc or json? Need to pick one. Turn off vimrc option enabled in the settings. settings.json is just the configuration. You need to add your own vim configuration in there. It won’t be there by default.

  • @lulairenoroub3869
    @lulairenoroub38692 ай бұрын

    @@ultimathule9841 I've just been watching the tutorials, and they always open the config file and it's full of stuff, and I open my config file and it's empty. But I came to think that their config file was filled by them. I wanted to be able to read the whole module, because I'm trying to learn how it works so I can figure out how to change it to suit me. But I have come to decide I'm just too green. Just don't know enough to know what I don't know, you know?

  • @ultimathule9841
    @ultimathule98412 ай бұрын

    ​@@lulairenoroub3869 If you're still green, you don't have to make it complicate for yourself just yet. Are you familiar with using vim motions? If not I suggest you learn more about it then and also related concept like what's a vimrc, leader, key mappings a little bit. I suggest vimtutor and primeagen videos. From there, after you're familiar and want to improve your workflow, there's probably a way. Just add what you need then as it would make more sense to you.

  • @Aastha-gl2wo
    @Aastha-gl2wo2 ай бұрын

    Thanks for the awesome tutorial on importing 3D models in three.js! 🚀

  • @Byynx
    @Byynx2 ай бұрын

    Do you know how to change the text caret to steady block?

  • @SuboptimalEng
    @SuboptimalEng2 ай бұрын

    It’s a setting in VS Code.

  • @TomServo-tg2tj
    @TomServo-tg2tj2 ай бұрын

    i love the aesthetic of making things 3d for no practical reasoning but with cool lighting

  • @SuboptimalEng
    @SuboptimalEng2 ай бұрын

    Lighting is everything 💡

  • @pattywu9301
    @pattywu93012 ай бұрын

    Thanks for sharing! It helps a lot