{"id":105,"date":"2022-08-22T12:48:10","date_gmt":"2022-08-22T12:48:10","guid":{"rendered":"https:\/\/leonwoud.com\/devblog\/?p=105"},"modified":"2022-08-22T13:16:11","modified_gmt":"2022-08-22T13:16:11","slug":"weve-got-textures-everybody","status":"publish","type":"post","link":"https:\/\/leonwoud.com\/devblog\/weve-got-textures-everybody\/","title":{"rendered":"We&#8217;ve got textures, everybody!"},"content":{"rendered":"\n<p>Now we&#8217;re all caught up, I reached a bit of a milestone yesterday. I managed to get textures loading and I&#8217;m fairly happy with the solution for now. This one is a milestone for me because I really wasn&#8217;t sure how to organise my resources, so the &#8220;final&#8221; design was a bit of trial and a lot of error. Right now, if you request to load the same texture twice, it&#8217;ll oblige no questions asked, but the design allows for future optimisations in this area.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"700\" style=\"aspect-ratio: 852 \/ 700;\" width=\"852\" controls src=\"https:\/\/leonwoud.com\/devblog\/wp-content\/uploads\/2022\/08\/sr_textures.mp4\"><\/video><\/figure>\n\n\n\n<p>You may notice that I no longer have the floor model drawing, this isn&#8217;t for spooky dramatic effect&#8230; it&#8217;s because right now I only have a single global descriptor set so the floor was also receiving the skull texture and it looked silly.<\/p>\n\n\n\n<p>I still have to figure out how to approach binding a descriptor set per model, if that is even the best \/ correct way to do things, so I have a bit more research to do.<\/p>\n\n\n\n<p>From here, loading multiple maps (normal, spec etc) is trivial, and only requires tweaks to the shader so I&#8217;ll save that for when I&#8217;m drowning in failures and need an easy win.<\/p>\n\n\n\n<p>Next up will be shadows, although I&#8217;m still making my way through the Vulkan Cookbook so that target may be a way off yet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Now we&#8217;re all caught up, I reached a bit of a milestone yesterday. I managed to get textures loading and I&#8217;m fairly happy with the solution for now. This one is a milestone for me because I really wasn&#8217;t sure how to organise my resources, so the &#8220;final&#8221; design was [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"bgseo_title":"","bgseo_description":"","bgseo_robots_index":"index","bgseo_robots_follow":"follow","footnotes":""},"categories":[9],"tags":[12,11,10],"class_list":["post-105","post","type-post","status-publish","format-standard","hentry","category-game-dev","tag-renderer","tag-static-rectangle","tag-vulkan"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/posts\/105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/comments?post=105"}],"version-history":[{"count":3,"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/posts\/105\/revisions"}],"predecessor-version":[{"id":208,"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/posts\/105\/revisions\/208"}],"wp:attachment":[{"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/media?parent=105"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/categories?post=105"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/leonwoud.com\/devblog\/wp-json\/wp\/v2\/tags?post=105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}