<!DOCTYPE html>
<html class='v2' dir='ltr' lang='en-GB'>
<head>
<link href='https://www.blogger.com/static/v1/widgets/2975350028-css_bundle_v2.css' rel='stylesheet' type='text/css'/>
<meta content='width=1100' name='viewport'/>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='blogger' name='generator'/>
<link href='http://randomchaosdx11adventures.blogspot.com/favicon.ico' rel='icon' type='image/x-icon'/>
<link href='http://randomchaosdx11adventures.blogspot.com/' rel='canonical'/>
<link rel="alternate" type="application/atom+xml" title="Randomchaos: Graphics Adventures in C++ with DirectX 11 - Atom" href="http://randomchaosdx11adventures.blogspot.com/feeds/posts/default" />
<link rel="alternate" type="application/rss+xml" title="Randomchaos: Graphics Adventures in C++ with DirectX 11 - RSS" href="http://randomchaosdx11adventures.blogspot.com/feeds/posts/default?alt=rss" />
<link rel="service.post" type="application/atom+xml" title="Randomchaos: Graphics Adventures in C++ with DirectX 11 - Atom" href="https://www.blogger.com/feeds/4574155898288409922/posts/default" />
<link rel="me" href="https://www.blogger.com/profile/10935746329039730399" />
<!--Can't find substitution for tag [blog.ieCssRetrofitLinks]-->
<meta content='http://randomchaosdx11adventures.blogspot.com/' property='og:url'/>
<meta content='Randomchaos: Graphics Adventures in C++ with DirectX 11' property='og:title'/>
<meta content='Me getting into C++ and DX11 and posting the results...' property='og:description'/>
<title>Randomchaos: Graphics Adventures in C++ with DirectX 11</title>
<style id='page-skin-1' type='text/css'><!--
/*
-----------------------------------------------
Blogger Template Style
Name:     Awesome Inc.
Designer: Tina Chen
URL:      tinachen.org
----------------------------------------------- */
/* Content
----------------------------------------------- */
body {
font: normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #ffffff;
background: #000000 url(http://www.blogblog.com/1kt/awesomeinc/body_background_dark.png) repeat scroll top left;
}
html body .content-outer {
min-width: 0;
max-width: 100%;
width: 100%;
}
a:link {
text-decoration: none;
color: #888888;
}
a:visited {
text-decoration: none;
color: #444444;
}
a:hover {
text-decoration: underline;
color: #cccccc;
}
.body-fauxcolumn-outer .cap-top {
position: absolute;
z-index: 1;
height: 276px;
width: 100%;
background: transparent url(http://www.blogblog.com/1kt/awesomeinc/body_gradient_dark.png) repeat-x scroll top left;
_background-image: none;
}
/* Columns
----------------------------------------------- */
.content-inner {
padding: 0;
}
.header-inner .section {
margin: 0 16px;
}
.tabs-inner .section {
margin: 0 16px;
}
.main-inner {
padding-top: 30px;
}
.main-inner .column-center-inner,
.main-inner .column-left-inner,
.main-inner .column-right-inner {
padding: 0 5px;
}
*+html body .main-inner .column-center-inner {
margin-top: -30px;
}
#layout .main-inner .column-center-inner {
margin-top: 0;
}
/* Header
----------------------------------------------- */
.header-outer {
margin: 0 0 0 0;
background: transparent none repeat scroll 0 0;
}
.Header h1 {
font: normal bold 40px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #ffffff;
text-shadow: 0 0 -1px #000000;
}
.Header h1 a {
color: #ffffff;
}
.Header .description {
font: normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #ffffff;
}
.header-inner .Header .titlewrapper,
.header-inner .Header .descriptionwrapper {
padding-left: 0;
padding-right: 0;
margin-bottom: 0;
}
.header-inner .Header .titlewrapper {
padding-top: 22px;
}
/* Tabs
----------------------------------------------- */
.tabs-outer {
overflow: hidden;
position: relative;
background: #141414 none repeat scroll 0 0;
}
#layout .tabs-outer {
overflow: visible;
}
.tabs-cap-top, .tabs-cap-bottom {
position: absolute;
width: 100%;
border-top: 1px solid #222222;
}
.tabs-cap-bottom {
bottom: 0;
}
.tabs-inner .widget li a {
display: inline-block;
margin: 0;
padding: .6em 1.5em;
font: normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #ffffff;
border-top: 1px solid #222222;
border-bottom: 1px solid #222222;
border-left: 1px solid #222222;
height: 16px;
line-height: 16px;
}
.tabs-inner .widget li:last-child a {
border-right: 1px solid #222222;
}
.tabs-inner .widget li.selected a, .tabs-inner .widget li a:hover {
background: #444444 none repeat-x scroll 0 -100px;
color: #ffffff;
}
/* Headings
----------------------------------------------- */
h2 {
font: normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #ffffff;
}
/* Widgets
----------------------------------------------- */
.main-inner .section {
margin: 0 27px;
padding: 0;
}
.main-inner .column-left-outer,
.main-inner .column-right-outer {
margin-top: 0;
}
#layout .main-inner .column-left-outer,
#layout .main-inner .column-right-outer {
margin-top: 0;
}
.main-inner .column-left-inner,
.main-inner .column-right-inner {
background: transparent none repeat 0 0;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-moz-border-radius: 0;
-webkit-border-radius: 0;
-goog-ms-border-radius: 0;
border-radius: 0;
}
#layout .main-inner .column-left-inner,
#layout .main-inner .column-right-inner {
margin-top: 0;
}
.sidebar .widget {
font: normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #ffffff;
}
.sidebar .widget a:link {
color: #888888;
}
.sidebar .widget a:visited {
color: #444444;
}
.sidebar .widget a:hover {
color: #cccccc;
}
.sidebar .widget h2 {
text-shadow: 0 0 -1px #000000;
}
.main-inner .widget {
background-color: #141414;
border: 1px solid #222222;
padding: 0 15px 15px;
margin: 20px -16px;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-moz-border-radius: 0;
-webkit-border-radius: 0;
-goog-ms-border-radius: 0;
border-radius: 0;
}
.main-inner .widget h2 {
margin: 0 -15px;
padding: .6em 15px .5em;
border-bottom: 1px solid #000000;
}
.footer-inner .widget h2 {
padding: 0 0 .4em;
border-bottom: 1px solid #000000;
}
.main-inner .widget h2 + div, .footer-inner .widget h2 + div {
border-top: 1px solid #222222;
padding-top: 8px;
}
.main-inner .widget .widget-content {
margin: 0 -15px;
padding: 7px 15px 0;
}
.main-inner .widget ul, .main-inner .widget #ArchiveList ul.flat {
margin: -8px -15px 0;
padding: 0;
list-style: none;
}
.main-inner .widget #ArchiveList {
margin: -8px 0 0;
}
.main-inner .widget ul li, .main-inner .widget #ArchiveList ul.flat li {
padding: .5em 15px;
text-indent: 0;
color: #666666;
border-top: 1px solid #222222;
border-bottom: 1px solid #000000;
}
.main-inner .widget #ArchiveList ul li {
padding-top: .25em;
padding-bottom: .25em;
}
.main-inner .widget ul li:first-child, .main-inner .widget #ArchiveList ul.flat li:first-child {
border-top: none;
}
.main-inner .widget ul li:last-child, .main-inner .widget #ArchiveList ul.flat li:last-child {
border-bottom: none;
}
.post-body {
position: relative;
}
.main-inner .widget .post-body ul {
padding: 0 2.5em;
margin: .5em 0;
list-style: disc;
}
.main-inner .widget .post-body ul li {
padding: 0.25em 0;
margin-bottom: .25em;
color: #ffffff;
border: none;
}
.footer-inner .widget ul {
padding: 0;
list-style: none;
}
.widget .zippy {
color: #666666;
}
/* Posts
----------------------------------------------- */
body .main-inner .Blog {
padding: 0;
margin-bottom: 1em;
background-color: transparent;
border: none;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}
.main-inner .section:last-child .Blog:last-child {
padding: 0;
margin-bottom: 1em;
}
.main-inner .widget h2.date-header {
margin: 0 -15px 1px;
padding: 0 0 0 0;
font: normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #666666;
background: transparent none no-repeat scroll top left;
border-top: 0 solid #222222;
border-bottom: 1px solid #000000;
-moz-border-radius-topleft: 0;
-moz-border-radius-topright: 0;
-webkit-border-top-left-radius: 0;
-webkit-border-top-right-radius: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
position: static;
bottom: 100%;
right: 15px;
text-shadow: 0 0 -1px #000000;
}
.main-inner .widget h2.date-header span {
font: normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
display: block;
padding: .5em 15px;
border-left: 0 solid #222222;
border-right: 0 solid #222222;
}
.date-outer {
position: relative;
margin: 30px 0 20px;
padding: 0 15px;
background-color: #141414;
border: 1px solid #222222;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-moz-border-radius: 0;
-webkit-border-radius: 0;
-goog-ms-border-radius: 0;
border-radius: 0;
}
.date-outer:first-child {
margin-top: 0;
}
.date-outer:last-child {
margin-bottom: 20px;
-moz-border-radius-bottomleft: 0;
-moz-border-radius-bottomright: 0;
-webkit-border-bottom-left-radius: 0;
-webkit-border-bottom-right-radius: 0;
-goog-ms-border-bottom-left-radius: 0;
-goog-ms-border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.date-posts {
margin: 0 -15px;
padding: 0 15px;
clear: both;
}
.post-outer, .inline-ad {
border-top: 1px solid #222222;
margin: 0 -15px;
padding: 15px 15px;
}
.post-outer {
padding-bottom: 10px;
}
.post-outer:first-child {
padding-top: 0;
border-top: none;
}
.post-outer:last-child, .inline-ad:last-child {
border-bottom: none;
}
.post-body {
position: relative;
}
.post-body img {
padding: 8px;
background: #222222;
border: 1px solid transparent;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-moz-border-radius: 0;
-webkit-border-radius: 0;
border-radius: 0;
}
h3.post-title, h4 {
font: normal bold 22px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #ffffff;
}
h3.post-title a {
font: normal bold 22px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #ffffff;
}
h3.post-title a:hover {
color: #cccccc;
text-decoration: underline;
}
.post-header {
margin: 0 0 1em;
}
.post-body {
line-height: 1.4;
}
.post-outer h2 {
color: #ffffff;
}
.post-footer {
margin: 1.5em 0 0;
}
#blog-pager {
padding: 15px;
font-size: 120%;
background-color: #141414;
border: 1px solid #222222;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-moz-border-radius: 0;
-webkit-border-radius: 0;
-goog-ms-border-radius: 0;
border-radius: 0;
-moz-border-radius-topleft: 0;
-moz-border-radius-topright: 0;
-webkit-border-top-left-radius: 0;
-webkit-border-top-right-radius: 0;
-goog-ms-border-top-left-radius: 0;
-goog-ms-border-top-right-radius: 0;
border-top-left-radius: 0;
border-top-right-radius-topright: 0;
margin-top: 1em;
}
.blog-feeds, .post-feeds {
margin: 1em 0;
text-align: center;
color: #ffffff;
}
.blog-feeds a, .post-feeds a {
color: #888888;
}
.blog-feeds a:visited, .post-feeds a:visited {
color: #444444;
}
.blog-feeds a:hover, .post-feeds a:hover {
color: #cccccc;
}
.post-outer .comments {
margin-top: 2em;
}
/* Comments
----------------------------------------------- */
.comments .comments-content .icon.blog-author {
background-repeat: no-repeat;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9sLFwMeCjjhcOMAAAD+SURBVDjLtZSvTgNBEIe/WRRnm3U8RC1neQdsm1zSBIU9VVF1FkUguQQsD9ITmD7ECZIJSE4OZo9stoVjC/zc7ky+zH9hXwVwDpTAWWLrgS3QAe8AZgaAJI5zYAmc8r0G4AHYHQKVwII8PZrZFsBFkeRCABYiMh9BRUhnSkPTNCtVXYXURi1FpBDgArj8QU1eVXUzfnjv7yP7kwu1mYrkWlU33vs1QNu2qU8pwN0UpKoqokjWwCztrMuBhEhmh8bD5UDqur75asbcX0BGUB9/HAMB+r32hznJgXy2v0sGLBcyAJ1EK3LFcbo1s91JeLwAbwGYu7TP/3ZGfnXYPgAVNngtqatUNgAAAABJRU5ErkJggg==);
}
.comments .comments-content .loadmore a {
border-top: 1px solid #222222;
border-bottom: 1px solid #222222;
}
.comments .continue {
border-top: 2px solid #222222;
}
/* Footer
----------------------------------------------- */
.footer-outer {
margin: -0 0 -1px;
padding: 0 0 0;
color: #ffffff;
overflow: hidden;
}
.footer-fauxborder-left {
border-top: 1px solid #222222;
background: #141414 none repeat scroll 0 0;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
box-shadow: 0 0 0 rgba(0, 0, 0, .2);
margin: 0 -0;
}
/* Mobile
----------------------------------------------- */
body.mobile {
background-size: auto;
}
.mobile .body-fauxcolumn-outer {
background: transparent none repeat scroll top left;
}
*+html body.mobile .main-inner .column-center-inner {
margin-top: 0;
}
.mobile .main-inner .widget {
padding: 0 0 15px;
}
.mobile .main-inner .widget h2 + div,
.mobile .footer-inner .widget h2 + div {
border-top: none;
padding-top: 0;
}
.mobile .footer-inner .widget h2 {
padding: 0.5em 0;
border-bottom: none;
}
.mobile .main-inner .widget .widget-content {
margin: 0;
padding: 7px 0 0;
}
.mobile .main-inner .widget ul,
.mobile .main-inner .widget #ArchiveList ul.flat {
margin: 0 -15px 0;
}
.mobile .main-inner .widget h2.date-header {
right: 0;
}
.mobile .date-header span {
padding: 0.4em 0;
}
.mobile .date-outer:first-child {
margin-bottom: 0;
border: 1px solid #222222;
-moz-border-radius-topleft: 0;
-moz-border-radius-topright: 0;
-webkit-border-top-left-radius: 0;
-webkit-border-top-right-radius: 0;
-goog-ms-border-top-left-radius: 0;
-goog-ms-border-top-right-radius: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.mobile .date-outer {
border-color: #222222;
border-width: 0 1px 1px;
}
.mobile .date-outer:last-child {
margin-bottom: 0;
}
.mobile .main-inner {
padding: 0;
}
.mobile .header-inner .section {
margin: 0;
}
.mobile .post-outer, .mobile .inline-ad {
padding: 5px 0;
}
.mobile .tabs-inner .section {
margin: 0 10px;
}
.mobile .main-inner .widget h2 {
margin: 0;
padding: 0;
}
.mobile .main-inner .widget h2.date-header span {
padding: 0;
}
.mobile .main-inner .widget .widget-content {
margin: 0;
padding: 7px 0 0;
}
.mobile #blog-pager {
border: 1px solid transparent;
background: #141414 none repeat scroll 0 0;
}
.mobile .main-inner .column-left-inner,
.mobile .main-inner .column-right-inner {
background: transparent none repeat 0 0;
-moz-box-shadow: none;
-webkit-box-shadow: none;
-goog-ms-box-shadow: none;
box-shadow: none;
}
.mobile .date-posts {
margin: 0;
padding: 0;
}
.mobile .footer-fauxborder-left {
margin: 0;
border-top: inherit;
}
.mobile .main-inner .section:last-child .Blog:last-child {
margin-bottom: 0;
}
.mobile-index-contents {
color: #ffffff;
}
.mobile .mobile-link-button {
background: #888888 none repeat scroll 0 0;
}
.mobile-link-button a:link, .mobile-link-button a:visited {
color: #ffffff;
}
.mobile .tabs-inner .PageList .widget-content {
background: transparent;
border-top: 1px solid;
border-color: #222222;
color: #ffffff;
}
.mobile .tabs-inner .PageList .widget-content .pagelist-arrow {
border-left: 1px solid #222222;
}

