[{"data":1,"prerenderedAt":400},["ShallowReactive",2],{"project-41156872":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":33,"aspects":34,"strip":41,"post_text":43,"what":44,"said":92,"maker_in_thread":173,"shape":175,"grid":180,"attempts":362,"same_week":363,"maker_shows":38,"maker_hidden":392,"reader_version":393,"card":394},"41156872","WebGPU Unleashed","Free e-book about WebGPU Programming","title","Show HN: Free e-book about WebGPU Programming","https:\u002F\u002Fshi-yan.github.io\u002Fwebgpuunleashed\u002F","shi-yan.github.io","billconan",1722812182,2024,471,73,76,3515,3,"legend","learning_science","programming e-book","other",[24,25,26,27],"webgpu","graphics programming","webgpu tutorial","shader programming","loved",0.647,{"positive":31,"neutral":32,"mixed":18,"critical":32},11,0,14,{"docs":35,"execution":37,"idea":39,"design":40},{"positive":36,"critical":32},2,{"positive":38,"critical":32},1,{"positive":18,"critical":32},{"positive":36,"critical":32},[42,32,32,32,32,32,42,18,32,32,32,32,32,32,32,32,32,32,42,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,18,42,32,42,42,42],5,"I am excited to announce the launch of my e-book on Graphics\u002FWebGPU programming! This project has consumed much of my spare time, during which I developed various tools to facilitate the publishing process, including a code playground and a static site generator that can reference sample codes.\n\nHowever, I'm feeling burnt out and ready to call it finished, even though it may not feel completely done. Avoiding another abandoned side project has been my primary motivation in reaching this point.",{"problem":45,"audience":57,"pricing":69,"motivation":75,"time_to_build":79,"stack":80,"openness":89,"stage":90,"team_size":91},{"value":46,"source":47,"evidence":48},"Learning WebGPU and graphics programming is hard, with fragmented and scattered resources.","commenter",[49,53],{"id":50,"by":51,"text":52},"41157791","mistercow","This is great to see. I’ve been working on a WebGPU project for a couple months now, learning as I go, and it’s rough how many things there are that take tons of digging to find…",{"id":54,"by":55,"text":56},"41161177","pedrolins","This is awesome! I’ve given up learning graphics programming in the past due to the fragmented ecosystem of libraries. It just felt overwhelming. This seems exactly what I’ve…",{"value":58,"source":47,"evidence":59},"Developers wanting to learn WebGPU and graphics programming.",[60,61,65],{"id":50,"by":51,"text":52},{"id":62,"by":63,"text":64},"41159220","DrMiaow","Nice. I was just about to embark on a small game prototype in WebGPU to learn it. I'm going to start by rampaging through this book.",{"id":66,"by":67,"text":68},"41167400","Confirm2754","A rare gem of a book! I've tried using many books to get started with GPUs, but I always ended up giving up quickly. This book is the most in-depth yet easy-to-understand one…",{"value":70,"source":71,"evidence":72},"Free","maker",[73],{"id":74},"post",{"value":76,"source":71,"evidence":77},"Avoid another abandoned side project; the author built it in spare time.",[78],{"id":74},null,[81,85],{"value":82,"source":71,"evidence":83},"WebGPU",[84],{"id":74},{"value":86,"source":47,"evidence":87},"WGSL",[88],{"id":50,"by":51,"text":52},"free","launched","solo",{"praise":93,"objections":111,"requests":134,"questions":146,"alternatives":161},[94,106],{"value":95,"source":47,"evidence":96},"Well-polished, in-depth and easy-to-understand content.",[97,98,102],{"id":66,"by":67,"text":68},{"id":99,"by":100,"text":101},"41167298","kallistisoft","This is very well polished! Obviously took a lot of hard work and it shows in the results. Well done! Question: I see the that the code for the examples can be pulled from…",{"id":103,"by":104,"text":105},"41157161","sramam","This looks fantastic. Just the notion of a hyperlinked code-playground is fantastic. Not to mention the content of the book. And a side project at that? Wow. Congratulations and…",{"value":107,"source":47,"evidence":108},"Interactive code playground is a great idea.",[109,110],{"id":103,"by":104,"text":105},{"id":54,"by":55,"text":56},[112,123],{"value":113,"source":47,"evidence":114},"Mobile layout and scrolling are awkward.",[115,119],{"id":116,"by":117,"text":118},"41157256","ssahoo","Great book, thanks for writing it. Just a low hanging issue. The rendering on mobile viewport especially on Firefox is not ideal. Navigation is broke and content does not scroll…",{"id":120,"by":121,"text":122},"41161295","MalcolmDwyer","This looks great. I can't wait to dive in. Thank you very much for sharing. Formatting nitpick for the site: when viewed on mobile, the text width is set to screen width minus 1…",{"value":124,"source":47,"evidence":125},"WebGPU performance is questioned by some commenters.",[126,130],{"id":127,"by":128,"text":129},"41161548","koolala","WebGPU burned me out too when the Firefox developers got let go. WebGPU is super slow on GPU and all the official benchmarks only care about CPU performance.",{"id":131,"by":132,"text":133},"41161980","FragmentShader","> WebGPU is super slow on GPU and all the official benchmarks only care about CPU performance. omg I thought I was the only one that found that. I tried webgpu (On a native…",[135,139],{"value":136,"source":47,"evidence":137},"Offline download of the book text.",[138],{"id":99,"by":100,"text":101},{"value":140,"source":47,"evidence":141},"Playground shows book contents alongside code.",[142],{"id":143,"by":144,"text":145},"41157294","dylanhu","This is super impressive and really exciting as I am looking to get deeper into WebGPU. Two quick notes on the playground before I dive into the content soon: 1. The playground…",[147,154],{"value":148,"source":47,"evidence":149},"Why WebGPU is still not enabled by default in Firefox.",[150],{"id":151,"by":152,"text":153},"41157383","shmerl","What's the story with WebGPU in Firefox? Why is it still not enabled by default?",{"value":155,"source":47,"evidence":156},"Whether WebGPU can replace CUDA for GPU compute.",[157],{"id":158,"by":159,"text":160},"41163471","nickpsecurity","Many of us are non-graphics programmers interested in learning to benefit from CUDA-style parallelization. I’ve read they’re mostly incompatible, though. I know there’s vendors…",[162,169],{"value":163,"source":47,"evidence":164},"WebGL",[165],{"id":166,"by":167,"text":168},"41159055","Joel_Mckay","We investigated this many years ago: https:\u002F\u002Fgithub.com\u002FBabylonJS\u002FBabylon.js\u002F 1. It works just fine for basic 3D functionality, but has limited support for tricks like fog FX…",{"value":170,"source":47,"evidence":171},"CUDA",[172],{"id":158,"by":159,"text":160},{"comments":32,"answered":32,"key":174},[],{"commenters":176,"max_depth":177,"maker_replies":32,"first_comment_mins":178,"lifespan_hours":179},33,15,68,38,[181,183,187,189,193,195,199,202,205,208,210,214,218,220,223,225,228,229,232,234,237,239,241,243,245,247,249,252,254,257,259,262,265,268,271,273,275,277,279,281,283,285,287,289,293,295,298,300,302,305,307,309,311,313,315,317,319,322,324,326,328,330,332,335,338,342,345,348,350,352,353,355,360],[50,32,42,182,51,32],"project\u002Fpositive\u002Fdocs",[184,32,32,185,186,32],"41158671","other\u002Fneutral\u002Fnone","pjmlp",[188,32,32,185,51,32],"41164105",[190,32,32,191,192,32],"41159728","other\u002Fcritical\u002Fdocs","jamesu",[194,32,32,185,186,32],"41160367",[196,32,32,197,198,32],"41161105","commenter\u002Fneutral\u002Fdocs","grovesNL",[200,32,32,185,201,32],"41161237","galangalalgol",[203,32,32,204,186,32],"41161750","commenter\u002Fneutral\u002Fnone",[206,32,32,185,207,32],"41162441","johnnyanmac",[209,32,32,204,186,32],"41164607",[211,38,42,212,213,32],"41157464","maker\u002Fpositive\u002Fnone","jay-barronville",[215,36,42,216,217,32],"41157762","project\u002Fpositive\u002Fexecution","erichdongubler",[143,18,18,219,144,32],"project\u002Fmixed\u002Fexecution",[221,18,32,204,222,32],"41157588","nox101",[224,18,32,204,144,32],"41158444",[127,226,32,227,128,32],4,"other\u002Fcritical\u002Fperformance",[131,226,32,227,132,32],[230,226,32,231,198,32],"41162166","commenter\u002Fneutral\u002Fperformance",[233,226,32,231,132,32],"41162637",[235,226,32,231,236,32],"41162705","kaibee",[238,226,32,204,132,32],"41162815",[240,226,32,231,198,32],"41163129",[242,226,32,231,132,32],"41163291",[244,226,32,231,198,32],"41163426",[246,226,32,231,132,32],"41163679",[248,226,32,231,128,32],"41166396",[250,226,32,251,186,32],"41168526","other\u002Fneutral\u002Fperformance",[253,226,32,231,198,32],"41170456",[255,226,32,231,256,32],"41163139","stanleykm",[258,226,32,231,132,32],"41163311",[260,226,32,231,261,32],"41166460","jms55",[263,226,32,231,264,32],"41168216","caspar",[266,42,42,212,267,32],"41157772","j45",[103,269,42,270,104,32],6,"project\u002Fpositive\u002Fidea",[151,272,32,185,152,32],7,[274,272,32,185,222,32],"41157592",[166,272,32,276,167,32],"other\u002Fcritical\u002Fidea",[278,272,32,204,222,32],"41159690",[280,272,32,204,167,32],"41159780",[282,272,32,204,222,32],"41160090",[284,272,32,204,167,32],"41160176",[286,272,32,185,217,32],"41157602",[288,272,32,185,152,32],"41157763",[290,272,32,291,292,32],"41157765","other\u002Fpositive\u002Fnone","raphlinus",[294,272,32,185,167,32],"41159237",[296,272,32,204,297,32],"41159382","lukan",[299,272,32,204,167,32],"41159498",[301,272,32,204,297,32],"41159671",[303,272,32,304,167,32],"41159753","commenter\u002Fcritical\u002Fnone",[306,272,32,204,217,32],"41160657",[308,272,32,304,167,32],"41160932",[310,272,32,204,297,32],"41161744",[312,272,32,304,186,32],"41161854",[314,272,32,204,292,32],"41163489",[316,272,32,304,186,32],"41164578",[318,272,32,204,292,32],"41166024",[320,272,32,321,167,32],"41167146","commenter\u002Fneutral\u002Fprivacy",[323,272,32,204,167,32],"41162008",[325,272,32,185,186,32],"41160385",[327,272,32,291,128,32],"41161670",[158,329,32,185,159,32],8,[331,329,32,251,292,32],"41163514",[116,333,18,334,117,32],9,"project\u002Fmixed\u002Fdesign",[99,336,42,337,100,32],10,"project\u002Fpositive\u002Fdesign",[339,31,32,340,341,32],"41161559","other\u002Fneutral\u002Fidea","danroc",[343,31,32,340,344,32],"41161675","gizmo",[346,31,32,185,347,32],"41162515","beardyw",[66,349,42,182,67,32],12,[54,351,42,270,55,32],13,[62,33,42,270,63,32],[354,177,42,337,186,32],"41158665",[356,357,42,358,359,32],"41161148",16,"project\u002Fpositive\u002Fnone","decodingchris",[120,361,18,334,121,32],17,[],[364,369,374,379,384,388],{"id":365,"name":366,"points":367,"category":368},"41180504","Roometron",694,"creative",{"id":370,"name":371,"points":372,"category":373},"41173161","1-FPS",433,"dev_tools",{"id":375,"name":376,"points":377,"category":378},"41160268","Pie Menu",309,"productivity",{"id":380,"name":381,"points":382,"category":383},"41163645","Iso20022.js",291,"finance_crypto",{"id":385,"name":386,"points":387,"category":378},"41180441","BudgetFlow",275,{"id":389,"name":390,"points":391,"category":20},"41144826","Hanon Pro",248,false,"v2",{"id":395,"name":5,"line":6,"ai":392,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":396,"top":18,"kw":397,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":398,"url":9,"mix":399,"praise":95,"objection":113,"sub":21},41156872,0.65,[24,25,26,27],"5000005300000000005000000000000000350555",[31,32,18,32],1794036658841]