{"id":318,"date":"2020-03-23T18:35:08","date_gmt":"2020-03-23T18:35:08","guid":{"rendered":"http:\/\/memnarch.bplaced.net\/blog\/?p=318"},"modified":"2020-03-23T18:35:08","modified_gmt":"2020-03-23T18:35:08","slug":"mundus-a-softwarerenderer-in-delphi","status":"publish","type":"post","link":"https:\/\/memnarch.bplaced.net\/blog\/2020\/03\/mundus-a-softwarerenderer-in-delphi\/","title":{"rendered":"Mundus: A softwarerenderer in Delphi"},"content":{"rendered":"\n<p>Some time ago, 8 years to be precise, i started writing my second softwarerenderer. When I had the basic implementation done, I put it down. Recently I gained interest in getting it to a more usable state. It&#8217;s still far from perfect, but compared to where it started, the Shaderpipeline is a lot more flexible and easier. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>What it features:<\/p>\n\n\n\n<ul><li>Flexible Shaderpipeline<ul><li>Specify your attributes and let the Rasterizer do the perspective correct interpolation<\/li><li>Exampleshader for Texturemapping<\/li><li>Exampleshader for Vertexcoloring<\/li><li>Exampleshader for coloring by Depth<\/li><\/ul><\/li><li>Buildin Depthbuffer<ul><li>A shader can optin\/optout<\/li><li>Specify if it should write Z-Values after check<\/li><\/ul><\/li><\/ul>\n\n\n\n<p>The Source is available at <a href=\"https:\/\/github.com\/Memnarch\/Mundus\">https:\/\/github.com\/Memnarch\/Mundus<\/a> under the Mozilla Puplic License 2, or as a package on <a href=\"https:\/\/github.com\/Memnarch\/Delphinus\/wiki\">Delphinus<\/a><\/p>\n\n\n\n<p>Please bear with me that it&#8217;s available for Windows x86 only, as it makes use of some inline assembler.<\/p>\n\n\n\n<figure><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/yUhVITgrCvw\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\" width=\"560\" height=\"315\" frameborder=\"0\"><\/iframe><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Some time ago, 8 years to be precise, i started writing my second softwarerenderer. When I had the basic implementation done, I put it down. Recently I gained interest in getting it to a more usable state. It&#8217;s still far from perfect, but compared to where it started, the Shaderpipeline is a lot more flexible [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":319,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6,41,3],"tags":[7,42,43],"_links":{"self":[{"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/posts\/318"}],"collection":[{"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/comments?post=318"}],"version-history":[{"count":5,"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/posts\/318\/revisions"}],"predecessor-version":[{"id":324,"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/posts\/318\/revisions\/324"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/media\/319"}],"wp:attachment":[{"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/media?parent=318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/categories?post=318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/tags?post=318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}