--></style>
<style id='template-skin-1' type='text/css'><!--
body {
min-width: 960px;
}
.content-outer, .content-fauxcolumn-outer, .region-inner {
min-width: 960px;
max-width: 960px;
_width: 960px;
}
.main-inner .columns {
padding-left: 0px;
padding-right: 310px;
}
.main-inner .fauxcolumn-center-outer {
left: 0px;
right: 310px;
/* IE6 does not respect left and right together */
_width: expression(this.parentNode.offsetWidth -
parseInt("0px") -
parseInt("310px") + 'px');
}
.main-inner .fauxcolumn-left-outer {
width: 0px;
}
.main-inner .fauxcolumn-right-outer {
width: 310px;
}
.main-inner .column-left-outer {
width: 0px;
right: 100%;
margin-left: -0px;
}
.main-inner .column-right-outer {
width: 310px;
margin-right: -310px;
}
#layout {
min-width: 0;
}
#layout .content-outer {
min-width: 0;
width: 800px;
}
#layout .region-inner {
min-width: 0;
width: auto;
}
body#layout div.add_widget {
padding: 8px;
}
body#layout div.add_widget a {
margin-left: 32px;
}
--></style>
<link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=4574155898288409922&amp;zx=6cdaa514-4472-449e-96e8-07c79102064f' media='none' onload='if(media!=&#39;all&#39;)media=&#39;all&#39;' rel='stylesheet'/><noscript><link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=4574155898288409922&amp;zx=6cdaa514-4472-449e-96e8-07c79102064f' rel='stylesheet'/></noscript>
<meta name='google-adsense-platform-account' content='ca-host-pub-1556223355139109'/>
<meta name='google-adsense-platform-domain' content='blogspot.com'/>

<script type="text/javascript" language="javascript">
  // Supply ads personalization default for EEA readers
  // See https://www.blogger.com/go/adspersonalization
  adsbygoogle = window.adsbygoogle || [];
  if (typeof adsbygoogle.requestNonPersonalizedAds === 'undefined') {
    adsbygoogle.requestNonPersonalizedAds = 1;
  }
</script>


</head>
<body class='loading variant-dark'>
<div class='navbar section' id='navbar' name='Navbar'><div class='widget Navbar' data-version='1' id='Navbar1'><script type="text/javascript">
    function setAttributeOnload(object, attribute, val) {
      if(window.addEventListener) {
        window.addEventListener('load',
          function(){ object[attribute] = val; }, false);
      } else {
        window.attachEvent('onload', function(){ object[attribute] = val; });
      }
    }
  </script>
<div id="navbar-iframe-container"></div>
<script type="text/javascript" src="https://apis.google.com/js/platform.js"></script>
<script type="text/javascript">
      gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() {
        if (gapi.iframes && gapi.iframes.getContext) {
          gapi.iframes.getContext().openChild({
              url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d4574155898288409922\x26blogName\x3dRandomchaos:+Graphics+Adventures+in+C...\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dLIGHT\x26layoutType\x3dLAYOUTS\x26searchRoot\x3dhttps://randomchaosdx11adventures.blogspot.com/search\x26blogLocale\x3den_GB\x26v\x3d2\x26homepageUrl\x3dhttp://randomchaosdx11adventures.blogspot.com/\x26vt\x3d-1733006462051948289',
              where: document.getElementById("navbar-iframe-container"),
              id: "navbar-iframe"
          });
        }
      });
    </script><script type="text/javascript">
(function() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = '//pagead2.googlesyndication.com/pagead/js/google_top_exp.js';
var head = document.getElementsByTagName('head')[0];
if (head) {
head.appendChild(script);
}})();
</script>
</div></div>
<div itemscope='itemscope' itemtype='http://schema.org/Blog' style='display: none;'>
<meta content='Randomchaos: Graphics Adventures in C++ with DirectX 11' itemprop='name'/>
</div>
<div class='body-fauxcolumns'>
<div class='fauxcolumn-outer body-fauxcolumn-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</div>
<div class='content'>
<div class='content-fauxcolumns'>
<div class='fauxcolumn-outer content-fauxcolumn-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</div>
<div class='content-outer'>
<div class='content-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left content-fauxborder-left'>
<div class='fauxborder-right content-fauxborder-right'></div>
<div class='content-inner'>
<header>
<div class='header-outer'>
<div class='header-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left header-fauxborder-left'>
<div class='fauxborder-right header-fauxborder-right'></div>
<div class='region-inner header-inner'>
<div class='header section' id='header' name='Header'><div class='widget Header' data-version='1' id='Header1'>
<div id='header-inner'>
<div class='titlewrapper'>
<h1 class='title'>
Randomchaos: Graphics Adventures in C++ with DirectX 11
</h1>
</div>
<div class='descriptionwrapper'>
<p class='description'><span>Me getting into C++ and DX11 and posting the results...</span></p>
</div>
</div>
</div></div>
</div>
</div>
<div class='header-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</header>
<div class='tabs-outer'>
<div class='tabs-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left tabs-fauxborder-left'>
<div class='fauxborder-right tabs-fauxborder-right'></div>
<div class='region-inner tabs-inner'>
<div class='tabs section' id='crosscol' name='Cross-column'><div class='widget PageList' data-version='1' id='PageList1'>
<h2>Pages</h2>
<div class='widget-content'>
<ul>
<li class='selected'>
<a href='http://randomchaosdx11adventures.blogspot.com/'>Home</a>
</li>
<li>
<a href='http://randomchaosxnaadventures.blogspot.co.uk/'>Adventures with XNA</a>
</li>
<li>
<a href='http://steamlockjones.blogspot.co.uk/'>Steam Lock Jones</a>
</li>
<li>
<a href='http://xboxoneindiedevelopment.blogspot.co.uk/'>XBox One Indie Development</a>
</li>
</ul>
<div class='clear'></div>
</div>
</div></div>
<div class='tabs no-items section' id='crosscol-overflow' name='Cross-Column 2'></div>
</div>
</div>
<div class='tabs-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<div class='main-outer'>
<div class='main-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left main-fauxborder-left'>
<div class='fauxborder-right main-fauxborder-right'></div>
<div class='region-inner main-inner'>
<div class='columns fauxcolumns'>
<div class='fauxcolumn-outer fauxcolumn-center-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<div class='fauxcolumn-outer fauxcolumn-left-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<div class='fauxcolumn-outer fauxcolumn-right-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<!-- corrects IE6 width calculation -->
<div class='columns-inner'>
<div class='column-center-outer'>
<div class='column-center-inner'>
<div class='main section' id='main' name='Main'><div class='widget Blog' data-version='1' id='Blog1'>
<div class='blog-posts hfeed'>

          <div class="date-outer">
        
<h2 class='date-header'><span>Sunday, 22 December 2013</span></h2>

          <div class="date-posts">
        
<div class='post-outer'>
<div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<meta content='4574155898288409922' itemprop='blogId'/>
<meta content='9124314217814716328' itemprop='postId'/>
<a name='9124314217814716328'></a>
<h3 class='post-title entry-title' itemprop='name'>
<a href='http://randomchaosdx11adventures.blogspot.com/2013/12/learning-windows-8-game-development.html'>Learning Windows 8 Game Development Written by Michael Quandt</a>
</h3>
<div class='post-header'>
<div class='post-header-line-1'></div>
</div>
<div class='post-body entry-content' id='post-body-9124314217814716328' itemprop='description articleBody'>
<h2>
Packt</h2>
I have reviewed one or two books that have been published by <a href="https://www.packtpub.com/">Packt</a> publishing, and I have to be honest, the content, while normally accurate, has been a little thin on the ground. I am pleased to say, not with this book! <br />
I am pleased to say this as I have known the author for a number of years. As is the case with on line communities, I have never met him physically, but I have known Michael for many years. <br />
<h2>
Chr0n1x</h2>
I first encountered him when I started to get into XNA on a well know community board called the <a href="http://www.thehazymind.com/">Hazy Mind</a>, he went by the name Chr0n1x then, board was ran by another XNA/DX guru Micael Schuld. Chr0n1x was one of the main go to guys on that board after the admin, and he helped me a great deal, not just in the early days but even today with various GPU related issues I have. At that time I don&#8217;t think Michael was even in college/Uni then but his understanding and knowledge of the GPU and it&#8217;s pipeline was hard to beat.<br />
<h2>
The Book</h2>
So, enough of all that, what about this book, we know it&#8217;s rich in content, but is it any good? I think it is, it takes you right from the basics of setting up your project and creating a simple game loop along with a graphics device, drawing sprites and using input devices and accelerometers to live tiles, networking publishing to the store and monetization. Now, I know, this all sounds a bit 2D, but in the appendix Michael quickly covers some of the basics of 3D too, but to be honest, you really need the first lot of tools and can create a great 2D game, but you still need the skills from the previous chapters to get your game together whether its 2D or 3D.<br />
<h2>
Should I buy this book?</h2>
If you are not new to C++, but new to DirectX and/or game development and want a great book to get you into it, and take you to an intermediate level then, yes, this is the book for you. If you know C++ and have done some game development, then yes, there is some great stuff in here for building games for Windows 8, personally I am going to find it very useful for padding out a lot of holes in my C++ and DX knowledge.<br />
<h2>
Anything Missing?</h2>
The only thing I would have liked to have seen in this book was audio, it gets a mention, but there is no implementation shown, which is a shame, but you know what, the amount of stuff that&#8217;s in here, you can find this out somewhere else anyway.<br />
<h2>
Where Is It?</h2>
<div>
You can get a copy of the book <a href="http://www.packtpub.com/learning-windows-8-game-development/book" target="_blank">here</a>.</div>
<div style='clear: both;'></div>
</div>
<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'>
<span class='post-author vcard'>
Posted by
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<meta content='https://www.blogger.com/profile/10935746329039730399' itemprop='url'/>
<a class='g-profile' href='https://www.blogger.com/profile/10935746329039730399' rel='author' title='author profile'>
<span itemprop='name'>Charles</span>
</a>
</span>
</span>
<span class='post-timestamp'>
at
<meta content='http://randomchaosdx11adventures.blogspot.com/2013/12/learning-windows-8-game-development.html' itemprop='url'/>
<a class='timestamp-link' href='http://randomchaosdx11adventures.blogspot.com/2013/12/learning-windows-8-game-development.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2013-12-22T16:33:00-08:00'>16:33</abbr></a>
</span>
<span class='post-comment-link'>
<a class='comment-link' href='http://randomchaosdx11adventures.blogspot.com/2013/12/learning-windows-8-game-development.html#comment-form' onclick=''>
1 comment:
  </a>
</span>
<span class='post-icons'>
<span class='item-control blog-admin pid-441182239'>
<a href='https://www.blogger.com/post-edit.g?blogID=4574155898288409922&postID=9124314217814716328&from=pencil' title='Edit Post'>
<img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/>
</a>
</span>
</span>
<div class='post-share-buttons goog-inline-block'>
<a class='goog-inline-block share-button sb-email' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=9124314217814716328&target=email' target='_blank' title='Email This'><span class='share-button-link-text'>Email This</span></a><a class='goog-inline-block share-button sb-blog' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=9124314217814716328&target=blog' onclick='window.open(this.href, "_blank", "height=270,width=475"); return false;' target='_blank' title='BlogThis!'><span class='share-button-link-text'>BlogThis!</span></a><a class='goog-inline-block share-button sb-twitter' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=9124314217814716328&target=twitter' target='_blank' title='Share to Twitter'><span class='share-button-link-text'>Share to Twitter</span></a><a class='goog-inline-block share-button sb-facebook' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=9124314217814716328&target=facebook' onclick='window.open(this.href, "_blank", "height=430,width=640"); return false;' target='_blank' title='Share to Facebook'><span class='share-button-link-text'>Share to Facebook</span></a><a class='goog-inline-block share-button sb-pinterest' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=9124314217814716328&target=pinterest' target='_blank' title='Share to Pinterest'><span class='share-button-link-text'>Share to Pinterest</span></a>
</div>
</div>
<div class='post-footer-line post-footer-line-2'>
<span class='post-labels'>
</span>
</div>
<div class='post-footer-line post-footer-line-3'>
<span class='post-location'>
</span>
</div>
</div>
</div>
</div>

          </div></div>
        

          <div class="date-outer">
        
<h2 class='date-header'><span>Friday, 2 August 2013</span></h2>

          <div class="date-posts">
        
<div class='post-outer'>
<div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<meta content='4574155898288409922' itemprop='blogId'/>
<meta content='5186697294722119698' itemprop='postId'/>
<a name='5186697294722119698'></a>
<h3 class='post-title entry-title' itemprop='name'>
<a href='http://randomchaosdx11adventures.blogspot.com/2013/08/hlsl-development-cookbook-by-doron.html'>HLSL Development Cookbook By Doron Feinstein Published By Packt Publishing</a>
</h3>
<div class='post-header'>
<div class='post-header-line-1'></div>
</div>
<div class='post-body entry-content' id='post-body-5186697294722119698' itemprop='description articleBody'>
<p>A number of weeks ago, I was asked by <a href="http://www.packtpub.com/" target="_blank">Packt Publishing</a> to review this <a href="http://www.packtpub.com/high-level-shader-language-development-cookbook/book?utm_source=blog&amp;utm_medium=email&amp;utm_term=DIrect+X%2C+HLSL&amp;utm_campaign=social+media.com3" target="_blank">book</a>, they gave me access to the eBook version of the book. Normally I am not to keen on reviewing books, but as this was based on a topic close to my heart (HLSL) I thought I would give it a go.</p> <p>The book is made up of six chapters, which for a book priced at (hard back) &#163;30.99 seems steep, I guess you can get the eBook for &#163;16.14. The books tag line is &#8220;Quick answers to common problems&#8221;, and I guess it sort of does provide this from forward rendering, deferred lighting, shadow mapping, post processing and SSAO, and all for DirectX 11. </p> <p>I am going to go over each of the chapters and tell you what I thought of each.</p> <h1>Chapter 1: Forward Lighting</h1> <p>Chapter 1 starts of where I guess we all do with HLSL, with forward rendering. Covering Hemispherical ambient light, directional light, point, spot and capsule light, it then goes on to cover projected textures as well as multiple lights. The last part of this chapter I found odd to cover as the next chapter covers deferred lighting, for those of you who are un aware of the difference, with forward render having more than 3 lights tends to kill your GPU, where as deferred lighting allows you to render lots and lots of lights at comparatively little cost. I did however like the solution given for the multiple lights for a forward render :)</p> <h1>Chapter 2: Deferred Shading</h1> <p>A topic close to my heart, this is not done how I would have done it, but still gives a good effect, this chapter covers the creation of the GBuffer, but does not cover how you would go about creating the render targets for it in ode, other than giving the types of targets to use for each RT (You can download the source code for this once you have bought the book though, C++ only though) The chapter then goes onto cover a number of light types, point, capsule and spot lights, but again thought a cone light could have also been added.</p> <h1>Chapter 3: Shadow Mapping</h1> <p>I quite liked the shadow mapping technique given in this book, it uses a PCF (Percentage Closer Filtering) technique, as with most of the chapters in this book, it would have benefitted more if there were more screen shots of the effect being implemented, might just be me, but I like books with pictures, I am not the sharpest tool in the box :S. The chapter only covers shadows generated by spot and point lights based on the techniques used in Chapter 1, the chapter then goes onto cascading shadows and visualizing shadow maps.</p> <h1>Chapter 4: Postprocessing</h1> <p>Another HLS topic close to my heart, but I am not sure I enjoyed this chapter, covering HDR it also went on to a process called Adaption for smoothing HDR transitions, which I think should really just be part of the HDR chapter again, no images showing the effect. The chapter then covers bloom, always a nice post processing effect. Depth of Field is next, but again let down not having an image of the effect. An effect called Bokeh is then give, now I have never heard of this technique (probably should have) so it was good to learn something new, and it even has a nice image of the effect too, and I like the look of it :)</p> <h1>Chapter 5: Screen Space Effects</h1> <p>Onto chapter 5 and screen space effects, I think I would have had all this in chapter 4, but then I guess they only have a five chapter book then. In this chapter SSAO, lens flare, crepuscular (God) rays and screen space reflections are covered. Again, with the SSAO technique, it could have done with an image or two to show you what you will be getting for your effort, there is a good description of how it works though, which helps. Screen space reflections is a nice article and again has a good description of how it works. The God rays are nice too and has (as well as the SSAO article) given me food for thought on how I go about rendering mine :)</p> <h1>Chapter 6: Environment Effects</h1> <p>Covered here are Dynamic Decals, Fog and Rain. Having little experience of DX10/11 this was new to me, and was nice to read something that I didn&#8217;t have a clue about. The fog is technique here is also a technique I quite like, rather than just lerping the distance to pixel a helper function is created to do the calculation. The rain is also a nice technique with collision detection also included.</p> <h1>Summary</h1> <p>Throughout the book I do like how the info is presented, having a description of what&#8217;s to be covered, followed by a &#8220;Get ready&#8221; section telling you the things you are going to need, then a &#8220;How to do it&#8221; section giving a breakdown of how to go about writing the shaders, then a &#8220;How it works&#8221; section breaking down the How to.</p> <p>It would have been nice to have had a few more pictures displaying the effects, as a visual art, it&#8217;s always nice to see what the effect should be like. Also, the book is source code neutral, I kind of see why that was done, but would have been good to have seen how the source code from C++ and C# would be used to implement the effects, but I guess you can download the source once you have purchased the book, but again, this is all in C++. It would have been nice to have C# samples too. On the whole I think it&#8217;s an expensive book for what you get, but the content seems sound and would help to get you started writing your own render engine using HLSL under DirectX 11. Which reminds me, I really need to get a decent development machine so I can play with DX11 more :P</p> <p>In case you missed the link to the book, you can get it <a href="http://www.packtpub.com/high-level-shader-language-development-cookbook/book?utm_source=blog&amp;utm_medium=email&amp;utm_term=DIrect+X%2C+HLSL&amp;utm_campaign=social+media.com3" target="_blank">here</a>.</p> <p>Hope you found this review useful.</p>  
<div style='clear: both;'></div>
</div>
<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'>
<span class='post-author vcard'>
Posted by
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<meta content='https://www.blogger.com/profile/10935746329039730399' itemprop='url'/>
<a class='g-profile' href='https://www.blogger.com/profile/10935746329039730399' rel='author' title='author profile'>
<span itemprop='name'>Charles</span>
</a>
</span>
</span>
<span class='post-timestamp'>
at
<meta content='http://randomchaosdx11adventures.blogspot.com/2013/08/hlsl-development-cookbook-by-doron.html' itemprop='url'/>
<a class='timestamp-link' href='http://randomchaosdx11adventures.blogspot.com/2013/08/hlsl-development-cookbook-by-doron.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2013-08-02T11:24:00-07:00'>11:24</abbr></a>
</span>
<span class='post-comment-link'>
<a class='comment-link' href='http://randomchaosdx11adventures.blogspot.com/2013/08/hlsl-development-cookbook-by-doron.html#comment-form' onclick=''>
No comments:
  </a>
</span>
<span class='post-icons'>
<span class='item-control blog-admin pid-441182239'>
<a href='https://www.blogger.com/post-edit.g?blogID=4574155898288409922&postID=5186697294722119698&from=pencil' title='Edit Post'>
<img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/>
</a>
</span>
</span>
<div class='post-share-buttons goog-inline-block'>
<a class='goog-inline-block share-button sb-email' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=5186697294722119698&target=email' target='_blank' title='Email This'><span class='share-button-link-text'>Email This</span></a><a class='goog-inline-block share-button sb-blog' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=5186697294722119698&target=blog' onclick='window.open(this.href, "_blank", "height=270,width=475"); return false;' target='_blank' title='BlogThis!'><span class='share-button-link-text'>BlogThis!</span></a><a class='goog-inline-block share-button sb-twitter' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=5186697294722119698&target=twitter' target='_blank' title='Share to Twitter'><span class='share-button-link-text'>Share to Twitter</span></a><a class='goog-inline-block share-button sb-facebook' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=5186697294722119698&target=facebook' onclick='window.open(this.href, "_blank", "height=430,width=640"); return false;' target='_blank' title='Share to Facebook'><span class='share-button-link-text'>Share to Facebook</span></a><a class='goog-inline-block share-button sb-pinterest' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=5186697294722119698&target=pinterest' target='_blank' title='Share to Pinterest'><span class='share-button-link-text'>Share to Pinterest</span></a>
</div>
</div>
<div class='post-footer-line post-footer-line-2'>
<span class='post-labels'>
</span>
</div>
<div class='post-footer-line post-footer-line-3'>
<span class='post-location'>
</span>
</div>
</div>
</div>
</div>

          </div></div>
        

          <div class="date-outer">
        
<h2 class='date-header'><span>Wednesday, 30 January 2013</span></h2>

          <div class="date-posts">
        
<div class='post-outer'>
<div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<meta content='4574155898288409922' itemprop='blogId'/>
<meta content='5400640330613509801' itemprop='postId'/>
<a name='5400640330613509801'></a>
<h3 class='post-title entry-title' itemprop='name'>
<a href='http://randomchaosdx11adventures.blogspot.com/2013/01/current-state-of-play-with-my-c-engine.html'>Current State Of Play with my C++ Engine</a>
</h3>
<div class='post-header'>
<div class='post-header-line-1'></div>
</div>
<div class='post-body entry-content' id='post-body-5400640330613509801' itemprop='description articleBody'>
<p>So, I have been quite for a long time, life has a habit of getting in the way like that though, I am sure if you are a regular follower of my blog(s), you know I have a tendency to pop in and out.</p> <p>That said, I am doing a few things, still working on an XNA game (<a href="http://www.youtube.com/watch?v=uPpOkA-bu6c">Killer Core</a>) with Mark, have also been participating in an <a href="http://www.facebook.com/events/165946213543847/">8WeekGame</a> competition, as well as try and port my existing <a href="http://code.google.com/p/illuminati-engine-xna/">XNA engine</a> to MonoGame, and I hope this year to, again, be contributing to the fantastic Star Trek fan project <a href="http://www.stexcalibur.com/">ST:Excalibur</a>.</p> <p>So, where does that leave my C++ stuff, well on the back burner to be honest, but that said, it&#8217;s not dead, <a href="http://randomchaosdx11adventures.blogspot.co.uk/2012/07/xna-samples-in-c.html?showComment=1353609922112#c6905167515208323709">back in November last year</a>, I mailed someone the source for the engine (warts and all), have not heard if they have found it of much use, but it was nice to know people still have an interest in it. This year my good friend <a href="http://www.gamedev-uk.net">Ed</a> has asked if I would post about what I have done with it so far, and so that&#8217;s what I intend to do.</p> <p>If you are interested in accessing my code directly then let me know I currently have it set up on <a href="https://www.assembla.com">Assembla.com</a>, so if you are a member, let me know and I can add you and you can get the latest code as it changes.</p> <p><strong>What am I going to post about then?</strong></p> <p>Well, I thought I would tell you about the classes I have created in the engine, and explain a little about what they are trying to do. As you probably know, my background for graphics engines is in XNA, so I have tried to create an engine that reflects XNA so it&#8217;s easy for me to transition to C++ and DX11, and also means that a lot of the work I have done in my XNA engine I can bring with me to C++.</p> <p>We have covered the creation of devices and a window in earlier posts, so I am going to skip over that here and just go to the classes. I&#8217;ll probably do a post for each class that way I can put a bit more detail into the posts (hope enough for you).</p>  
<div style='clear: both;'></div>
</div>
<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'>
<span class='post-author vcard'>
Posted by
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<meta content='https://www.blogger.com/profile/10935746329039730399' itemprop='url'/>
<a class='g-profile' href='https://www.blogger.com/profile/10935746329039730399' rel='author' title='author profile'>
<span itemprop='name'>Charles</span>
</a>
</span>
</span>
<span class='post-timestamp'>
at
<meta content='http://randomchaosdx11adventures.blogspot.com/2013/01/current-state-of-play-with-my-c-engine.html' itemprop='url'/>
<a class='timestamp-link' href='http://randomchaosdx11adventures.blogspot.com/2013/01/current-state-of-play-with-my-c-engine.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2013-01-30T02:04:00-08:00'>02:04</abbr></a>
</span>
<span class='post-comment-link'>
<a class='comment-link' href='http://randomchaosdx11adventures.blogspot.com/2013/01/current-state-of-play-with-my-c-engine.html#comment-form' onclick=''>
2 comments:
  </a>
</span>
<span class='post-icons'>
<span class='item-control blog-admin pid-441182239'>
<a href='https://www.blogger.com/post-edit.g?blogID=4574155898288409922&postID=5400640330613509801&from=pencil' title='Edit Post'>
<img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/>
</a>
</span>
</span>
<div class='post-share-buttons goog-inline-block'>
<a class='goog-inline-block share-button sb-email' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=5400640330613509801&target=email' target='_blank' title='Email This'><span class='share-button-link-text'>Email This</span></a><a class='goog-inline-block share-button sb-blog' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=5400640330613509801&target=blog' onclick='window.open(this.href, "_blank", "height=270,width=475"); return false;' target='_blank' title='BlogThis!'><span class='share-button-link-text'>BlogThis!</span></a><a class='goog-inline-block share-button sb-twitter' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=5400640330613509801&target=twitter' target='_blank' title='Share to Twitter'><span class='share-button-link-text'>Share to Twitter</span></a><a class='goog-inline-block share-button sb-facebook' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=5400640330613509801&target=facebook' onclick='window.open(this.href, "_blank", "height=430,width=640"); return false;' target='_blank' title='Share to Facebook'><span class='share-button-link-text'>Share to Facebook</span></a><a class='goog-inline-block share-button sb-pinterest' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=5400640330613509801&target=pinterest' target='_blank' title='Share to Pinterest'><span class='share-button-link-text'>Share to Pinterest</span></a>
</div>
</div>
<div class='post-footer-line post-footer-line-2'>
<span class='post-labels'>
</span>
</div>
<div class='post-footer-line post-footer-line-3'>
<span class='post-location'>
</span>
</div>
</div>
</div>
</div>

          </div></div>
        

          <div class="date-outer">
        
<h2 class='date-header'><span>Monday, 24 December 2012</span></h2>

          <div class="date-posts">
        
<div class='post-outer'>
<div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<meta content='4574155898288409922' itemprop='blogId'/>
<meta content='7710210812684780864' itemprop='postId'/>
<a name='7710210812684780864'></a>
<h3 class='post-title entry-title' itemprop='name'>
<a href='http://randomchaosdx11adventures.blogspot.com/2012/12/merry-xmas-2012-happy-new-year.html'>Merry Xmas 2012 &amp; a Happy New Year!</a>
</h3>
<div class='post-header'>
<div class='post-header-line-1'></div>
</div>
<div class='post-body entry-content' id='post-body-7710210812684780864' itemprop='description articleBody'>
<p>Just wanted to drop you all a note with some festive cheer, also so you know I have not totally dropped off the grid. I seem to go through times when I just stop posting, then Ill go mad again and put a load of stuff out, I guess it&#8217;s all down to the ebb and flow of my life. At the moment I have been evolved in the <a href="http://www.facebook.com/events/165946213543847/">3rd 8 Week Game Competition</a> and I&#8217;m having a load of fun creating my game for it called Road Rumble. I have posted a few vids of progress, you can see my first few weeks here:</p> <h1>Week 1</h1> <div style="padding-bottom: 0px; padding-left: 0px; width: 425px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px" id="scid:53357c8b-5919-4e32-8c25-305d27c17a37:10e3456d-1b39-49de-b391-cbd4783f9104" class="wlWriterEditableSmartContent"><embed src="http://www.youtube.com/v/fZ-1S9xDhPM" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></div> <p>This is my first weeks progress writing a game for the 8 Week Game competition. This is there 3rd competition, but my first time entering.</p> <p>I thought with the time span,a 2D game would be nice and quick to do, so that's what I have gone with. I have used Farseer for the physics &amp; collision detection, also in their samples I have taken there 2D camera too :S</p> <h1>Week 2</h1> <div style="padding-bottom: 0px; padding-left: 0px; width: 425px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px" id="scid:53357c8b-5919-4e32-8c25-305d27c17a37:7e9e112a-69cf-42af-ba0f-b006f37ed75b" class="wlWriterEditableSmartContent"><embed src="http://www.youtube.com/v/5N0lKaCsi1Y" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></div> <p>This is my second weeks development update, as you can see now have a bit of a HUD, fuel and damage, some explosions and a particle system.</p> <h1>Week 3 (rushed as it&#8217;s Xmas)</h1> <div style="padding-bottom: 0px; padding-left: 0px; width: 425px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px" id="scid:53357c8b-5919-4e32-8c25-305d27c17a37:c0a22221-ef8f-44ee-b121-01889a128632" class="wlWriterEditableSmartContent"><embed src="http://www.youtube.com/v/WqENmyugc0o" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></div> <p>So, this is my third week update, it's a bit rushed as it's not really a full third weeks work, I put it up quick so I had something to show for the third week seeing as it was Xmas I really didn't think I would get anything done that holiday week.</p> <p>So we have a better HUD and some more explosive stuff :D Oh, and a crappy story line I knocked up in about 5 minutes, was at the time of the Mayan Apocalypse so made sense to me at the time :P</p> <p>Music sourced from here : <a href="http://rizm.ikaduchi.com">rizm.ikaduchi.com</a></p> <p>So, merry Xmas one and all, hope you have a great new year too, stay tuned, you never know I may just post some more stuff :D</p> <p>Regards,</p> <blockquote> <p>Charles.</p></blockquote>  
<div style='clear: both;'></div>
</div>
<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'>
<span class='post-author vcard'>
Posted by
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<meta content='https://www.blogger.com/profile/10935746329039730399' itemprop='url'/>
<a class='g-profile' href='https://www.blogger.com/profile/10935746329039730399' rel='author' title='author profile'>
<span itemprop='name'>Charles</span>
</a>
</span>
</span>
<span class='post-timestamp'>
at
<meta content='http://randomchaosdx11adventures.blogspot.com/2012/12/merry-xmas-2012-happy-new-year.html' itemprop='url'/>
<a class='timestamp-link' href='http://randomchaosdx11adventures.blogspot.com/2012/12/merry-xmas-2012-happy-new-year.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2012-12-24T02:40:00-08:00'>02:40</abbr></a>
</span>
<span class='post-comment-link'>
<a class='comment-link' href='http://randomchaosdx11adventures.blogspot.com/2012/12/merry-xmas-2012-happy-new-year.html#comment-form' onclick=''>
No comments:
  </a>
</span>
<span class='post-icons'>
<span class='item-control blog-admin pid-441182239'>
<a href='https://www.blogger.com/post-edit.g?blogID=4574155898288409922&postID=7710210812684780864&from=pencil' title='Edit Post'>
<img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/>
</a>
</span>
</span>
<div class='post-share-buttons goog-inline-block'>
<a class='goog-inline-block share-button sb-email' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=7710210812684780864&target=email' target='_blank' title='Email This'><span class='share-button-link-text'>Email This</span></a><a class='goog-inline-block share-button sb-blog' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=7710210812684780864&target=blog' onclick='window.open(this.href, "_blank", "height=270,width=475"); return false;' target='_blank' title='BlogThis!'><span class='share-button-link-text'>BlogThis!</span></a><a class='goog-inline-block share-button sb-twitter' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=7710210812684780864&target=twitter' target='_blank' title='Share to Twitter'><span class='share-button-link-text'>Share to Twitter</span></a><a class='goog-inline-block share-button sb-facebook' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=7710210812684780864&target=facebook' onclick='window.open(this.href, "_blank", "height=430,width=640"); return false;' target='_blank' title='Share to Facebook'><span class='share-button-link-text'>Share to Facebook</span></a><a class='goog-inline-block share-button sb-pinterest' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=7710210812684780864&target=pinterest' target='_blank' title='Share to Pinterest'><span class='share-button-link-text'>Share to Pinterest</span></a>
</div>
</div>
<div class='post-footer-line post-footer-line-2'>
<span class='post-labels'>
</span>
</div>
<div class='post-footer-line post-footer-line-3'>
<span class='post-location'>
</span>
</div>
</div>
</div>
</div>

          </div></div>
        

          <div class="date-outer">
        
<h2 class='date-header'><span>Friday, 21 September 2012</span></h2>

          <div class="date-posts">
        
<div class='post-outer'>
<div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<meta content='4574155898288409922' itemprop='blogId'/>
<meta content='2387370117933522203' itemprop='postId'/>
<a name='2387370117933522203'></a>
<h3 class='post-title entry-title' itemprop='name'>
<a href='http://randomchaosdx11adventures.blogspot.com/2012/09/killer-corereloaded.html'>Killer Core&#8211;Reloaded</a>
</h3>
<div class='post-header'>
<div class='post-header-line-1'></div>
</div>
<div class='post-body entry-content' id='post-body-2387370117933522203' itemprop='description articleBody'>
<div style="padding-bottom: 0px; padding-left: 0px; width: 425px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px" id="scid:53357c8b-5919-4e32-8c25-305d27c17a37:10f996df-f0e3-4b47-ae47-692f7656535c" class="wlWriterEditableSmartContent"><embed src="http://www.youtube.com/v/uPpOkA-bu6c" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></div> <p>So, I have been quiet for a bit, and this is why, Killer Core. Way back when I was first getting into XNA I started this game, based on an old classic ZX Spectrum game called Starquake and I loved that old game.</p> <p>I have to say a big thanks to Mark Neale as he has taken on the mantle of Physic programmer on this project and without his input, I/we would be no where near this stage.</p> <p>We are still a long, long way off making this a game, but I just wanted to post what we are up to and where we are with it. I just hope this time around the game gets finished :)</p>  
<div style='clear: both;'></div>
</div>
<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'>
<span class='post-author vcard'>
Posted by
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<meta content='https://www.blogger.com/profile/10935746329039730399' itemprop='url'/>
<a class='g-profile' href='https://www.blogger.com/profile/10935746329039730399' rel='author' title='author profile'>
<span itemprop='name'>Charles</span>
</a>
</span>
</span>
<span class='post-timestamp'>
at
<meta content='http://randomchaosdx11adventures.blogspot.com/2012/09/killer-corereloaded.html' itemprop='url'/>
<a class='timestamp-link' href='http://randomchaosdx11adventures.blogspot.com/2012/09/killer-corereloaded.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2012-09-21T12:01:00-07:00'>12:01</abbr></a>
</span>
<span class='post-comment-link'>
<a class='comment-link' href='http://randomchaosdx11adventures.blogspot.com/2012/09/killer-corereloaded.html#comment-form' onclick=''>
No comments:
  </a>
</span>
<span class='post-icons'>
<span class='item-control blog-admin pid-441182239'>
<a href='https://www.blogger.com/post-edit.g?blogID=4574155898288409922&postID=2387370117933522203&from=pencil' title='Edit Post'>
<img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/>
</a>
</span>
</span>
<div class='post-share-buttons goog-inline-block'>
<a class='goog-inline-block share-button sb-email' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=2387370117933522203&target=email' target='_blank' title='Email This'><span class='share-button-link-text'>Email This</span></a><a class='goog-inline-block share-button sb-blog' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=2387370117933522203&target=blog' onclick='window.open(this.href, "_blank", "height=270,width=475"); return false;' target='_blank' title='BlogThis!'><span class='share-button-link-text'>BlogThis!</span></a><a class='goog-inline-block share-button sb-twitter' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=2387370117933522203&target=twitter' target='_blank' title='Share to Twitter'><span class='share-button-link-text'>Share to Twitter</span></a><a class='goog-inline-block share-button sb-facebook' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=2387370117933522203&target=facebook' onclick='window.open(this.href, "_blank", "height=430,width=640"); return false;' target='_blank' title='Share to Facebook'><span class='share-button-link-text'>Share to Facebook</span></a><a class='goog-inline-block share-button sb-pinterest' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=2387370117933522203&target=pinterest' target='_blank' title='Share to Pinterest'><span class='share-button-link-text'>Share to Pinterest</span></a>
</div>
</div>
<div class='post-footer-line post-footer-line-2'>
<span class='post-labels'>
</span>
</div>
<div class='post-footer-line post-footer-line-3'>
<span class='post-location'>
</span>
</div>
</div>
</div>
</div>

          </div></div>
        

          <div class="date-outer">
        
<h2 class='date-header'><span>Wednesday, 8 August 2012</span></h2>

          <div class="date-posts">
        
<div class='post-outer'>
<div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<meta content='4574155898288409922' itemprop='blogId'/>
<meta content='5199970260519863811' itemprop='postId'/>
<a name='5199970260519863811'></a>
<h3 class='post-title entry-title' itemprop='name'>
<a href='http://randomchaosdx11adventures.blogspot.com/2012/08/axis-aligned-rectangles.html'>Axis Aligned Rectangles</a>
</h3>
<div class='post-header'>
<div class='post-header-line-1'></div>
</div>
<div class='post-body entry-content' id='post-body-5199970260519863811' itemprop='description articleBody'>
<div style="padding-bottom: 0px; padding-left: 0px; width: 425px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px" id="scid:53357c8b-5919-4e32-8c25-305d27c17a37:ecaf7aad-c522-4fba-9970-27536b4499fe" class="wlWriterEditableSmartContent"><embed src="http://www.youtube.com/v/YceutIlhJk4" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></div> <p>So, what are you looking at in that clip?</p> <p>Exactly what the title of this post is eluding to, a Rectangle structure that can be used to detect collision like the one we have in XNA. I have kept it Axis Aligned just like the intrinsic XNA one. If you don&#8217;t know what I mean by Axis Aligned, then have a <a href="http://en.wikipedia.org/wiki/Axis-aligned_object">Google or a Bing</a> for it, it basically means that the collision detection is done based on the rectangle not being rotated.</p> <p>In the clip we see <strong><font color="#ff0000">RED</font></strong> rectangles, these show up when two rectangles intersect, a <strong><font color="#0000ff">BLUE</font></strong> rectangle is the Union rectangle that holds both of the colliding rectangles, the <strong><font color="#00ff00">GREEN</font></strong> rectangle is shown when a rectangle is Contained by another and the <strong><font color="#ffffff">WHITE</font></strong> rectangle is the Intersect rectangle. </p> <p>I have been working on trying to get a C++ framework together so I can start writing about some GPU elements, ad realize that I am skimping on the code snippets, so, here is how I have constructed the RCRectangle structure.</p> <p>My header file looks like this:</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:2f2e695f-ff25-43e2-abea-be85e7143d59" class="wlWriterEditableSmartContent"> <div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"> <div style="background-color: #ffffff; max-height: 300px; overflow: auto; padding: 2px 5px; white-space: nowrap"><span style="background:#ffffff;color:#0000ff">struct</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><br> <span style="background:#ffffff;color:#000000">{</span><br> <span style="background:#ffffff;color:#0000ff">protected</span><span style="background:#ffffff;color:#000000">:</span><br> <span style="background:#ffffff;color:#0000ff">public</span><span style="background:#ffffff;color:#000000">:</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">float</span><span style="background:#ffffff;color:#000000"> X;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">float</span><span style="background:#ffffff;color:#000000"> Y;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">float</span><span style="background:#ffffff;color:#000000"> Width;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">float</span><span style="background:#ffffff;color:#000000"> Height;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#6f008a">DECLDIR</span><span style="background:#ffffff;color:#000000"> RCRectangle(</span><span style="background:#ffffff;color:#0000ff">void</span><span style="background:#ffffff;color:#000000">);</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#6f008a">DECLDIR</span><span style="background:#ffffff;color:#000000"> RCRectangle(</span><span style="background:#ffffff;color:#2b91af">XMFLOAT4</span><span style="background:#ffffff;color:#000000"> dimensions);</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#6f008a">DECLDIR</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#0000ff">virtual</span><span style="background:#ffffff;color:#000000"> ~RCRectangle(</span><span style="background:#ffffff;color:#0000ff">void</span><span style="background:#ffffff;color:#000000">);</span><br> <br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#6f008a">DECLDIR</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#0000ff">static</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> Intersect(</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> rectangle1, </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> rectangle2);</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#6f008a">DECLDIR</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#0000ff">static</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#0000ff">void</span><span style="background:#ffffff;color:#000000"> Intersect(</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> rectangle1, </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> rectangle2, </span><span style="background:#ffffff;color:#6f008a">OUT</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> rectangle3);</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#6f008a">DECLDIR</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#0000ff">virtual</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#0000ff">bool</span><span style="background:#ffffff;color:#000000"> Intersects(</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> rectangle);</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#6f008a">DECLDIR</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#0000ff">virtual</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#0000ff">bool</span><span style="background:#ffffff;color:#000000"> Contains(</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> rectangle);</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#6f008a">DECLDIR</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#0000ff">static</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> Union(</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> rectangle1, </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> rectangle2);</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#6f008a">DECLDIR</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#0000ff">static</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#0000ff">void</span><span style="background:#ffffff;color:#000000"> Union(</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> rectangle1,</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> rectangle2, </span><span style="background:#ffffff;color:#6f008a">OUT</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> rectangle3);</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><br> <span style="background:#ffffff;color:#000000">};</span></div> </div> </div> <p>So, we have an X and Y to give us our top left corner and a Width and a Height to give us the opposing corner.</p> <p>I have also put in the same methods we have in XNA, so Intersect to get the rectangle where the two rectangles overlap, Intersects to detect rectangle intersection, Contains for when a rectangle contains another and Union used to create a rectangle that will contain the two rectangles.</p>  <p>The RCRectangle.cpp file has the function bodies and they look like this:</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:5018092a-830e-45b8-8bb1-5c3f1a558dee" class="wlWriterEditableSmartContent"> <div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"> <div style="background-color: #ffffff; max-height: 300px; overflow: auto; padding: 2px 5px; white-space: nowrap"><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000">::RCRectangle(</span><span style="background:#ffffff;color:#0000ff">void</span><span style="background:#ffffff;color:#000000">)</span><br> <span style="background:#ffffff;color:#000000">{</span><br> <br> <span style="background:#ffffff;color:#000000">}</span><br> <br> <span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000">::RCRectangle(</span><span style="background:#ffffff;color:#2b91af">XMFLOAT4</span><span style="background:#ffffff;color:#000000">&#160;&#160;</span><span style="background:#ffffff;color:#808080">dimensions</span><span style="background:#ffffff;color:#000000">)</span><br> <span style="background:#ffffff;color:#000000">{</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;X = </span><span style="background:#ffffff;color:#808080">dimensions</span><span style="background:#ffffff;color:#000000">.x;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;Y = </span><span style="background:#ffffff;color:#808080">dimensions</span><span style="background:#ffffff;color:#000000">.y;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;Width = </span><span style="background:#ffffff;color:#808080">dimensions</span><span style="background:#ffffff;color:#000000">.z;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;Height = </span><span style="background:#ffffff;color:#808080">dimensions</span><span style="background:#ffffff;color:#000000">.w;</span><br> <span style="background:#ffffff;color:#000000">}</span><br> <br> <span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000">::~RCRectangle(</span><span style="background:#ffffff;color:#0000ff">void</span><span style="background:#ffffff;color:#000000">)</span><br> <span style="background:#ffffff;color:#000000">{</span><br> <br> <span style="background:#ffffff;color:#000000">}</span><br> <br> <span style="background:#ffffff;color:#0000ff">void</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000">::Intersect(</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">, </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">,</span><span style="background:#ffffff;color:#6f008a">OUT</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#808080">rectangleOut</span><span style="background:#ffffff;color:#000000">)</span><br> <span style="background:#ffffff;color:#000000">{</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Intersects(</span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">))</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;{</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">float</span><span style="background:#ffffff;color:#000000"> x,y,w,h = 0;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X &gt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;x = </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">x = </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y &gt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;y = </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">y = </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Width &lt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Width)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;w = (</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Width) - x;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">w = (</span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Width) - x;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Height &lt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Height)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;h = (</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Height) - y;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">h = (</span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Height) - y;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#808080">rectangleOut</span><span style="background:#ffffff;color:#000000"> = </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#2b91af">XMFLOAT4</span><span style="background:#ffffff;color:#000000">(x,y,w,h));</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;}</span><br> <span style="background:#ffffff;color:#000000">}</span><br> <span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000">::Intersect(</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">, </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">)</span><br> <span style="background:#ffffff;color:#000000">{</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> retVal(</span><span style="background:#ffffff;color:#2b91af">XMFLOAT4</span><span style="background:#ffffff;color:#000000">(0,0,0,0));</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Intersects(</span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">))</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;{</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">float</span><span style="background:#ffffff;color:#000000"> x,y,w,h = 0;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X &gt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;x = </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">x = </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y &gt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;y = </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">y = </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Width &lt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Width)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;w = (</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Width) - x;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">w = (</span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Width) - x;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Height &lt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Height)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;h = (</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Height) - y;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">h = (</span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Height) - y;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;retVal = </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#2b91af">XMFLOAT4</span><span style="background:#ffffff;color:#000000">(x,y,w,h));</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;}</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">return</span><span style="background:#ffffff;color:#000000"> retVal;</span><br> <span style="background:#ffffff;color:#000000">}</span><br> <br> <span style="background:#ffffff;color:#0000ff">bool</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000">::Intersects(</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#808080">rectangle</span><span style="background:#ffffff;color:#000000">)</span><br> <span style="background:#ffffff;color:#000000">{</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">bool</span><span style="background:#ffffff;color:#000000"> retVal = </span><span style="background:#ffffff;color:#0000ff">true</span><span style="background:#ffffff;color:#000000">;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#008000">// AA Check.</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;X &gt; </span><span style="background:#ffffff;color:#808080">rectangle</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle</span><span style="background:#ffffff;color:#000000">.Width ||</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Y &gt; </span><span style="background:#ffffff;color:#808080">rectangle</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle</span><span style="background:#ffffff;color:#000000">.Height || </span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;X + Width &lt; </span><span style="background:#ffffff;color:#808080">rectangle</span><span style="background:#ffffff;color:#000000">.X ||</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Y + Height &lt; </span><span style="background:#ffffff;color:#808080">rectangle</span><span style="background:#ffffff;color:#000000">.Y)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;{</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#008000">// Can&#39;t possibly have overlap</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">retVal = </span><span style="background:#ffffff;color:#0000ff">false</span><span style="background:#ffffff;color:#000000">;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;}</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;{</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">retVal = </span><span style="background:#ffffff;color:#0000ff">true</span><span style="background:#ffffff;color:#000000">;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;}</span><br> <br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">return</span><span style="background:#ffffff;color:#000000"> retVal;</span><br> <span style="background:#ffffff;color:#000000">}</span><br> <br> <span style="background:#ffffff;color:#0000ff">bool</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000">::Contains(</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#808080">rectangle</span><span style="background:#ffffff;color:#000000">)</span><br> <span style="background:#ffffff;color:#000000">{</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">bool</span><span style="background:#ffffff;color:#000000"> retVal = </span><span style="background:#ffffff;color:#0000ff">false</span><span style="background:#ffffff;color:#000000">;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(X &lt;= </span><span style="background:#ffffff;color:#808080">rectangle</span><span style="background:#ffffff;color:#000000">.X &amp;&amp; X + Width &gt;= </span><span style="background:#ffffff;color:#808080">rectangle</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle</span><span style="background:#ffffff;color:#000000">.Width &amp;&amp;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Y &lt;= </span><span style="background:#ffffff;color:#808080">rectangle</span><span style="background:#ffffff;color:#000000">.Y &amp;&amp; Y + Height &gt;= </span><span style="background:#ffffff;color:#808080">rectangle</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle</span><span style="background:#ffffff;color:#000000">.Height)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;retVal = </span><span style="background:#ffffff;color:#0000ff">true</span><span style="background:#ffffff;color:#000000">;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">return</span><span style="background:#ffffff;color:#000000"> retVal;</span><br> <span style="background:#ffffff;color:#000000">}</span><br> <br> <span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000">::Union(</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">,</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">)</span><br> <span style="background:#ffffff;color:#000000">{</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">float</span><span style="background:#ffffff;color:#000000"> x = 0 ,y = 0,w = 0,h = 0;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X &lt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;x = </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">x = </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y &lt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;y = </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">y = </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Width &gt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Width)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;w = (</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Width) - x;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">w = (</span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Width) - x;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Height &gt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Height)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;h = (</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Height) - y;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">h = (</span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Height) - y;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">return</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#2b91af">XMFLOAT4</span><span style="background:#ffffff;color:#000000">(x,y,w,h));</span><br> <span style="background:#ffffff;color:#000000">}</span><br> <br> <span style="background:#ffffff;color:#0000ff">void</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000">::Union(</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">,</span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">, </span><span style="background:#ffffff;color:#6f008a">OUT</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#808080">rectangle3</span><span style="background:#ffffff;color:#000000">)</span><br> <span style="background:#ffffff;color:#000000">{</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">float</span><span style="background:#ffffff;color:#000000"> x = 0 ,y = 0,w = 0,h = 0;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X &lt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;x = </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">x = </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y &lt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;y = </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">y = </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Width &gt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Width)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;w = (</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Width) - x;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">w = (</span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.X + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Width) - x;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">if</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Height &gt;= </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Height)</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;h = (</span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle1</span><span style="background:#ffffff;color:#000000">.Height) - y;</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#0000ff">else</span><br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#000000">h = (</span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Y + </span><span style="background:#ffffff;color:#808080">rectangle2</span><span style="background:#ffffff;color:#000000">.Height) - y;</span><br> <br> <span style="background:#ffffff;color:#000000">&#160;&#160;&#160;&#160;</span><span style="background:#ffffff;color:#808080">rectangle3</span><span style="background:#ffffff;color:#000000"> = </span><span style="background:#ffffff;color:#2b91af">RCRectangle</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#2b91af">XMFLOAT4</span><span style="background:#ffffff;color:#000000">(x,y,w,h));</span><br> <span style="background:#ffffff;color:#000000">}</span></div> </div> </div> <p>&nbsp;</p> <p>If you are wondering what the DELDIR is, it&#8217;s a macro I am using so the methods can be accessed from out side the library when included in a project and it looks like this:</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:d593d853-b406-4c4f-9e3f-31c0525086c0" class="wlWriterEditableSmartContent"> <div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"> <div style="background-color: #ffffff; max-height: 300px; overflow: auto; padding: 2px 5px; white-space: nowrap"><span style="background:#ffffff;color:#0000ff">#if</span><span style="background:#ffffff;color:#000000"> </span><span style="background:#ffffff;color:#0000ff">defined</span><span style="background:#ffffff;color:#000000"> DLL_EXPORT</span><br> <span style="background:#ffffff;color:#0000ff">#define</span><span style="background:#ffffff;color:#000000"> DECLDIR </span><span style="background:#ffffff;color:#0000ff">__declspec</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#0000ff">dllexport</span><span style="background:#ffffff;color:#000000">)</span><br> <span style="background:#ffffff;color:#0000ff">#else</span><br> <span style="background:#ffffff;color:#0000ff">#define</span><span style="background:#ffffff;color:#000000"> DECLDIR </span><span style="background:#ffffff;color:#0000ff">__declspec</span><span style="background:#ffffff;color:#000000">(</span><span style="background:#ffffff;color:#0000ff">dllimport</span><span style="background:#ffffff;color:#000000">)</span><br> <span style="background:#ffffff;color:#0000ff">#endif</span></div> </div> </div> <p>Hope you find this post useful, as ever C&amp;C are welcome :D</p>  
<div style='clear: both;'></div>
</div>
<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'>
<span class='post-author vcard'>
Posted by
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<meta content='https://www.blogger.com/profile/10935746329039730399' itemprop='url'/>
<a class='g-profile' href='https://www.blogger.com/profile/10935746329039730399' rel='author' title='author profile'>
<span itemprop='name'>Charles</span>
</a>
</span>
</span>
<span class='post-timestamp'>
at
<meta content='http://randomchaosdx11adventures.blogspot.com/2012/08/axis-aligned-rectangles.html' itemprop='url'/>
<a class='timestamp-link' href='http://randomchaosdx11adventures.blogspot.com/2012/08/axis-aligned-rectangles.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2012-08-08T13:28:00-07:00'>13:28</abbr></a>
</span>
<span class='post-comment-link'>
<a class='comment-link' href='http://randomchaosdx11adventures.blogspot.com/2012/08/axis-aligned-rectangles.html#comment-form' onclick=''>
2 comments:
  </a>
</span>
<span class='post-icons'>
<span class='item-control blog-admin pid-441182239'>
<a href='https://www.blogger.com/post-edit.g?blogID=4574155898288409922&postID=5199970260519863811&from=pencil' title='Edit Post'>
<img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/>
</a>
</span>
</span>
<div class='post-share-buttons goog-inline-block'>
<a class='goog-inline-block share-button sb-email' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=5199970260519863811&target=email' target='_blank' title='Email This'><span class='share-button-link-text'>Email This</span></a><a class='goog-inline-block share-button sb-blog' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=5199970260519863811&target=blog' onclick='window.open(this.href, "_blank", "height=270,width=475"); return false;' target='_blank' title='BlogThis!'><span class='share-button-link-text'>BlogThis!</span></a><a class='goog-inline-block share-button sb-twitter' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=5199970260519863811&target=twitter' target='_blank' title='Share to Twitter'><span class='share-button-link-text'>Share to Twitter</span></a><a class='goog-inline-block share-button sb-facebook' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=5199970260519863811&target=facebook' onclick='window.open(this.href, "_blank", "height=430,width=640"); return false;' target='_blank' title='Share to Facebook'><span class='share-button-link-text'>Share to Facebook</span></a><a class='goog-inline-block share-button sb-pinterest' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=5199970260519863811&target=pinterest' target='_blank' title='Share to Pinterest'><span class='share-button-link-text'>Share to Pinterest</span></a>
</div>
</div>
<div class='post-footer-line post-footer-line-2'>
<span class='post-labels'>
</span>
</div>
<div class='post-footer-line post-footer-line-3'>
<span class='post-location'>
</span>
</div>
</div>
</div>
</div>

          </div></div>
        

          <div class="date-outer">
        
<h2 class='date-header'><span>Friday, 3 August 2012</span></h2>

          <div class="date-posts">
        
<div class='post-outer'>
<div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<meta content='4574155898288409922' itemprop='blogId'/>
<meta content='3039660813524770641' itemprop='postId'/>
<a name='3039660813524770641'></a>
<h3 class='post-title entry-title' itemprop='name'>
<a href='http://randomchaosdx11adventures.blogspot.com/2012/08/render-targets.html'>Render Targets</a>
</h3>
<div class='post-header'>
<div class='post-header-line-1'></div>
</div>
<div class='post-body entry-content' id='post-body-3039660813524770641' itemprop='description articleBody'>
<div style="padding-bottom: 0px; padding-left: 0px; width: 425px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px" id="scid:53357c8b-5919-4e32-8c25-305d27c17a37:6911e8c9-47da-425b-9de5-ced447f079a8" class="wlWriterEditableSmartContent"><embed src="http://www.youtube.com/v/5k0vAvXQ3xs" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></div> <p>So, done a bit more on my library, not only do I have a working SpriteBatch class, I have also given the option to be rendered instanced :), so once I got that all working, I decided the next thing for me to look at are Render Targets.</p> <p>As you can see from the clip, I have it working, but there is an issue in there that I want to get sorted before I move on, I am not totally sure why it&#8217;s doing what it&#8217;s doing, but I hope to get to the bottom of it..</p> <p>Good news for me, is once I have this sorted I can look at post processing and deferred lighting, which if you have followed any of my posts in the past, I love playing with both those elements.</p>  
<div style='clear: both;'></div>
</div>
<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'>
<span class='post-author vcard'>
Posted by
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<meta content='https://www.blogger.com/profile/10935746329039730399' itemprop='url'/>
<a class='g-profile' href='https://www.blogger.com/profile/10935746329039730399' rel='author' title='author profile'>
<span itemprop='name'>Charles</span>
</a>
</span>
</span>
<span class='post-timestamp'>
at
<meta content='http://randomchaosdx11adventures.blogspot.com/2012/08/render-targets.html' itemprop='url'/>
<a class='timestamp-link' href='http://randomchaosdx11adventures.blogspot.com/2012/08/render-targets.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2012-08-03T14:25:00-07:00'>14:25</abbr></a>
</span>
<span class='post-comment-link'>
<a class='comment-link' href='http://randomchaosdx11adventures.blogspot.com/2012/08/render-targets.html#comment-form' onclick=''>
1 comment:
  </a>
</span>
<span class='post-icons'>
<span class='item-control blog-admin pid-441182239'>
<a href='https://www.blogger.com/post-edit.g?blogID=4574155898288409922&postID=3039660813524770641&from=pencil' title='Edit Post'>
<img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/>
</a>
</span>
</span>
<div class='post-share-buttons goog-inline-block'>
<a class='goog-inline-block share-button sb-email' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=3039660813524770641&target=email' target='_blank' title='Email This'><span class='share-button-link-text'>Email This</span></a><a class='goog-inline-block share-button sb-blog' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=3039660813524770641&target=blog' onclick='window.open(this.href, "_blank", "height=270,width=475"); return false;' target='_blank' title='BlogThis!'><span class='share-button-link-text'>BlogThis!</span></a><a class='goog-inline-block share-button sb-twitter' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=3039660813524770641&target=twitter' target='_blank' title='Share to Twitter'><span class='share-button-link-text'>Share to Twitter</span></a><a class='goog-inline-block share-button sb-facebook' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=3039660813524770641&target=facebook' onclick='window.open(this.href, "_blank", "height=430,width=640"); return false;' target='_blank' title='Share to Facebook'><span class='share-button-link-text'>Share to Facebook</span></a><a class='goog-inline-block share-button sb-pinterest' href='https://www.blogger.com/share-post.g?blogID=4574155898288409922&postID=3039660813524770641&target=pinterest' target='_blank' title='Share to Pinterest'><span class='share-button-link-text'>Share to Pinterest</span></a>
</div>
</div>
<div class='post-footer-line post-footer-line-2'>
<span class='post-labels'>
</span>
</div>
<div class='post-footer-line post-footer-line-3'>
<span class='post-location'>
</span>
</div>
</div>
</div>
</div>

        </div></div>
      
</div>
<div class='blog-pager' id='blog-pager'>
<span id='blog-pager-older-link'>
<a class='blog-pager-older-link' href='http://randomchaosdx11adventures.blogspot.com/search?updated-max=2012-08-03T14:25:00-07:00&amp;max-results=7' id='Blog1_blog-pager-older-link' title='Older Posts'>Older Posts</a>
</span>
<a class='home-link' href='http://randomchaosdx11adventures.blogspot.com/'>Home</a>
</div>
<div class='clear'></div>
<div class='blog-feeds'>
<div class='feed-links'>
Subscribe to:
<a class='feed-link' href='http://randomchaosdx11adventures.blogspot.com/feeds/posts/default' target='_blank' type='application/atom+xml'>Posts (Atom)</a>
</div>
</div>
</div></div>
</div>
</div>
<div class='column-left-outer'>
<div class='column-left-inner'>
<aside>
</aside>
</div>
</div>
<div class='column-right-outer'>
<div class='column-right-inner'>
<aside>
<div class='sidebar section' id='sidebar-right-1'><div class='widget BlogSearch' data-version='1' id='BlogSearch1'>
<h2 class='title'>Search This Blog</h2>
<div class='widget-content'>
<div id='BlogSearch1_form'>
<form action='http://randomchaosdx11adventures.blogspot.com/search' class='gsc-search-box' target='_top'>
<table cellpadding='0' cellspacing='0' class='gsc-search-box'>
<tbody>
<tr>
<td class='gsc-input'>
<input autocomplete='off' class='gsc-input' name='q' size='10' title='search' type='text' value=''/>
</td>
<td class='gsc-search-button'>
<input class='gsc-search-button' title='search' type='submit' value='Search'/>
</td>
</tr>
</tbody>
</table>
</form>
</div>
</div>
<div class='clear'></div>
</div><div class='widget Profile' data-version='1' id='Profile1'>
<h2>About Me</h2>
<div class='widget-content'>
<dl class='profile-datablock'>
<dt class='profile-data'>
<a class='profile-name-link g-profile' href='https://www.blogger.com/profile/10935746329039730399' rel='author' style='background-image: url(//www.blogger.com/img/logo-16.png);'>
Charles
</a>
</dt>
</dl>
<a class='profile-link' href='https://www.blogger.com/profile/10935746329039730399' rel='author'>View my complete profile</a>
<div class='clear'></div>
</div>
</div><div class='widget Image' data-version='1' id='Image1'>
<h2>MVP 2009 - 20012</h2>
<div class='widget-content'>
<a href='https://mvp.support.microsoft.com/profile=D59811DF-6AE8-46C7-8C45-6E52A07A728A'>
<img alt='MVP 2009 - 20012' height='74' id='Image1_img' src='http://1.bp.blogspot.com/-t97XHySmc4A/T_VK0e64Y_I/AAAAAAAAAxw/5tQuTWe1kCQ/s300/MVP_Horizontal_BlackOnly.png' width='181'/>
</a>
<br/>
</div>
<div class='clear'></div>
</div><div class='widget BlogList' data-version='1' id='BlogList1'>
<h2 class='title'>More Randomchaos</h2>
<div class='widget-content'>
<div class='blog-list-container' id='BlogList1_container'>
<ul id='BlogList1_blogs'>
<li style='display: block;'>
<div class='blog-icon'>
<img data-lateloadsrc='https://lh3.googleusercontent.com/blogger_img_proxy/ANbyha0ubsm1H96Nh93bnRC1CyV4jfSAWu7KwvWpIBODdSjC6ieCUrXJDdWMDASkrTCg_agIaRUIN8tTukOnuWYoC_z1hbCAazriYyL5tUE33CU652lsFpDE2bM24Wm11Ceb=s16-w16-h16' height='16' width='16'/>
</div>
<div class='blog-content'>
<div class='blog-title'>
<a href='http://xnauk-randomchaosblogarchive.blogspot.com/' target='_blank'>
XNA-UK: Randomchaos Archive</a>
</div>
<div class='item-content'>
<span class='item-title'>
<a href='http://xnauk-randomchaosblogarchive.blogspot.com/2012/06/source-example-6-fog-sm-11-to-2.html' target='_blank'>
Source Example 6 - Fog SM 1.1 to 2
</a>
</span>
<div class='item-time'>
6 years ago
</div>
</div>
</div>
<div style='clear: both;'></div>
</li>
<li style='display: block;'>
<div class='blog-icon'>
<img data-lateloadsrc='https://lh3.googleusercontent.com/blogger_img_proxy/ANbyha203oGSufiQHrpRg5o4m94GiSXJpzxGFOeWDrx0T2GjmeinKt2tx6SfRjnPe5XIENhmocgit9Yul_7OWyP4BuwCJdn6b89Fl4Yl9VDwuNynxbHeiq5aZE00w6M=s16-w16-h16' height='16' width='16'/>
</div>
<div class='blog-content'>
<div class='blog-title'>
<a href='http://randomchaosxnaadventures.blogspot.com/' target='_blank'>
Randomchaos: Graphics Adventures with XNA</a>
</div>
<div class='item-content'>
<span class='item-title'>
<a href='http://randomchaosxnaadventures.blogspot.com/2013/02/8-week-game-competitionvoting-is-open.html' target='_blank'>
8 Week Game Competition&#8211;Voting is Open!
</a>
</span>
<div class='item-time'>
9 years ago
</div>
</div>
</div>
<div style='clear: both;'></div>
</li>
</ul>
<div class='clear'></div>
</div>
</div>
</div><div class='widget Followers' data-version='1' id='Followers1'>
<h2 class='title'>Followers</h2>
<div class='widget-content'>
<div id='Followers1-wrapper'>
<div style='margin-right:2px;'>
<div><script type="text/javascript" src="https://apis.google.com/js/platform.js"></script>
<div id="followers-iframe-container"></div>
<script type="text/javascript">
    window.followersIframe = null;
    function followersIframeOpen(url) {
      gapi.load("gapi.iframes", function() {
        if (gapi.iframes && gapi.iframes.getContext) {
          window.followersIframe = gapi.iframes.getContext().openChild({
            url: url,
            where: document.getElementById("followers-iframe-container"),
            messageHandlersFilter: gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER,
            messageHandlers: {
              '_ready': function(obj) {
                window.followersIframe.getIframeEl().height = obj.height;
              },
              'reset': function() {
                window.followersIframe.close();
                followersIframeOpen("https://www.blogger.com/followers.g?blogID\x3d4574155898288409922\x26colors\x3dCgt0cmFuc3BhcmVudBILdHJhbnNwYXJlbnQaByNmZmZmZmYiByM4ODg4ODgqByMwMDAwMDAyByNmZmZmZmY6ByNmZmZmZmZCByM4ODg4ODhKByM2NjY2NjZSByM4ODg4ODhaC3RyYW5zcGFyZW50\x26pageSize\x3d21\x26origin\x3dhttp://randomchaosdx11adventures.blogspot.com/");
              },
              'open': function(url) {
                window.followersIframe.close();
                followersIframeOpen(url);
              },
              'blogger-ping': function() {
              }
            }
          });
        }
      });
    }
    followersIframeOpen("https://www.blogger.com/followers.g?blogID\x3d4574155898288409922\x26colors\x3dCgt0cmFuc3BhcmVudBILdHJhbnNwYXJlbnQaByNmZmZmZmYiByM4ODg4ODgqByMwMDAwMDAyByNmZmZmZmY6ByNmZmZmZmZCByM4ODg4ODhKByM2NjY2NjZSByM4ODg4ODhaC3RyYW5zcGFyZW50\x26pageSize\x3d21\x26origin\x3dhttp://randomchaosdx11adventures.blogspot.com/");
  </script></div>
</div>
</div>
<div class='clear'></div>
</div>
</div><div class='widget Subscribe' data-version='1' id='Subscribe1'>
<div style='white-space:nowrap'>
<h2 class='title'>Subscribe To</h2>
<div class='widget-content'>
<div class='subscribe-wrapper subscribe-type-POST'>
<div class='subscribe expanded subscribe-type-POST' id='SW_READER_LIST_Subscribe1POST' style='display:none;'>
<div class='top'>
<span class='inner' onclick='return(_SW_toggleReaderList(event, "Subscribe1POST"));'>
<img class='subscribe-dropdown-arrow' src='https://resources.blogblog.com/img/widgets/arrow_dropdown.gif'/>
<img align='absmiddle' alt='' border='0' class='feed-icon' src='https://resources.blogblog.com/img/icon_feed12.png'/>
Posts
</span>
<div class='feed-reader-links'>
<a class='feed-reader-link' href='https://www.netvibes.com/subscribe.php?url=http%3A%2F%2Frandomchaosdx11adventures.blogspot.com%2Ffeeds%2Fposts%2Fdefault' target='_blank'>
<img src='https://resources.blogblog.com/img/widgets/subscribe-netvibes.png'/>
</a>
<a class='feed-reader-link' href='https://add.my.yahoo.com/content?url=http%3A%2F%2Frandomchaosdx11adventures.blogspot.com%2Ffeeds%2Fposts%2Fdefault' target='_blank'>
<img src='https://resources.blogblog.com/img/widgets/subscribe-yahoo.png'/>
</a>
<a class='feed-reader-link' href='http://randomchaosdx11adventures.blogspot.com/feeds/posts/default' target='_blank'>
<img align='absmiddle' class='feed-icon' src='https://resources.blogblog.com/img/icon_feed12.png'/>
                  Atom
                </a>
</div>
</div>
<div class='bottom'></div>
</div>
<div class='subscribe' id='SW_READER_LIST_CLOSED_Subscribe1POST' onclick='return(_SW_toggleReaderList(event, "Subscribe1POST"));'>
<div class='top'>
<span class='inner'>
<img class='subscribe-dropdown-arrow' src='https://resources.blogblog.com/img/widgets/arrow_dropdown.gif'/>
<span onclick='return(_SW_toggleReaderList(event, "Subscribe1POST"));'>
<img align='absmiddle' alt='' border='0' class='feed-icon' src='https://resources.blogblog.com/img/icon_feed12.png'/>
Posts
</span>
</span>
</div>
<div class='bottom'></div>
</div>
</div>
<div class='subscribe-wrapper subscribe-type-COMMENT'>
<div class='subscribe expanded subscribe-type-COMMENT' id='SW_READER_LIST_Subscribe1COMMENT' style='display:none;'>
<div class='top'>
<span class='inner' onclick='return(_SW_toggleReaderList(event, "Subscribe1COMMENT"));'>
<img class='subscribe-dropdown-arrow' src='https://resources.blogblog.com/img/widgets/arrow_dropdown.gif'/>
<img align='absmiddle' alt='' border='0' class='feed-icon' src='https://resources.blogblog.com/img/icon_feed12.png'/>
All Comments
</span>
<div class='feed-reader-links'>
<a class='feed-reader-link' href='https://www.netvibes.com/subscribe.php?url=http%3A%2F%2Frandomchaosdx11adventures.blogspot.com%2Ffeeds%2Fcomments%2Fdefault' target='_blank'>
<img src='https://resources.blogblog.com/img/widgets/subscribe-netvibes.png'/>
</a>
<a class='feed-reader-link' href='https://add.my.yahoo.com/content?url=http%3A%2F%2Frandomchaosdx11adventures.blogspot.com%2Ffeeds%2Fcomments%2Fdefault' target='_blank'>
<img src='https://resources.blogblog.com/img/widgets/subscribe-yahoo.png'/>
</a>
<a class='feed-reader-link' href='http://randomchaosdx11adventures.blogspot.com/feeds/comments/default' target='_blank'>
<img align='absmiddle' class='feed-icon' src='https://resources.blogblog.com/img/icon_feed12.png'/>
                  Atom
                </a>
</div>
</div>
<div class='bottom'></div>
</div>
<div class='subscribe' id='SW_READER_LIST_CLOSED_Subscribe1COMMENT' onclick='return(_SW_toggleReaderList(event, "Subscribe1COMMENT"));'>
<div class='top'>
<span class='inner'>
<img class='subscribe-dropdown-arrow' src='https://resources.blogblog.com/img/widgets/arrow_dropdown.gif'/>
<span onclick='return(_SW_toggleReaderList(event, "Subscribe1COMMENT"));'>
<img align='absmiddle' alt='' border='0' class='feed-icon' src='https://resources.blogblog.com/img/icon_feed12.png'/>
All Comments
</span>
</span>
</div>
<div class='bottom'></div>
</div>
</div>
<div style='clear:both'></div>
</div>
</div>
<div class='clear'></div>
</div><div class='widget BlogArchive' data-version='1' id='BlogArchive1'>
<h2>Blog Archive</h2>
<div class='widget-content'>
<div id='ArchiveList'>
<div id='BlogArchive1_ArchiveList'>
<ul class='hierarchy'>
<li class='archivedate expanded'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy toggle-open'>

        &#9660;&#160;
      
</span>
</a>
<a class='post-count-link' href='http://randomchaosdx11adventures.blogspot.com/2013/'>
2013
</a>
<span class='post-count' dir='ltr'>(3)</span>
<ul class='hierarchy'>
<li class='archivedate expanded'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy toggle-open'>

        &#9660;&#160;
      
</span>
</a>
<a class='post-count-link' href='http://randomchaosdx11adventures.blogspot.com/2013/12/'>
December
</a>
<span class='post-count' dir='ltr'>(1)</span>
<ul class='posts'>
<li><a href='http://randomchaosdx11adventures.blogspot.com/2013/12/learning-windows-8-game-development.html'>Learning Windows 8 Game Development Written by Mic...</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

        &#9658;&#160;
      
</span>
</a>
<a class='post-count-link' href='http://randomchaosdx11adventures.blogspot.com/2013/08/'>
August
</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

        &#9658;&#160;
      
</span>
</a>
<a class='post-count-link' href='http://randomchaosdx11adventures.blogspot.com/2013/01/'>
January
</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

        &#9658;&#160;
      
</span>
</a>
<a class='post-count-link' href='http://randomchaosdx11adventures.blogspot.com/2012/'>
2012
</a>
<span class='post-count' dir='ltr'>(13)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

        &#9658;&#160;
      
</span>
</a>
<a class='post-count-link' href='http://randomchaosdx11adventures.blogspot.com/2012/12/'>
December
</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

        &#9658;&#160;
      
</span>
</a>
<a class='post-count-link' href='http://randomchaosdx11adventures.blogspot.com/2012/09/'>
September
</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

        &#9658;&#160;
      
</span>
</a>
<a class='post-count-link' href='http://randomchaosdx11adventures.blogspot.com/2012/08/'>
August
</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

        &#9658;&#160;
      
</span>
</a>
<a class='post-count-link' href='http://randomchaosdx11adventures.blogspot.com/2012/07/'>
July
</a>
<span class='post-count' dir='ltr'>(7)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

        &#9658;&#160;
      
</span>
</a>
<a class='post-count-link' href='http://randomchaosdx11adventures.blogspot.com/2012/06/'>
June
</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class='clear'></div>
</div>
</div></div>
</aside>
</div>
</div>
</div>
<div style='clear: both'></div>
<!-- columns -->
</div>
<!-- main -->
</div>
</div>
<div class='main-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<footer>
<div class='footer-outer'>
<div class='footer-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left footer-fauxborder-left'>
<div class='fauxborder-right footer-fauxborder-right'></div>
<div class='region-inner footer-inner'>
<div class='foot no-items section' id='footer-1'></div>
<table border='0' cellpadding='0' cellspacing='0' class='section-columns columns-2'>
<tbody>
<tr>
<td class='first columns-cell'>
<div class='foot no-items section' id='footer-2-1'></div>
</td>
<td class='columns-cell'>
<div class='foot no-items section' id='footer-2-2'></div>
</td>
</tr>
</tbody>
</table>
<!-- outside of the include in order to lock Attribution widget -->
<div class='foot section' id='footer-3' name='Footer'><div class='widget Attribution' data-version='1' id='Attribution1'>
<div class='widget-content' style='text-align: center;'>
&#169; <a href="http://www.randomchaos.co.uk">Randomchaos Ltd</a>. Awesome Inc. theme. Powered by <a href='https://www.blogger.com' target='_blank'>Blogger</a>.
</div>
<div class='clear'></div>
</div></div>
</div>
</div>
<div class='footer-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</footer>
<!-- content -->
</div>
</div>
<div class='content-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</div>
<script type='text/javascript'>
    window.setTimeout(function() {
        document.body.className = document.body.className.replace('loading', '');
      }, 10);
  </script>
<script src='https://apis.google.com/js/platform.js' type='text/javascript'></script>
<!--It is your responsibility to notify your visitors about cookies used and data collected on your blog. Blogger makes a standard notification available for you to use on your blog, and you can customize it or replace with your own notice. See http://www.blogger.com/go/cookiechoices for more details.-->
<script defer='' src='/js/cookienotice.js'></script>
<script>
    document.addEventListener('DOMContentLoaded', function(event) {
      window.cookieChoices && cookieChoices.showCookieConsentBar && cookieChoices.showCookieConsentBar(
          (window.cookieOptions && cookieOptions.msg) || 'This site uses cookies from Google to deliver its services and to analyze traffic. Your IP address and user-agent are shared with Google along with performance and security metrics to ensure quality of service, generate usage statistics, and to detect and address abuse.',
          (window.cookieOptions && cookieOptions.close) || 'Ok',
          (window.cookieOptions && cookieOptions.learn) || 'Learn More',
          (window.cookieOptions && cookieOptions.link) || 'https://www.blogger.com/go/blogspot-cookies');
    });
  </script>

<script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/2216895134-widgets.js"></script>
<script type='text/javascript'>
window['__wavt'] = 'AOuZoY6cPT2FWw9JXGeZ9trkyEGqZiG-5g:1666915596098';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d4574155898288409922','//randomchaosdx11adventures.blogspot.com/','4574155898288409922');
_WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '4574155898288409922', 'title': 'Randomchaos: Graphics Adventures in C++ with DirectX 11', 'url': 'http://randomchaosdx11adventures.blogspot.com/', 'canonicalUrl': 'http://randomchaosdx11adventures.blogspot.com/', 'homepageUrl': 'http://randomchaosdx11adventures.blogspot.com/', 'searchUrl': 'http://randomchaosdx11adventures.blogspot.com/search', 'canonicalHomepageUrl': 'http://randomchaosdx11adventures.blogspot.com/', 'blogspotFaviconUrl': 'http://randomchaosdx11adventures.blogspot.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': false, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': '', 'encoding': 'UTF-8', 'locale': 'en-GB', 'localeUnderscoreDelimited': 'en_gb', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Randomchaos: Graphics Adventures in C++ with DirectX 11 - Atom\x22 href\x3d\x22http://randomchaosdx11adventures.blogspot.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Randomchaos: Graphics Adventures in C++ with DirectX 11 - RSS\x22 href\x3d\x22http://randomchaosdx11adventures.blogspot.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Randomchaos: Graphics Adventures in C++ with DirectX 11 - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/4574155898288409922/posts/default\x22 /\x3e\n', 'meTag': '\x3clink rel\x3d\x22me\x22 href\x3d\x22https://www.blogger.com/profile/10935746329039730399\x22 /\x3e\n', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': false, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/72043ecbf6fcd113', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'Twitter', 'key': 'twitter', 'shareMessage': 'Share to Twitter', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en_GB\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': false, 'jumpLinkMessage': 'Read more', 'pageType': 'index', 'pageName': '', 'pageTitle': 'Randomchaos: Graphics Adventures in C++ with DirectX 11'}}, {'name': 'features', 'data': {'sharing_get_link_dialog': 'true', 'sharing_native': 'false'}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard', 'ok': 'Ok', 'postLink': 'Post link'}}, {'name': 'template', 'data': {'name': 'Awesome Inc.', 'localizedName': 'Awesome Inc.', 'isResponsive': false, 'isAlternateRendering': false, 'isCustom': false, 'variant': 'dark', 'variantId': 'dark'}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Randomchaos: Graphics Adventures in C++ with DirectX 11', 'description': 'Me getting into C++ and DX11 and posting the results...', 'url': 'http://randomchaosdx11adventures.blogspot.com/', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': true, 'isArchive': false, 'isLabelSearch': false}}]);
_WidgetManager._RegisterWidget('_NavbarView', new _WidgetInfo('Navbar1', 'navbar', document.getElementById('Navbar1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_PageListView', new _WidgetInfo('PageList1', 'crosscol', document.getElementById('PageList1'), {'title': 'Pages', 'links': [{'isCurrentPage': true, 'href': 'http://randomchaosdx11adventures.blogspot.com/', 'title': 'Home'}, {'isCurrentPage': false, 'href': 'http://randomchaosxnaadventures.blogspot.co.uk/', 'title': 'Adventures with XNA'}, {'isCurrentPage': false, 'href': 'http://steamlockjones.blogspot.co.uk/', 'title': 'Steam Lock Jones'}, {'isCurrentPage': false, 'href': 'http://xboxoneindiedevelopment.blogspot.co.uk/', 'title': 'XBox One Indie Development'}], 'mobile': false}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'lightboxEnabled': true, 'lightboxModuleUrl': 'https://www.blogger.com/static/v1/jsbin/2446059916-lbx__en_gb.js', 'lightboxCssUrl': 'https://www.blogger.com/static/v1/v-css/3523451998-lightbox_bundle.css'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_BlogSearchView', new _WidgetInfo('BlogSearch1', 'sidebar-right-1', document.getElementById('BlogSearch1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_ProfileView', new _WidgetInfo('Profile1', 'sidebar-right-1', document.getElementById('Profile1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_ImageView', new _WidgetInfo('Image1', 'sidebar-right-1', document.getElementById('Image1'), {'resize': false}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_BlogListView', new _WidgetInfo('BlogList1', 'sidebar-right-1', document.getElementById('BlogList1'), {'numItemsToShow': 5, 'totalItems': 2}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_FollowersView', new _WidgetInfo('Followers1', 'sidebar-right-1', document.getElementById('Followers1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_SubscribeView', new _WidgetInfo('Subscribe1', 'sidebar-right-1', document.getElementById('Subscribe1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar-right-1', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_AttributionView', new _WidgetInfo('Attribution1', 'footer-3', document.getElementById('Attribution1'), {}, 'displayModeFull'));
</script>
</body>
</html>