",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width
i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t(""),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth
t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element
-},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/**
- * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler
- * Licensed under MIT
- * @author Ariel Flesler
- * @version 2.1.2
- */
-;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference ",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017
- * http://www.smartmenus.org/
- * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$(" ").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$(' ')[0],$(' ')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$});
\ No newline at end of file
diff --git a/xess/doc/doxygen/menu.js b/xess/doc/doxygen/menu.js
deleted file mode 100644
index 54e81cf..0000000
--- a/xess/doc/doxygen/menu.js
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- @licstart The following is the entire license notice for the JavaScript code in this file.
-
- The MIT License (MIT)
-
- Copyright (C) 1997-2020 by Dimitri van Heesch
-
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software
- and associated documentation files (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge, publish, distribute,
- sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all copies or
- substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
- BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- @licend The above is the entire license notice for the JavaScript code in this file
- */
-function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
- function makeTree(data,relPath) {
- var result='';
- if ('children' in data) {
- result+='';
- }
- return result;
- }
- var searchBox;
- if (searchEnabled) {
- if (serverSide) {
- searchBox='';
- } else {
- searchBox=''+
- '
'+
- ' '+
- ' '+
- ' '+
- '
'+
- ' '
- ''
- '
';
- }
- }
-
- $('#main-nav').before(' '+
- ''+
- ' '+
- 'Toggle main menu visibility '+
- ' '+
- '
');
- $('#main-nav').append(makeTree(menudata,relPath));
- $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
- if (searchBox) {
- $('#main-menu').append(' ');
- }
- var $mainMenuState = $('#main-menu-state');
- var prevWidth = 0;
- if ($mainMenuState.length) {
- function initResizableIfExists() {
- if (typeof initResizable==='function') initResizable();
- }
- // animate mobile menu
- $mainMenuState.change(function(e) {
- var $menu = $('#main-menu');
- var options = { duration: 250, step: initResizableIfExists };
- if (this.checked) {
- options['complete'] = function() { $menu.css('display', 'block') };
- $menu.hide().slideDown(options);
- } else {
- options['complete'] = function() { $menu.css('display', 'none') };
- $menu.show().slideUp(options);
- }
- });
- // set default menu visibility
- function resetState() {
- var $menu = $('#main-menu');
- var $mainMenuState = $('#main-menu-state');
- var newWidth = $(window).outerWidth();
- if (newWidth!=prevWidth) {
- if ($(window).outerWidth()<768) {
- $mainMenuState.prop('checked',false); $menu.hide();
- $('#searchBoxPos1').html(searchBox);
- $('#searchBoxPos2').hide();
- } else {
- $menu.show();
- $('#searchBoxPos1').empty();
- $('#searchBoxPos2').html(searchBox);
- $('#searchBoxPos2').show();
- }
- prevWidth = newWidth;
- }
- }
- $(window).ready(function() { resetState(); initResizableIfExists(); });
- $(window).resize(resetState);
- }
- $('#main-menu').smartmenus();
-}
-/* @license-end */
diff --git a/xess/doc/doxygen/menudata.js b/xess/doc/doxygen/menudata.js
deleted file mode 100644
index e70f2aa..0000000
--- a/xess/doc/doxygen/menudata.js
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- @licstart The following is the entire license notice for the JavaScript code in this file.
-
- The MIT License (MIT)
-
- Copyright (C) 1997-2020 by Dimitri van Heesch
-
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software
- and associated documentation files (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge, publish, distribute,
- sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all copies or
- substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
- BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- @licend The above is the entire license notice for the JavaScript code in this file
-*/
-var menudata={children:[
-{text:"Main Page",url:"index.html"},
-{text:"Modules",url:"modules.html"},
-{text:"Data Structures",url:"annotated.html",children:[
-{text:"Data Structures",url:"annotated.html"},
-{text:"Data Structure Index",url:"classes.html"},
-{text:"Data Fields",url:"functions.html",children:[
-{text:"All",url:"functions.html",children:[
-{text:"a",url:"functions.html#index_a"},
-{text:"b",url:"functions.html#index_b"},
-{text:"c",url:"functions.html#index_c"},
-{text:"d",url:"functions.html#index_d"},
-{text:"e",url:"functions.html#index_e"},
-{text:"f",url:"functions.html#index_f"},
-{text:"g",url:"functions.html#index_g"},
-{text:"i",url:"functions.html#index_i"},
-{text:"j",url:"functions.html#index_j"},
-{text:"m",url:"functions.html#index_m"},
-{text:"o",url:"functions.html#index_o"},
-{text:"p",url:"functions.html#index_p"},
-{text:"q",url:"functions.html#index_q"},
-{text:"r",url:"functions.html#index_r"},
-{text:"t",url:"functions.html#index_t"},
-{text:"v",url:"functions.html#index_v"},
-{text:"x",url:"functions.html#index_x"},
-{text:"y",url:"functions.html#index_y"}]},
-{text:"Variables",url:"functions_vars.html",children:[
-{text:"a",url:"functions_vars.html#index_a"},
-{text:"b",url:"functions_vars.html#index_b"},
-{text:"c",url:"functions_vars.html#index_c"},
-{text:"d",url:"functions_vars.html#index_d"},
-{text:"e",url:"functions_vars.html#index_e"},
-{text:"f",url:"functions_vars.html#index_f"},
-{text:"g",url:"functions_vars.html#index_g"},
-{text:"i",url:"functions_vars.html#index_i"},
-{text:"j",url:"functions_vars.html#index_j"},
-{text:"m",url:"functions_vars.html#index_m"},
-{text:"o",url:"functions_vars.html#index_o"},
-{text:"p",url:"functions_vars.html#index_p"},
-{text:"q",url:"functions_vars.html#index_q"},
-{text:"r",url:"functions_vars.html#index_r"},
-{text:"t",url:"functions_vars.html#index_t"},
-{text:"v",url:"functions_vars.html#index_v"},
-{text:"x",url:"functions_vars.html#index_x"},
-{text:"y",url:"functions_vars.html#index_y"}]}]}]},
-{text:"Files",url:"files.html",children:[
-{text:"File List",url:"files.html"},
-{text:"Globals",url:"globals.html",children:[
-{text:"All",url:"globals.html",children:[
-{text:"_",url:"globals.html#index__5F"},
-{text:"s",url:"globals.html#index_s"},
-{text:"x",url:"globals.html#index_x"}]},
-{text:"Functions",url:"globals_func.html"},
-{text:"Typedefs",url:"globals_type.html"},
-{text:"Enumerations",url:"globals_enum.html"},
-{text:"Enumerator",url:"globals_eval.html",children:[
-{text:"x",url:"globals_eval.html#index_x"}]},
-{text:"Macros",url:"globals_defs.html"}]}]}]}
diff --git a/xess/doc/doxygen/modules.html b/xess/doc/doxygen/modules.html
deleted file mode 100644
index 21c39a5..0000000
--- a/xess/doc/doxygen/modules.html
+++ /dev/null
@@ -1,106 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: Modules
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Here is a list of all modules:
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/modules.js b/xess/doc/doxygen/modules.js
deleted file mode 100644
index 05560a0..0000000
--- a/xess/doc/doxygen/modules.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var modules =
-[
- [ "XeSS API exports", "group__xess.html", "group__xess" ],
- [ "XeSS D3D12 API exports", "group__xess-d3d12.html", "group__xess-d3d12" ],
- [ "XeSS D3D12 API debug exports", "group__xess-d3d12-debug.html", "group__xess-d3d12-debug" ],
- [ "XeSS API debug exports", "group__xess-debug.html", "group__xess-debug" ]
-];
\ No newline at end of file
diff --git a/xess/doc/doxygen/nav_f.png b/xess/doc/doxygen/nav_f.png
deleted file mode 100644
index 72a58a5..0000000
Binary files a/xess/doc/doxygen/nav_f.png and /dev/null differ
diff --git a/xess/doc/doxygen/nav_g.png b/xess/doc/doxygen/nav_g.png
deleted file mode 100644
index 2093a23..0000000
Binary files a/xess/doc/doxygen/nav_g.png and /dev/null differ
diff --git a/xess/doc/doxygen/nav_h.png b/xess/doc/doxygen/nav_h.png
deleted file mode 100644
index 33389b1..0000000
Binary files a/xess/doc/doxygen/nav_h.png and /dev/null differ
diff --git a/xess/doc/doxygen/navtree.css b/xess/doc/doxygen/navtree.css
deleted file mode 100644
index d8a311a..0000000
--- a/xess/doc/doxygen/navtree.css
+++ /dev/null
@@ -1,147 +0,0 @@
-#nav-tree .children_ul {
- margin:0;
- padding:4px;
-}
-
-#nav-tree ul {
- list-style:none outside none;
- margin:0px;
- padding:0px;
-}
-
-#nav-tree li {
- white-space:nowrap;
- margin:0px;
- padding:0px;
-}
-
-#nav-tree .plus {
- margin:0px;
-}
-
-#nav-tree .selected {
- background-image: url('tab_a.png');
- background-repeat:repeat-x;
- color: #fff;
- text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
-}
-
-#nav-tree img {
- margin:0px;
- padding:0px;
- border:0px;
- vertical-align: middle;
-}
-
-#nav-tree a {
- text-decoration:none;
- padding:0px;
- margin:0px;
- outline:none;
-}
-
-#nav-tree .label {
- margin:0px;
- padding:0px;
- font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
-}
-
-#nav-tree .label a {
- padding:2px;
-}
-
-#nav-tree .selected a {
- text-decoration:none;
- color:#fff;
-}
-
-#nav-tree .children_ul {
- margin:0px;
- padding:0px;
-}
-
-#nav-tree .item {
- margin:0px;
- padding:0px;
-}
-
-#nav-tree {
- padding: 0px 0px;
- background-color: #FAFAFF;
- font-size:14px;
- overflow:auto;
-}
-
-#doc-content {
- overflow:auto;
- display:block;
- padding:0px;
- margin:0px;
- -webkit-overflow-scrolling : touch; /* iOS 5+ */
-}
-
-#side-nav {
- padding:0 6px 0 0;
- margin: 0px;
- display:block;
- position: absolute;
- left: 0px;
- width: 250px;
- overflow : hidden;
-}
-
-.ui-resizable .ui-resizable-handle {
- display:block;
-}
-
-.ui-resizable-e {
- background-image:url("splitbar.png");
- background-size:100%;
- background-repeat:repeat-y;
- background-attachment: scroll;
- cursor:ew-resize;
- height:100%;
- right:0;
- top:0;
- width:6px;
-}
-
-.ui-resizable-handle {
- display:none;
- font-size:0.1px;
- position:absolute;
- z-index:1;
-}
-
-#nav-tree-contents {
- margin: 6px 0px 0px 0px;
-}
-
-#nav-tree {
- background-image:url('nav_h.png');
- background-repeat:repeat-x;
- background-color: #F9FAFC;
- -webkit-overflow-scrolling : touch; /* iOS 5+ */
-}
-
-#nav-sync {
- position:absolute;
- top:5px;
- right:24px;
- z-index:0;
-}
-
-#nav-sync img {
- opacity:0.3;
-}
-
-#nav-sync img:hover {
- opacity:0.9;
-}
-
-@media print
-{
- #nav-tree { display: none; }
- div.ui-resizable-handle { display: none; position: relative; }
-}
-
diff --git a/xess/doc/doxygen/navtree.js b/xess/doc/doxygen/navtree.js
deleted file mode 100644
index 2798368..0000000
--- a/xess/doc/doxygen/navtree.js
+++ /dev/null
@@ -1,549 +0,0 @@
-/*
- @licstart The following is the entire license notice for the JavaScript code in this file.
-
- The MIT License (MIT)
-
- Copyright (C) 1997-2020 by Dimitri van Heesch
-
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software
- and associated documentation files (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge, publish, distribute,
- sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all copies or
- substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
- BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- @licend The above is the entire license notice for the JavaScript code in this file
- */
-var navTreeSubIndices = new Array();
-var arrowDown = '▼';
-var arrowRight = '►';
-
-function getData(varName)
-{
- var i = varName.lastIndexOf('/');
- var n = i>=0 ? varName.substring(i+1) : varName;
- return eval(n.replace(/\-/g,'_'));
-}
-
-function stripPath(uri)
-{
- return uri.substring(uri.lastIndexOf('/')+1);
-}
-
-function stripPath2(uri)
-{
- var i = uri.lastIndexOf('/');
- var s = uri.substring(i+1);
- var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/);
- return m ? uri.substring(i-6) : s;
-}
-
-function hashValue()
-{
- return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,'');
-}
-
-function hashUrl()
-{
- return '#'+hashValue();
-}
-
-function pathName()
-{
- return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, '');
-}
-
-function localStorageSupported()
-{
- try {
- return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem;
- }
- catch(e) {
- return false;
- }
-}
-
-function storeLink(link)
-{
- if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) {
- window.localStorage.setItem('navpath',link);
- }
-}
-
-function deleteLink()
-{
- if (localStorageSupported()) {
- window.localStorage.setItem('navpath','');
- }
-}
-
-function cachedLink()
-{
- if (localStorageSupported()) {
- return window.localStorage.getItem('navpath');
- } else {
- return '';
- }
-}
-
-function getScript(scriptName,func,show)
-{
- var head = document.getElementsByTagName("head")[0];
- var script = document.createElement('script');
- script.id = scriptName;
- script.type = 'text/javascript';
- script.onload = func;
- script.src = scriptName+'.js';
- head.appendChild(script);
-}
-
-function createIndent(o,domNode,node,level)
-{
- var level=-1;
- var n = node;
- while (n.parentNode) { level++; n=n.parentNode; }
- if (node.childrenData) {
- var imgNode = document.createElement("span");
- imgNode.className = 'arrow';
- imgNode.style.paddingLeft=(16*level).toString()+'px';
- imgNode.innerHTML=arrowRight;
- node.plus_img = imgNode;
- node.expandToggle = document.createElement("a");
- node.expandToggle.href = "javascript:void(0)";
- node.expandToggle.onclick = function() {
- if (node.expanded) {
- $(node.getChildrenUL()).slideUp("fast");
- node.plus_img.innerHTML=arrowRight;
- node.expanded = false;
- } else {
- expandNode(o, node, false, false);
- }
- }
- node.expandToggle.appendChild(imgNode);
- domNode.appendChild(node.expandToggle);
- } else {
- var span = document.createElement("span");
- span.className = 'arrow';
- span.style.width = 16*(level+1)+'px';
- span.innerHTML = ' ';
- domNode.appendChild(span);
- }
-}
-
-var animationInProgress = false;
-
-function gotoAnchor(anchor,aname,updateLocation)
-{
- var pos, docContent = $('#doc-content');
- var ancParent = $(anchor.parent());
- if (ancParent.hasClass('memItemLeft') ||
- ancParent.hasClass('memtitle') ||
- ancParent.hasClass('fieldname') ||
- ancParent.hasClass('fieldtype') ||
- ancParent.is(':header'))
- {
- pos = ancParent.position().top;
- } else if (anchor.position()) {
- pos = anchor.position().top;
- }
- if (pos) {
- var dist = Math.abs(Math.min(
- pos-docContent.offset().top,
- docContent[0].scrollHeight-
- docContent.height()-docContent.scrollTop()));
- animationInProgress=true;
- docContent.animate({
- scrollTop: pos + docContent.scrollTop() - docContent.offset().top
- },Math.max(50,Math.min(500,dist)),function(){
- if (updateLocation) window.location.href=aname;
- animationInProgress=false;
- });
- }
-}
-
-function newNode(o, po, text, link, childrenData, lastNode)
-{
- var node = new Object();
- node.children = Array();
- node.childrenData = childrenData;
- node.depth = po.depth + 1;
- node.relpath = po.relpath;
- node.isLast = lastNode;
-
- node.li = document.createElement("li");
- po.getChildrenUL().appendChild(node.li);
- node.parentNode = po;
-
- node.itemDiv = document.createElement("div");
- node.itemDiv.className = "item";
-
- node.labelSpan = document.createElement("span");
- node.labelSpan.className = "label";
-
- createIndent(o,node.itemDiv,node,0);
- node.itemDiv.appendChild(node.labelSpan);
- node.li.appendChild(node.itemDiv);
-
- var a = document.createElement("a");
- node.labelSpan.appendChild(a);
- node.label = document.createTextNode(text);
- node.expanded = false;
- a.appendChild(node.label);
- if (link) {
- var url;
- if (link.substring(0,1)=='^') {
- url = link.substring(1);
- link = url;
- } else {
- url = node.relpath+link;
- }
- a.className = stripPath(link.replace('#',':'));
- if (link.indexOf('#')!=-1) {
- var aname = '#'+link.split('#')[1];
- var srcPage = stripPath(pathName());
- var targetPage = stripPath(link.split('#')[0]);
- a.href = srcPage!=targetPage ? url : "javascript:void(0)";
- a.onclick = function(){
- storeLink(link);
- if (!$(a).parent().parent().hasClass('selected'))
- {
- $('.item').removeClass('selected');
- $('.item').removeAttr('id');
- $(a).parent().parent().addClass('selected');
- $(a).parent().parent().attr('id','selected');
- }
- var anchor = $(aname);
- gotoAnchor(anchor,aname,true);
- };
- } else {
- a.href = url;
- a.onclick = function() { storeLink(link); }
- }
- } else {
- if (childrenData != null)
- {
- a.className = "nolink";
- a.href = "javascript:void(0)";
- a.onclick = node.expandToggle.onclick;
- }
- }
-
- node.childrenUL = null;
- node.getChildrenUL = function() {
- if (!node.childrenUL) {
- node.childrenUL = document.createElement("ul");
- node.childrenUL.className = "children_ul";
- node.childrenUL.style.display = "none";
- node.li.appendChild(node.childrenUL);
- }
- return node.childrenUL;
- };
-
- return node;
-}
-
-function showRoot()
-{
- var headerHeight = $("#top").height();
- var footerHeight = $("#nav-path").height();
- var windowHeight = $(window).height() - headerHeight - footerHeight;
- (function (){ // retry until we can scroll to the selected item
- try {
- var navtree=$('#nav-tree');
- navtree.scrollTo('#selected',100,{offset:-windowHeight/2});
- } catch (err) {
- setTimeout(arguments.callee, 0);
- }
- })();
-}
-
-function expandNode(o, node, imm, showRoot)
-{
- if (node.childrenData && !node.expanded) {
- if (typeof(node.childrenData)==='string') {
- var varName = node.childrenData;
- getScript(node.relpath+varName,function(){
- node.childrenData = getData(varName);
- expandNode(o, node, imm, showRoot);
- }, showRoot);
- } else {
- if (!node.childrenVisited) {
- getNode(o, node);
- }
- $(node.getChildrenUL()).slideDown("fast");
- node.plus_img.innerHTML = arrowDown;
- node.expanded = true;
- }
- }
-}
-
-function glowEffect(n,duration)
-{
- n.addClass('glow').delay(duration).queue(function(next){
- $(this).removeClass('glow');next();
- });
-}
-
-function highlightAnchor()
-{
- var aname = hashUrl();
- var anchor = $(aname);
- if (anchor.parent().attr('class')=='memItemLeft'){
- var rows = $('.memberdecls tr[class$="'+hashValue()+'"]');
- glowEffect(rows.children(),300); // member without details
- } else if (anchor.parent().attr('class')=='fieldname'){
- glowEffect(anchor.parent().parent(),1000); // enum value
- } else if (anchor.parent().attr('class')=='fieldtype'){
- glowEffect(anchor.parent().parent(),1000); // struct field
- } else if (anchor.parent().is(":header")) {
- glowEffect(anchor.parent(),1000); // section header
- } else {
- glowEffect(anchor.next(),1000); // normal member
- }
-}
-
-function selectAndHighlight(hash,n)
-{
- var a;
- if (hash) {
- var link=stripPath(pathName())+':'+hash.substring(1);
- a=$('.item a[class$="'+link+'"]');
- }
- if (a && a.length) {
- a.parent().parent().addClass('selected');
- a.parent().parent().attr('id','selected');
- highlightAnchor();
- } else if (n) {
- $(n.itemDiv).addClass('selected');
- $(n.itemDiv).attr('id','selected');
- }
- var topOffset=5;
- if (typeof page_layout!=='undefined' && page_layout==1) {
- topOffset+=$('#top').outerHeight();
- }
- if ($('#nav-tree-contents .item:first').hasClass('selected')) {
- topOffset+=25;
- }
- $('#nav-sync').css('top',topOffset+'px');
- showRoot();
-}
-
-function showNode(o, node, index, hash)
-{
- if (node && node.childrenData) {
- if (typeof(node.childrenData)==='string') {
- var varName = node.childrenData;
- getScript(node.relpath+varName,function(){
- node.childrenData = getData(varName);
- showNode(o,node,index,hash);
- },true);
- } else {
- if (!node.childrenVisited) {
- getNode(o, node);
- }
- $(node.getChildrenUL()).css({'display':'block'});
- node.plus_img.innerHTML = arrowDown;
- node.expanded = true;
- var n = node.children[o.breadcrumbs[index]];
- if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,'');
- else hash='';
- }
- if (hash.match(/^#l\d+$/)) {
- var anchor=$('a[name='+hash.substring(1)+']');
- glowEffect(anchor.parent(),1000); // line number
- hash=''; // strip line number anchors
- }
- var url=root+hash;
- var i=-1;
- while (NAVTREEINDEX[i+1]<=url) i++;
- if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index
- if (navTreeSubIndices[i]) {
- gotoNode(o,i,root,hash,relpath)
- } else {
- getScript(relpath+'navtreeindex'+i,function(){
- navTreeSubIndices[i] = eval('NAVTREEINDEX'+i);
- if (navTreeSubIndices[i]) {
- gotoNode(o,i,root,hash,relpath);
- }
- },true);
- }
-}
-
-function showSyncOff(n,relpath)
-{
- n.html(' ');
-}
-
-function showSyncOn(n,relpath)
-{
- n.html(' ');
-}
-
-function toggleSyncButton(relpath)
-{
- var navSync = $('#nav-sync');
- if (navSync.hasClass('sync')) {
- navSync.removeClass('sync');
- showSyncOff(navSync,relpath);
- storeLink(stripPath2(pathName())+hashUrl());
- } else {
- navSync.addClass('sync');
- showSyncOn(navSync,relpath);
- deleteLink();
- }
-}
-
-var loadTriggered = false;
-var readyTriggered = false;
-var loadObject,loadToRoot,loadUrl,loadRelPath;
-
-$(window).on('load',function(){
- if (readyTriggered) { // ready first
- navTo(loadObject,loadToRoot,loadUrl,loadRelPath);
- showRoot();
- }
- loadTriggered=true;
-});
-
-function initNavTree(toroot,relpath)
-{
- var o = new Object();
- o.toroot = toroot;
- o.node = new Object();
- o.node.li = document.getElementById("nav-tree-contents");
- o.node.childrenData = NAVTREE;
- o.node.children = new Array();
- o.node.childrenUL = document.createElement("ul");
- o.node.getChildrenUL = function() { return o.node.childrenUL; };
- o.node.li.appendChild(o.node.childrenUL);
- o.node.depth = 0;
- o.node.relpath = relpath;
- o.node.expanded = false;
- o.node.isLast = true;
- o.node.plus_img = document.createElement("span");
- o.node.plus_img.className = 'arrow';
- o.node.plus_img.innerHTML = arrowRight;
-
- if (localStorageSupported()) {
- var navSync = $('#nav-sync');
- if (cachedLink()) {
- showSyncOff(navSync,relpath);
- navSync.removeClass('sync');
- } else {
- showSyncOn(navSync,relpath);
- }
- navSync.click(function(){ toggleSyncButton(relpath); });
- }
-
- if (loadTriggered) { // load before ready
- navTo(o,toroot,hashUrl(),relpath);
- showRoot();
- } else { // ready before load
- loadObject = o;
- loadToRoot = toroot;
- loadUrl = hashUrl();
- loadRelPath = relpath;
- readyTriggered=true;
- }
-
- $(window).bind('hashchange', function(){
- if (window.location.hash && window.location.hash.length>1){
- var a;
- if ($(location).attr('hash')){
- var clslink=stripPath(pathName())+':'+hashValue();
- a=$('.item a[class$="'+clslink.replace(/=desktop_vp) {
- if (!collapsed) {
- collapseExpand();
- }
- } else if (width>desktop_vp && collapsedWidth0) {
- restoreWidth(0);
- collapsed=true;
- }
- else {
- var width = readCookie('width');
- if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); }
- collapsed=false;
- }
- }
-
- header = $("#top");
- sidenav = $("#side-nav");
- content = $("#doc-content");
- navtree = $("#nav-tree");
- footer = $("#nav-path");
- $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } });
- $(sidenav).resizable({ minWidth: 0 });
- $(window).resize(function() { resizeHeight(); });
- var device = navigator.userAgent.toLowerCase();
- var touch_device = device.match(/(iphone|ipod|ipad|android)/);
- if (touch_device) { /* wider split bar for touch only devices */
- $(sidenav).css({ paddingRight:'20px' });
- $('.ui-resizable-e').css({ width:'20px' });
- $('#nav-sync').css({ right:'34px' });
- barWidth=20;
- }
- var width = readCookie('width');
- if (width) { restoreWidth(width); } else { resizeWidth(); }
- resizeHeight();
- var url = location.href;
- var i=url.indexOf("#");
- if (i>=0) window.location.hash=url.substr(i);
- var _preventDefault = function(evt) { evt.preventDefault(); };
- $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault);
- $(".ui-resizable-handle").dblclick(collapseExpand);
- $(window).on('load',resizeHeight);
-}
-/* @license-end */
diff --git a/xess/doc/doxygen/search/all_0.html b/xess/doc/doxygen/search/all_0.html
deleted file mode 100644
index c36c9af..0000000
--- a/xess/doc/doxygen/search/all_0.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_0.js b/xess/doc/doxygen/search/all_0.js
deleted file mode 100644
index 5da476c..0000000
--- a/xess/doc/doxygen/search/all_0.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var searchData=
-[
- ['_5fxess_5f2d_5ft_0',['_xess_2d_t',['../struct__xess__2d__t.html',1,'']]],
- ['_5fxess_5fd3d12_5fexecute_5fparams_5ft_1',['_xess_d3d12_execute_params_t',['../struct__xess__d3d12__execute__params__t.html',1,'']]],
- ['_5fxess_5fd3d12_5finit_5fparams_5ft_2',['_xess_d3d12_init_params_t',['../struct__xess__d3d12__init__params__t.html',1,'']]],
- ['_5fxess_5fdump_5felement_5fbits_5ft_3',['_xess_dump_element_bits_t',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83',1,'xess_debug.h']]],
- ['_5fxess_5fdump_5fparameters_5ft_4',['_xess_dump_parameters_t',['../struct__xess__dump__parameters__t.html',1,'']]],
- ['_5fxess_5finit_5fflags_5ft_5',['_xess_init_flags_t',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1',1,'xess.h']]],
- ['_5fxess_5flogging_5flevel_5ft_6',['_xess_logging_level_t',['../xess_8h.html#a12f0fd50664b1a61319821499ec24721',1,'xess.h']]],
- ['_5fxess_5fnetwork_5fmodel_5ft_7',['_xess_network_model_t',['../xess__debug_8h.html#ace50e033796a986a57623170306b41ed',1,'xess_debug.h']]],
- ['_5fxess_5fprofiled_5fframe_5fdata_5ft_8',['_xess_profiled_frame_data_t',['../struct__xess__profiled__frame__data__t.html',1,'']]],
- ['_5fxess_5fprofiling_5fdata_5ft_9',['_xess_profiling_data_t',['../struct__xess__profiling__data__t.html',1,'']]],
- ['_5fxess_5fproperties_5ft_10',['_xess_properties_t',['../struct__xess__properties__t.html',1,'']]],
- ['_5fxess_5fquality_5fsettings_5ft_11',['_xess_quality_settings_t',['../xess_8h.html#acc1be3e82183f25c7188fa6b5cbf1e34',1,'xess.h']]],
- ['_5fxess_5fresources_5fto_5fdump_5ft_12',['_xess_resources_to_dump_t',['../struct__xess__resources__to__dump__t.html',1,'']]],
- ['_5fxess_5fresult_5ft_13',['_xess_result_t',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612',1,'xess.h']]],
- ['_5fxess_5fversion_5ft_14',['_xess_version_t',['../struct__xess__version__t.html',1,'']]]
-];
diff --git a/xess/doc/doxygen/search/all_1.html b/xess/doc/doxygen/search/all_1.html
deleted file mode 100644
index 91cfe8a..0000000
--- a/xess/doc/doxygen/search/all_1.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_1.js b/xess/doc/doxygen/search/all_1.js
deleted file mode 100644
index eab109b..0000000
--- a/xess/doc/doxygen/search/all_1.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
- ['any_5fprofiling_5fdata_5fin_5fflight_0',['any_profiling_data_in_flight',['../struct__xess__profiling__data__t.html#a7ce6d3494f6a8695edf94fcad38c455e',1,'_xess_profiling_data_t']]],
- ['as_5ftensor_1',['as_tensor',['../struct__xess__resources__to__dump__t.html#a055a00bb33a3ade096f537cee6d614ca',1,'_xess_resources_to_dump_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_10.html b/xess/doc/doxygen/search/all_10.html
deleted file mode 100644
index 765f584..0000000
--- a/xess/doc/doxygen/search/all_10.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_10.js b/xess/doc/doxygen/search/all_10.js
deleted file mode 100644
index fb096f6..0000000
--- a/xess/doc/doxygen/search/all_10.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var searchData=
-[
- ['tempbufferheapsize_0',['tempBufferHeapSize',['../struct__xess__properties__t.html#a0db8617705e860098e048d7f3e5466ff',1,'_xess_properties_t']]],
- ['temptextureheapsize_1',['tempTextureHeapSize',['../struct__xess__properties__t.html#a209e8c58699154a12ca8c51d190565ee',1,'_xess_properties_t']]],
- ['tensor_5fchannel_5fcount_2',['tensor_channel_count',['../struct__xess__resources__to__dump__t.html#ae59e9714ae9a69c614783e31a585a221',1,'_xess_resources_to_dump_t']]],
- ['tensor_5fheight_3',['tensor_height',['../struct__xess__resources__to__dump__t.html#a7d6bf0ceee8b6abbb2678a630531e4fb',1,'_xess_resources_to_dump_t']]],
- ['tensor_5fwidth_4',['tensor_width',['../struct__xess__resources__to__dump__t.html#a1b5c859fbf4a5eb748d5381e6063f673',1,'_xess_resources_to_dump_t']]],
- ['textureheapoffset_5',['textureHeapOffset',['../struct__xess__d3d12__init__params__t.html#a9e2ba8ca5471d07e4bb30183deb00e56',1,'_xess_d3d12_init_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_11.html b/xess/doc/doxygen/search/all_11.html
deleted file mode 100644
index e2183ee..0000000
--- a/xess/doc/doxygen/search/all_11.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_11.js b/xess/doc/doxygen/search/all_11.js
deleted file mode 100644
index 88216c6..0000000
--- a/xess/doc/doxygen/search/all_11.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
- ['visiblenodemask_0',['visibleNodeMask',['../struct__xess__d3d12__init__params__t.html#a153b79c833ddce15c33d78691a679ca3',1,'_xess_d3d12_init_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_12.html b/xess/doc/doxygen/search/all_12.html
deleted file mode 100644
index 9b9621c..0000000
--- a/xess/doc/doxygen/search/all_12.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_12.js b/xess/doc/doxygen/search/all_12.js
deleted file mode 100644
index 56c3063..0000000
--- a/xess/doc/doxygen/search/all_12.js
+++ /dev/null
@@ -1,97 +0,0 @@
-var searchData=
-[
- ['x_0',['x',['../struct__xess__2d__t.html#aae8a40a17c0be29c1f06ca6b4f9e2235',1,'_xess_2d_t']]],
- ['xess_20api_20debug_20exports_1',['XeSS API debug exports',['../group__xess-debug.html',1,'']]],
- ['xess_20api_20exports_2',['XeSS API exports',['../group__xess.html',1,'']]],
- ['xess_20d3d12_20api_20debug_20exports_3',['XeSS D3D12 API debug exports',['../group__xess-d3d12-debug.html',1,'']]],
- ['xess_20d3d12_20api_20exports_4',['XeSS D3D12 API exports',['../group__xess-d3d12.html',1,'']]],
- ['xess_20sdk_5',['XeSS SDK',['../index.html',1,'']]],
- ['xess_2eh_6',['xess.h',['../xess_8h.html',1,'']]],
- ['xess_5f2d_5ft_7',['xess_2d_t',['../xess_8h.html#a3839d654f9989ed64bc09f3a93f16bbb',1,'xess.h']]],
- ['xess_5fapi_8',['XESS_API',['../xess_8h.html#ac7ba74abaad1e5cf4ca1fffa7fee838c',1,'xess.h']]],
- ['xess_5fapp_5flog_5fcallback_5ft_9',['xess_app_log_callback_t',['../xess_8h.html#a6c757a86356ec78ea12f7a0569a945f8',1,'xess.h']]],
- ['xess_5fcontext_5fhandle_5ft_10',['xess_context_handle_t',['../xess_8h.html#af31f441c4909f7bbf9fb4491b5f9b927',1,'xess.h']]],
- ['xess_5fcoord_5ft_11',['xess_coord_t',['../xess_8h.html#ab4b757ead636df148ed7dbcaf8a86d2f',1,'xess.h']]],
- ['xess_5fd3d12_2eh_12',['xess_d3d12.h',['../xess__d3d12_8h.html',1,'']]],
- ['xess_5fd3d12_5fdebug_2eh_13',['xess_d3d12_debug.h',['../xess__d3d12__debug_8h.html',1,'']]],
- ['xess_5fd3d12_5fdebug_5fenable_5fprofiling_14',['XESS_D3D12_DEBUG_ENABLE_PROFILING',['../xess__d3d12__debug_8h.html#ad587f5e54cc2f41c539dd8983e248cb2',1,'xess_d3d12_debug.h']]],
- ['xess_5fd3d12_5fexecute_5fparams_5ft_15',['xess_d3d12_execute_params_t',['../xess__d3d12_8h.html#a013d859444728ce4c0b3b95e5437caf5',1,'xess_d3d12.h']]],
- ['xess_5fd3d12_5finit_5fparams_5ft_16',['xess_d3d12_init_params_t',['../xess__d3d12_8h.html#a8738b1b1df89db7fcdb1647af648c7d7',1,'xess_d3d12.h']]],
- ['xess_5fdebug_2eh_17',['xess_debug.h',['../xess__debug_8h.html',1,'']]],
- ['xess_5fdump_5fall_18',['XESS_DUMP_ALL',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a312ca9873e04595421188f6345d28f82',1,'xess_debug.h']]],
- ['xess_5fdump_5fall_5finputs_19',['XESS_DUMP_ALL_INPUTS',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a5bde5b4edb7c99106b7ad168d3da89fe',1,'xess_debug.h']]],
- ['xess_5fdump_5felement_5fbits_5ft_20',['xess_dump_element_bits_t',['../xess__debug_8h.html#a516d71b76c0d19198beed6465eb4535c',1,'xess_debug.h']]],
- ['xess_5fdump_5felements_5fmask_5ft_21',['xess_dump_elements_mask_t',['../xess__debug_8h.html#a508c6f679546883d9c849cbfd3615363',1,'xess_debug.h']]],
- ['xess_5fdump_5fexecution_5fparameters_22',['XESS_DUMP_EXECUTION_PARAMETERS',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a60e0f8ed79622d3f7e4588a658fc484a',1,'xess_debug.h']]],
- ['xess_5fdump_5fhistory_23',['XESS_DUMP_HISTORY',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83ae98ac97ee61128c3b0632a8ccbefc6bc',1,'xess_debug.h']]],
- ['xess_5fdump_5finput_5fcolor_24',['XESS_DUMP_INPUT_COLOR',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a623a94758729c9bcdc65df0547b1974f',1,'xess_debug.h']]],
- ['xess_5fdump_5finput_5fdepth_25',['XESS_DUMP_INPUT_DEPTH',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83aa9f414176cfe6c87f0e7b62d60976a88',1,'xess_debug.h']]],
- ['xess_5fdump_5finput_5fexposure_5fscale_26',['XESS_DUMP_INPUT_EXPOSURE_SCALE',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a89c37b4f5e86951bddd55fb8a5164bcc',1,'xess_debug.h']]],
- ['xess_5fdump_5finput_5fresponsive_5fpixel_5fmask_27',['XESS_DUMP_INPUT_RESPONSIVE_PIXEL_MASK',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a002eada067830ed6c0aa36fbc60a21f2',1,'xess_debug.h']]],
- ['xess_5fdump_5finput_5fvelocity_28',['XESS_DUMP_INPUT_VELOCITY',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a660e96b09d4656899f05260d1e7622a3',1,'xess_debug.h']]],
- ['xess_5fdump_5foutput_29',['XESS_DUMP_OUTPUT',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83ab5fabbdd4efc47253723dd02ac132121',1,'xess_debug.h']]],
- ['xess_5fdump_5fparameters_5ft_30',['xess_dump_parameters_t',['../xess__debug_8h.html#a7a40b052b76b6b70177eb6bca388a214',1,'xess_debug.h']]],
- ['xess_5finit_5fflag_5fexposure_5fscale_5ftexture_31',['XESS_INIT_FLAG_EXPOSURE_SCALE_TEXTURE',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a99164122cf8c776c7ce5bfdfe3fd0492',1,'xess.h']]],
- ['xess_5finit_5fflag_5fexternal_5fdescriptor_5fheap_32',['XESS_INIT_FLAG_EXTERNAL_DESCRIPTOR_HEAP',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a7a765c7ec24c2b4193baf2e0a30fb4c7',1,'xess.h']]],
- ['xess_5finit_5fflag_5fhigh_5fres_5fmv_33',['XESS_INIT_FLAG_HIGH_RES_MV',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a88dbf4a687acc9bd1281778570c7c757',1,'xess.h']]],
- ['xess_5finit_5fflag_5finverted_5fdepth_34',['XESS_INIT_FLAG_INVERTED_DEPTH',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a91fe3728f6cafc03e6da0a064389859a',1,'xess.h']]],
- ['xess_5finit_5fflag_5fjittered_5fmv_35',['XESS_INIT_FLAG_JITTERED_MV',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a8390a8a09d1f38a88608644929954028',1,'xess.h']]],
- ['xess_5finit_5fflag_5fldr_5finput_5fcolor_36',['XESS_INIT_FLAG_LDR_INPUT_COLOR',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a0eb16d799c44bab1bbf3c59dfd97ceb9',1,'xess.h']]],
- ['xess_5finit_5fflag_5fnone_37',['XESS_INIT_FLAG_NONE',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a93cdd13324042072081453aeaadf0e1e',1,'xess.h']]],
- ['xess_5finit_5fflag_5fresponsive_5fpixel_5fmask_38',['XESS_INIT_FLAG_RESPONSIVE_PIXEL_MASK',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1ad1f14cc0ac79131e639d3bab61c5f48c',1,'xess.h']]],
- ['xess_5finit_5fflag_5fuse_5fndc_5fvelocity_39',['XESS_INIT_FLAG_USE_NDC_VELOCITY',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a2c868f941d0829edc844b93bd76cf0f2',1,'xess.h']]],
- ['xess_5finit_5fflags_5ft_40',['xess_init_flags_t',['../xess_8h.html#a4d9dd06b8ad6424f988f53522f8969a8',1,'xess.h']]],
- ['xess_5flogging_5flevel_5fdebug_41',['XESS_LOGGING_LEVEL_DEBUG',['../xess_8h.html#a12f0fd50664b1a61319821499ec24721a526588cb8c0fe38b7bb35479bd44b710',1,'xess.h']]],
- ['xess_5flogging_5flevel_5ferror_42',['XESS_LOGGING_LEVEL_ERROR',['../xess_8h.html#a12f0fd50664b1a61319821499ec24721a7142dcde3f8100558086ad32c674242b',1,'xess.h']]],
- ['xess_5flogging_5flevel_5finfo_43',['XESS_LOGGING_LEVEL_INFO',['../xess_8h.html#a12f0fd50664b1a61319821499ec24721a02d7dfe8174efddabcf108baf804b4a6',1,'xess.h']]],
- ['xess_5flogging_5flevel_5ft_44',['xess_logging_level_t',['../xess_8h.html#a6432053aa5103ccd9df8618a7eaaacb8',1,'xess.h']]],
- ['xess_5flogging_5flevel_5fwarning_45',['XESS_LOGGING_LEVEL_WARNING',['../xess_8h.html#a12f0fd50664b1a61319821499ec24721a089568d56d50438813be38513b886486',1,'xess.h']]],
- ['xess_5fnetwork_5fmodel_5fkpss_46',['XESS_NETWORK_MODEL_KPSS',['../xess__debug_8h.html#ace50e033796a986a57623170306b41eda1489add6542185904900e0b6796b8215',1,'xess_debug.h']]],
- ['xess_5fnetwork_5fmodel_5fsplat_47',['XESS_NETWORK_MODEL_SPLAT',['../xess__debug_8h.html#ace50e033796a986a57623170306b41eda89d379244951ad3c2988a0d303b4a0cb',1,'xess_debug.h']]],
- ['xess_5fnetwork_5fmodel_5ft_48',['xess_network_model_t',['../xess__debug_8h.html#a0f8d91004ab90548549da8adb0d4f195',1,'xess_debug.h']]],
- ['xess_5fpack_5fb_49',['XESS_PACK_B',['../xess_8h.html#a3c68605bee1e217a930c4ae6aa218fd1',1,'xess.h']]],
- ['xess_5fpack_5fb_5fx_50',['XESS_PACK_B_X',['../xess_8h.html#a0cbf0d6231ec6ae03e685f2ddee69a95',1,'xess.h']]],
- ['xess_5fpack_5fe_51',['XESS_PACK_E',['../xess_8h.html#a36808d4ffd35a951c364418a19468cf8',1,'xess.h']]],
- ['xess_5fpragma_52',['XESS_PRAGMA',['../xess_8h.html#af3af4f4afda4277313b1b91dbf1f7497',1,'xess.h']]],
- ['xess_5fprofiled_5fframe_5fdata_5ft_53',['xess_profiled_frame_data_t',['../xess__d3d12__debug_8h.html#a8fb30e1bc4f2c5e8dab3d8a80c30e3be',1,'xess_d3d12_debug.h']]],
- ['xess_5fprofiling_5fdata_5ft_54',['xess_profiling_data_t',['../xess__d3d12__debug_8h.html#ad7d2b8797e2ede0f09b73e1a240583f9',1,'xess_d3d12_debug.h']]],
- ['xess_5fproperties_5ft_55',['xess_properties_t',['../xess_8h.html#a81c9ce6225897595f26130f90c41f3e2',1,'xess.h']]],
- ['xess_5fquality_5fsetting_5fbalanced_56',['XESS_QUALITY_SETTING_BALANCED',['../xess_8h.html#acc1be3e82183f25c7188fa6b5cbf1e34af42585b087b48ac84f15147eca7f84fc',1,'xess.h']]],
- ['xess_5fquality_5fsetting_5fperformance_57',['XESS_QUALITY_SETTING_PERFORMANCE',['../xess_8h.html#acc1be3e82183f25c7188fa6b5cbf1e34a375807073d5e41d49599bc4c3796a298',1,'xess.h']]],
- ['xess_5fquality_5fsetting_5fquality_58',['XESS_QUALITY_SETTING_QUALITY',['../xess_8h.html#acc1be3e82183f25c7188fa6b5cbf1e34aad6611bfc9d8b4367d40cc4341781071',1,'xess.h']]],
- ['xess_5fquality_5fsetting_5fultra_5fquality_59',['XESS_QUALITY_SETTING_ULTRA_QUALITY',['../xess_8h.html#acc1be3e82183f25c7188fa6b5cbf1e34a2307f69631f48661ec35997e6b9dfa7b',1,'xess.h']]],
- ['xess_5fquality_5fsettings_5ft_60',['xess_quality_settings_t',['../xess_8h.html#a2a85ea1304caf14b2c008457ee75c7cc',1,'xess.h']]],
- ['xess_5fresources_5fto_5fdump_5ft_61',['xess_resources_to_dump_t',['../xess__d3d12__debug_8h.html#a16c2ebf61da2c3a48f3c985c1fb9b8e7',1,'xess_d3d12_debug.h']]],
- ['xess_5fresult_5ferror_5fcant_5fload_5flibrary_62',['XESS_RESULT_ERROR_CANT_LOAD_LIBRARY',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612ab0c58d47a6858d66925b00e17bda81f5',1,'xess.h']]],
- ['xess_5fresult_5ferror_5fdevice_63',['XESS_RESULT_ERROR_DEVICE',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a47d58f63ff4815586df793c60eed4dc0',1,'xess.h']]],
- ['xess_5fresult_5ferror_5fdevice_5fout_5fof_5fmemory_64',['XESS_RESULT_ERROR_DEVICE_OUT_OF_MEMORY',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612ac8e207e9005b05302499f10cda8d58f5',1,'xess.h']]],
- ['xess_5fresult_5ferror_5finvalid_5fargument_65',['XESS_RESULT_ERROR_INVALID_ARGUMENT',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a30021fa62d2929cc6bf0d47d07e3c59e',1,'xess.h']]],
- ['xess_5fresult_5ferror_5finvalid_5fcontext_66',['XESS_RESULT_ERROR_INVALID_CONTEXT',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a27d5e96802336368594096df18a1ae06',1,'xess.h']]],
- ['xess_5fresult_5ferror_5fnot_5fimplemented_67',['XESS_RESULT_ERROR_NOT_IMPLEMENTED',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a1953e4a40daecb661d97b031c38ce1f6',1,'xess.h']]],
- ['xess_5fresult_5ferror_5foperation_5fin_5fprogress_68',['XESS_RESULT_ERROR_OPERATION_IN_PROGRESS',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a8ca9ff62f59f7b647e62dc3c52ec6ac8',1,'xess.h']]],
- ['xess_5fresult_5ferror_5funinitialized_69',['XESS_RESULT_ERROR_UNINITIALIZED',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a635c3fdf5ff04d037167f1cb37d46e23',1,'xess.h']]],
- ['xess_5fresult_5ferror_5funknown_70',['XESS_RESULT_ERROR_UNKNOWN',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a1a08d6aec7e38e2f0bd03893c05b9d2f',1,'xess.h']]],
- ['xess_5fresult_5ferror_5funsupported_71',['XESS_RESULT_ERROR_UNSUPPORTED',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612aa1255da83c4c0fcc2b4a2d7bb4af02bf',1,'xess.h']]],
- ['xess_5fresult_5ferror_5funsupported_5fdevice_72',['XESS_RESULT_ERROR_UNSUPPORTED_DEVICE',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a00eab4ebb1fb95a65e2b4d82981fb3f8',1,'xess.h']]],
- ['xess_5fresult_5ferror_5funsupported_5fdriver_73',['XESS_RESULT_ERROR_UNSUPPORTED_DRIVER',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a15bd2bd2e7ae00b9ddd87fa5a43b1ee2',1,'xess.h']]],
- ['xess_5fresult_5fsuccess_74',['XESS_RESULT_SUCCESS',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612afd64586bcb0f0638509e4ae5506c72cf',1,'xess.h']]],
- ['xess_5fresult_5ft_75',['xess_result_t',['../xess_8h.html#a3aa6a07808627ac723a9da324abf10b4',1,'xess.h']]],
- ['xess_5fresult_5fwarning_5fnonexisting_5ffolder_76',['XESS_RESULT_WARNING_NONEXISTING_FOLDER',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a7f8d0f6dc01ba497911fdbdb02b05a45',1,'xess.h']]],
- ['xess_5fversion_5ft_77',['xess_version_t',['../xess_8h.html#a5b198528154044a5bc33a464e62d34a0',1,'xess.h']]],
- ['xessd3d12buildpipelines_78',['xessD3D12BuildPipelines',['../group__xess-d3d12.html#gac39e8fcd2d1575ab36e54aacbc3d3b6a',1,'xess_d3d12.h']]],
- ['xessd3d12createcontext_79',['xessD3D12CreateContext',['../group__xess-d3d12.html#ga6b15c60fbdeefc17a1064950c90d2e2d',1,'xess_d3d12.h']]],
- ['xessd3d12execute_80',['xessD3D12Execute',['../group__xess-d3d12.html#gaf8e15aa3a0915546fdfcaa899f58c102',1,'xess_d3d12.h']]],
- ['xessd3d12getprofilingdata_81',['xessD3D12GetProfilingData',['../group__xess-d3d12-debug.html#ga3a8e8bee0b8ba06871c765648202c938',1,'xess_d3d12_debug.h']]],
- ['xessd3d12getresourcestodump_82',['xessD3D12GetResourcesToDump',['../group__xess-d3d12-debug.html#gaf62cb7b5e756de611a19896a5248c92b',1,'xess_d3d12_debug.h']]],
- ['xessd3d12init_83',['xessD3D12Init',['../group__xess-d3d12.html#gafb211935ba10efefc5a7063b276fce31',1,'xess_d3d12.h']]],
- ['xessdestroycontext_84',['xessDestroyContext',['../group__xess.html#gae5d88d9bdb50033ab254aa2e692c9bc0',1,'xess.h']]],
- ['xessgetinputresolution_85',['xessGetInputResolution',['../group__xess.html#ga6ed6ab924e0a41ff56485b562acd5073',1,'xess.h']]],
- ['xessgetintelxefxversion_86',['xessGetIntelXeFXVersion',['../group__xess.html#ga88ea52641806d14ef5a4995b5d78ea91',1,'xess.h']]],
- ['xessgetproperties_87',['xessGetProperties',['../group__xess.html#gaae4893a4bfed059402ca55f256738773',1,'xess.h']]],
- ['xessgetversion_88',['xessGetVersion',['../group__xess.html#ga0fc6e0c7b21322a0af96f1ee1e4667d3',1,'xess.h']]],
- ['xessselectnetworkmodel_89',['xessSelectNetworkModel',['../group__xess-debug.html#ga596f2374ff85d63d430d885da295818b',1,'xess_debug.h']]],
- ['xesssetjitterscale_90',['xessSetJitterScale',['../group__xess.html#ga30e9bee98f90568e6a9d39bd7d1ccd74',1,'xess.h']]],
- ['xesssetloggingcallback_91',['xessSetLoggingCallback',['../group__xess.html#gaaf68a347af5e5c9c1e518f0bc5daaf1c',1,'xess.h']]],
- ['xesssetvelocityscale_92',['xessSetVelocityScale',['../group__xess.html#ga0f95b12fe2611b877d72efdd9f050639',1,'xess.h']]],
- ['xessstartdump_93',['xessStartDump',['../group__xess-debug.html#gaa320ed0d9c03d6abb26f37647b12db7e',1,'xess_debug.h']]]
-];
diff --git a/xess/doc/doxygen/search/all_13.html b/xess/doc/doxygen/search/all_13.html
deleted file mode 100644
index 4acb7f9..0000000
--- a/xess/doc/doxygen/search/all_13.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_13.js b/xess/doc/doxygen/search/all_13.js
deleted file mode 100644
index f63239b..0000000
--- a/xess/doc/doxygen/search/all_13.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
- ['y_0',['y',['../struct__xess__2d__t.html#a9c02f93c9698e4486878867c4f265c48',1,'_xess_2d_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_2.html b/xess/doc/doxygen/search/all_2.html
deleted file mode 100644
index 259dde4..0000000
--- a/xess/doc/doxygen/search/all_2.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_2.js b/xess/doc/doxygen/search/all_2.js
deleted file mode 100644
index b64d219..0000000
--- a/xess/doc/doxygen/search/all_2.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
- ['border_5fpixels_5fto_5fskip_5fcount_0',['border_pixels_to_skip_count',['../struct__xess__resources__to__dump__t.html#a4b329d03d60ffb48e496e41169018a31',1,'_xess_resources_to_dump_t']]],
- ['bufferheapoffset_1',['bufferHeapOffset',['../struct__xess__d3d12__init__params__t.html#aca551e5731fdfe7679b6f3e24cc01d0c',1,'_xess_d3d12_init_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_3.html b/xess/doc/doxygen/search/all_3.html
deleted file mode 100644
index 1e60c94..0000000
--- a/xess/doc/doxygen/search/all_3.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_3.js b/xess/doc/doxygen/search/all_3.js
deleted file mode 100644
index f0a7e8e..0000000
--- a/xess/doc/doxygen/search/all_3.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
- ['creationnodemask_0',['creationNodeMask',['../struct__xess__d3d12__init__params__t.html#a5a826e34a732802a584fc78091837dc4',1,'_xess_d3d12_init_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_4.html b/xess/doc/doxygen/search/all_4.html
deleted file mode 100644
index 08f1aed..0000000
--- a/xess/doc/doxygen/search/all_4.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_4.js b/xess/doc/doxygen/search/all_4.js
deleted file mode 100644
index dd85e09..0000000
--- a/xess/doc/doxygen/search/all_4.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
- ['descriptorheapoffset_0',['descriptorHeapOffset',['../struct__xess__d3d12__execute__params__t.html#ab718f6c8f437c74e2ad08ace9ee9f130',1,'_xess_d3d12_execute_params_t']]],
- ['dump_5felements_5fmask_1',['dump_elements_mask',['../struct__xess__dump__parameters__t.html#a1dd8e9870444dc41b3c1602b15dae269',1,'_xess_dump_parameters_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_5.html b/xess/doc/doxygen/search/all_5.html
deleted file mode 100644
index 0d85fcc..0000000
--- a/xess/doc/doxygen/search/all_5.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_5.js b/xess/doc/doxygen/search/all_5.js
deleted file mode 100644
index 0435e34..0000000
--- a/xess/doc/doxygen/search/all_5.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
- ['exposurescale_0',['exposureScale',['../struct__xess__d3d12__execute__params__t.html#a26bc83e12624ccf3b3c793a717e284ff',1,'_xess_d3d12_execute_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_6.html b/xess/doc/doxygen/search/all_6.html
deleted file mode 100644
index 7e088b8..0000000
--- a/xess/doc/doxygen/search/all_6.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_6.js b/xess/doc/doxygen/search/all_6.js
deleted file mode 100644
index 8af014d..0000000
--- a/xess/doc/doxygen/search/all_6.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var searchData=
-[
- ['frame_5fcount_0',['frame_count',['../struct__xess__profiling__data__t.html#a75021619d6a71e1e1a4ea1efb3c62138',1,'_xess_profiling_data_t::frame_count()'],['../struct__xess__dump__parameters__t.html#ae3e00071db1070451c10872b09360cad',1,'_xess_dump_parameters_t::frame_count()']]],
- ['frame_5fidx_1',['frame_idx',['../struct__xess__dump__parameters__t.html#a675e89be435aec170285f3a1e7e25edf',1,'_xess_dump_parameters_t']]],
- ['frame_5findex_2',['frame_index',['../struct__xess__profiled__frame__data__t.html#a7b9f42d4c57d1fe01c782d735be98074',1,'_xess_profiled_frame_data_t']]],
- ['frames_3',['frames',['../struct__xess__profiling__data__t.html#a34fa47cf13f15a0c84ae5bc36f08fc1e',1,'_xess_profiling_data_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_7.html b/xess/doc/doxygen/search/all_7.html
deleted file mode 100644
index d2b1825..0000000
--- a/xess/doc/doxygen/search/all_7.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_7.js b/xess/doc/doxygen/search/all_7.js
deleted file mode 100644
index ad7567c..0000000
--- a/xess/doc/doxygen/search/all_7.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var searchData=
-[
- ['gpu_5fduration_5fnames_0',['gpu_duration_names',['../struct__xess__profiled__frame__data__t.html#a46e787a4e8a96da32fe2b173f3720d6f',1,'_xess_profiled_frame_data_t']]],
- ['gpu_5fduration_5frecord_5fcount_1',['gpu_duration_record_count',['../struct__xess__profiled__frame__data__t.html#ab142b6f60de7c00c227011353cb602e5',1,'_xess_profiled_frame_data_t']]],
- ['gpu_5fduration_5fvalues_2',['gpu_duration_values',['../struct__xess__profiled__frame__data__t.html#a8f6650843400b1532bdd0ce000a0e689',1,'_xess_profiled_frame_data_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_8.html b/xess/doc/doxygen/search/all_8.html
deleted file mode 100644
index f4e3a2a..0000000
--- a/xess/doc/doxygen/search/all_8.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_8.js b/xess/doc/doxygen/search/all_8.js
deleted file mode 100644
index a0f5763..0000000
--- a/xess/doc/doxygen/search/all_8.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var searchData=
-[
- ['initflags_0',['initFlags',['../struct__xess__d3d12__init__params__t.html#a2778ccc4a0cacda6c2c73482a77f6e05',1,'_xess_d3d12_init_params_t']]],
- ['inputcolorbase_1',['inputColorBase',['../struct__xess__d3d12__execute__params__t.html#a4afe3dfda80148f5a10fa368f3d6a6f8',1,'_xess_d3d12_execute_params_t']]],
- ['inputdepthbase_2',['inputDepthBase',['../struct__xess__d3d12__execute__params__t.html#ae6ec27f307c8f3dbf95472d73fc8797a',1,'_xess_d3d12_execute_params_t']]],
- ['inputheight_3',['inputHeight',['../struct__xess__d3d12__execute__params__t.html#a2ee55ecbea691cf3d9c000055e8dfe1b',1,'_xess_d3d12_execute_params_t']]],
- ['inputmotionvectorbase_4',['inputMotionVectorBase',['../struct__xess__d3d12__execute__params__t.html#abbd7c1808dbafcb1aa0475fd8ab70066',1,'_xess_d3d12_execute_params_t']]],
- ['inputresponsivemaskbase_5',['inputResponsiveMaskBase',['../struct__xess__d3d12__execute__params__t.html#accb3d97fb6ba85e6560c9871010a3c57',1,'_xess_d3d12_execute_params_t']]],
- ['inputwidth_6',['inputWidth',['../struct__xess__d3d12__execute__params__t.html#ad57863724c458e3583d0acb4be23cb7b',1,'_xess_d3d12_execute_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_9.html b/xess/doc/doxygen/search/all_9.html
deleted file mode 100644
index 89177a8..0000000
--- a/xess/doc/doxygen/search/all_9.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_9.js b/xess/doc/doxygen/search/all_9.js
deleted file mode 100644
index 5ae439b..0000000
--- a/xess/doc/doxygen/search/all_9.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
- ['jitteroffsetx_0',['jitterOffsetX',['../struct__xess__d3d12__execute__params__t.html#a701953ac726be26afde35ba21b1854f5',1,'_xess_d3d12_execute_params_t']]],
- ['jitteroffsety_1',['jitterOffsetY',['../struct__xess__d3d12__execute__params__t.html#ab8fec73568168bc8ba655190c20b98b0',1,'_xess_d3d12_execute_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_a.html b/xess/doc/doxygen/search/all_a.html
deleted file mode 100644
index 1f90b7a..0000000
--- a/xess/doc/doxygen/search/all_a.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_a.js b/xess/doc/doxygen/search/all_a.js
deleted file mode 100644
index 0e84dfc..0000000
--- a/xess/doc/doxygen/search/all_a.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
- ['major_0',['major',['../struct__xess__version__t.html#a600930655b7237315b72223c48327ea8',1,'_xess_version_t']]],
- ['minor_1',['minor',['../struct__xess__version__t.html#a9f280ce3ae5b6cd9346fd7a09ff29168',1,'_xess_version_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_b.html b/xess/doc/doxygen/search/all_b.html
deleted file mode 100644
index b7ad6e6..0000000
--- a/xess/doc/doxygen/search/all_b.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_b.js b/xess/doc/doxygen/search/all_b.js
deleted file mode 100644
index 4a6343b..0000000
--- a/xess/doc/doxygen/search/all_b.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
- ['outputcolorbase_0',['outputColorBase',['../struct__xess__d3d12__execute__params__t.html#a6408622b605e51416238460aa3e58533',1,'_xess_d3d12_execute_params_t']]],
- ['outputresolution_1',['outputResolution',['../struct__xess__d3d12__init__params__t.html#adefd841ee2588585d89bf91ced85e84c',1,'_xess_d3d12_init_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_c.html b/xess/doc/doxygen/search/all_c.html
deleted file mode 100644
index 829c917..0000000
--- a/xess/doc/doxygen/search/all_c.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_c.js b/xess/doc/doxygen/search/all_c.js
deleted file mode 100644
index 3698e8f..0000000
--- a/xess/doc/doxygen/search/all_c.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var searchData=
-[
- ['patch_0',['patch',['../struct__xess__version__t.html#ab74656704767a7e73da4cd20dfd51a5d',1,'_xess_version_t']]],
- ['path_1',['path',['../struct__xess__dump__parameters__t.html#a3b02c6de5c049804444a246f7fdf46b4',1,'_xess_dump_parameters_t']]],
- ['pcolortexture_2',['pColorTexture',['../struct__xess__d3d12__execute__params__t.html#af0438b6fee2a81109430081d6d822090',1,'_xess_d3d12_execute_params_t']]],
- ['pdepthtexture_3',['pDepthTexture',['../struct__xess__d3d12__execute__params__t.html#a0aced69da09a2f6ef2e7034270ca513c',1,'_xess_d3d12_execute_params_t']]],
- ['pdescriptorheap_4',['pDescriptorHeap',['../struct__xess__d3d12__execute__params__t.html#a6a5db20b91a54c5160e350c7ba544c51',1,'_xess_d3d12_execute_params_t']]],
- ['pexposurescaletexture_5',['pExposureScaleTexture',['../struct__xess__d3d12__execute__params__t.html#a848453834ef179e0694c525051fbf493',1,'_xess_d3d12_execute_params_t']]],
- ['poutputtexture_6',['pOutputTexture',['../struct__xess__d3d12__execute__params__t.html#a680b0c0b8f150bd2f8a4bd07da22519e',1,'_xess_d3d12_execute_params_t']]],
- ['ppipelinelibrary_7',['pPipelineLibrary',['../struct__xess__d3d12__init__params__t.html#a254d1c85f1dde5405a267084da481ad9',1,'_xess_d3d12_init_params_t']]],
- ['presponsivepixelmasktexture_8',['pResponsivePixelMaskTexture',['../struct__xess__d3d12__execute__params__t.html#aa9210e99440b1564285d6d88ddf4d789',1,'_xess_d3d12_execute_params_t']]],
- ['ptempbufferheap_9',['pTempBufferHeap',['../struct__xess__d3d12__init__params__t.html#a8b41cbb0e0c875bf2631ef6b414d4259',1,'_xess_d3d12_init_params_t']]],
- ['ptemptextureheap_10',['pTempTextureHeap',['../struct__xess__d3d12__init__params__t.html#a32b6ed71e10b2df805c033b158f9d1f5',1,'_xess_d3d12_init_params_t']]],
- ['pvelocitytexture_11',['pVelocityTexture',['../struct__xess__d3d12__execute__params__t.html#a112aa451fae1a83e2bc6ffc999206c2a',1,'_xess_d3d12_execute_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_d.html b/xess/doc/doxygen/search/all_d.html
deleted file mode 100644
index d32b28e..0000000
--- a/xess/doc/doxygen/search/all_d.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_d.js b/xess/doc/doxygen/search/all_d.js
deleted file mode 100644
index c239569..0000000
--- a/xess/doc/doxygen/search/all_d.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
- ['qualitysetting_0',['qualitySetting',['../struct__xess__d3d12__init__params__t.html#ad1566e156f30842fc8a32e5e508094b2',1,'_xess_d3d12_init_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_e.html b/xess/doc/doxygen/search/all_e.html
deleted file mode 100644
index ce450a2..0000000
--- a/xess/doc/doxygen/search/all_e.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_e.js b/xess/doc/doxygen/search/all_e.js
deleted file mode 100644
index ce51169..0000000
--- a/xess/doc/doxygen/search/all_e.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var searchData=
-[
- ['readme_2emd_0',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]],
- ['requireddescriptorcount_1',['requiredDescriptorCount',['../struct__xess__properties__t.html#a2dc96375a6205c03219a9904a568c01c',1,'_xess_properties_t']]],
- ['reserved_2',['reserved',['../struct__xess__version__t.html#a5a6ed8c04a3db86066924b1a1bf4dad3',1,'_xess_version_t']]],
- ['reserved0_3',['reserved0',['../struct__xess__d3d12__execute__params__t.html#a99430c650ba489b07be8478c32b22606',1,'_xess_d3d12_execute_params_t']]],
- ['resethistory_4',['resetHistory',['../struct__xess__d3d12__execute__params__t.html#af2336172df07c9d4a8d36a9a1f188a2e',1,'_xess_d3d12_execute_params_t']]],
- ['resource_5fcount_5',['resource_count',['../struct__xess__resources__to__dump__t.html#afa5d343e953478907a576e9c372a5838',1,'_xess_resources_to_dump_t']]],
- ['resource_5fnames_6',['resource_names',['../struct__xess__resources__to__dump__t.html#a4f61a0f5b6b502a4cd89405410853fde',1,'_xess_resources_to_dump_t']]],
- ['resources_7',['resources',['../struct__xess__resources__to__dump__t.html#aeb3cb43b5376fe80794c4f5e4b47ff68',1,'_xess_resources_to_dump_t']]]
-];
diff --git a/xess/doc/doxygen/search/all_f.html b/xess/doc/doxygen/search/all_f.html
deleted file mode 100644
index 59cfe49..0000000
--- a/xess/doc/doxygen/search/all_f.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/all_f.js b/xess/doc/doxygen/search/all_f.js
deleted file mode 100644
index 4cd0f0b..0000000
--- a/xess/doc/doxygen/search/all_f.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
- ['sizecheck_5f_5fline_5f_5f_0',['sizecheck__LINE__',['../xess_8h.html#a8b1577973a08cac2cbbe31bb1297eff5',1,'sizecheck__LINE__(): xess.h'],['../xess__debug_8h.html#a368b9d0a82e205f30f7e7c0da413e318',1,'sizecheck__LINE__(): xess_debug.h']]]
-];
diff --git a/xess/doc/doxygen/search/classes_0.html b/xess/doc/doxygen/search/classes_0.html
deleted file mode 100644
index 8361bcd..0000000
--- a/xess/doc/doxygen/search/classes_0.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/classes_0.js b/xess/doc/doxygen/search/classes_0.js
deleted file mode 100644
index fc7b556..0000000
--- a/xess/doc/doxygen/search/classes_0.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var searchData=
-[
- ['_5fxess_5f2d_5ft_0',['_xess_2d_t',['../struct__xess__2d__t.html',1,'']]],
- ['_5fxess_5fd3d12_5fexecute_5fparams_5ft_1',['_xess_d3d12_execute_params_t',['../struct__xess__d3d12__execute__params__t.html',1,'']]],
- ['_5fxess_5fd3d12_5finit_5fparams_5ft_2',['_xess_d3d12_init_params_t',['../struct__xess__d3d12__init__params__t.html',1,'']]],
- ['_5fxess_5fdump_5fparameters_5ft_3',['_xess_dump_parameters_t',['../struct__xess__dump__parameters__t.html',1,'']]],
- ['_5fxess_5fprofiled_5fframe_5fdata_5ft_4',['_xess_profiled_frame_data_t',['../struct__xess__profiled__frame__data__t.html',1,'']]],
- ['_5fxess_5fprofiling_5fdata_5ft_5',['_xess_profiling_data_t',['../struct__xess__profiling__data__t.html',1,'']]],
- ['_5fxess_5fproperties_5ft_6',['_xess_properties_t',['../struct__xess__properties__t.html',1,'']]],
- ['_5fxess_5fresources_5fto_5fdump_5ft_7',['_xess_resources_to_dump_t',['../struct__xess__resources__to__dump__t.html',1,'']]],
- ['_5fxess_5fversion_5ft_8',['_xess_version_t',['../struct__xess__version__t.html',1,'']]]
-];
diff --git a/xess/doc/doxygen/search/close.svg b/xess/doc/doxygen/search/close.svg
deleted file mode 100644
index a933eea..0000000
--- a/xess/doc/doxygen/search/close.svg
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/search/defines_0.html b/xess/doc/doxygen/search/defines_0.html
deleted file mode 100644
index fd147db..0000000
--- a/xess/doc/doxygen/search/defines_0.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/defines_0.js b/xess/doc/doxygen/search/defines_0.js
deleted file mode 100644
index 484ce3d..0000000
--- a/xess/doc/doxygen/search/defines_0.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var searchData=
-[
- ['xess_5fapi_0',['XESS_API',['../xess_8h.html#ac7ba74abaad1e5cf4ca1fffa7fee838c',1,'xess.h']]],
- ['xess_5fd3d12_5fdebug_5fenable_5fprofiling_1',['XESS_D3D12_DEBUG_ENABLE_PROFILING',['../xess__d3d12__debug_8h.html#ad587f5e54cc2f41c539dd8983e248cb2',1,'xess_d3d12_debug.h']]],
- ['xess_5fpack_5fb_2',['XESS_PACK_B',['../xess_8h.html#a3c68605bee1e217a930c4ae6aa218fd1',1,'xess.h']]],
- ['xess_5fpack_5fb_5fx_3',['XESS_PACK_B_X',['../xess_8h.html#a0cbf0d6231ec6ae03e685f2ddee69a95',1,'xess.h']]],
- ['xess_5fpack_5fe_4',['XESS_PACK_E',['../xess_8h.html#a36808d4ffd35a951c364418a19468cf8',1,'xess.h']]],
- ['xess_5fpragma_5',['XESS_PRAGMA',['../xess_8h.html#af3af4f4afda4277313b1b91dbf1f7497',1,'xess.h']]]
-];
diff --git a/xess/doc/doxygen/search/enums_0.html b/xess/doc/doxygen/search/enums_0.html
deleted file mode 100644
index eb1f873..0000000
--- a/xess/doc/doxygen/search/enums_0.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/enums_0.js b/xess/doc/doxygen/search/enums_0.js
deleted file mode 100644
index 65051f7..0000000
--- a/xess/doc/doxygen/search/enums_0.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var searchData=
-[
- ['_5fxess_5fdump_5felement_5fbits_5ft_0',['_xess_dump_element_bits_t',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83',1,'xess_debug.h']]],
- ['_5fxess_5finit_5fflags_5ft_1',['_xess_init_flags_t',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1',1,'xess.h']]],
- ['_5fxess_5flogging_5flevel_5ft_2',['_xess_logging_level_t',['../xess_8h.html#a12f0fd50664b1a61319821499ec24721',1,'xess.h']]],
- ['_5fxess_5fnetwork_5fmodel_5ft_3',['_xess_network_model_t',['../xess__debug_8h.html#ace50e033796a986a57623170306b41ed',1,'xess_debug.h']]],
- ['_5fxess_5fquality_5fsettings_5ft_4',['_xess_quality_settings_t',['../xess_8h.html#acc1be3e82183f25c7188fa6b5cbf1e34',1,'xess.h']]],
- ['_5fxess_5fresult_5ft_5',['_xess_result_t',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612',1,'xess.h']]]
-];
diff --git a/xess/doc/doxygen/search/enumvalues_0.html b/xess/doc/doxygen/search/enumvalues_0.html
deleted file mode 100644
index 7a520ff..0000000
--- a/xess/doc/doxygen/search/enumvalues_0.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/enumvalues_0.js b/xess/doc/doxygen/search/enumvalues_0.js
deleted file mode 100644
index ca62e1b..0000000
--- a/xess/doc/doxygen/search/enumvalues_0.js
+++ /dev/null
@@ -1,46 +0,0 @@
-var searchData=
-[
- ['xess_5fdump_5fall_0',['XESS_DUMP_ALL',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a312ca9873e04595421188f6345d28f82',1,'xess_debug.h']]],
- ['xess_5fdump_5fall_5finputs_1',['XESS_DUMP_ALL_INPUTS',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a5bde5b4edb7c99106b7ad168d3da89fe',1,'xess_debug.h']]],
- ['xess_5fdump_5fexecution_5fparameters_2',['XESS_DUMP_EXECUTION_PARAMETERS',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a60e0f8ed79622d3f7e4588a658fc484a',1,'xess_debug.h']]],
- ['xess_5fdump_5fhistory_3',['XESS_DUMP_HISTORY',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83ae98ac97ee61128c3b0632a8ccbefc6bc',1,'xess_debug.h']]],
- ['xess_5fdump_5finput_5fcolor_4',['XESS_DUMP_INPUT_COLOR',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a623a94758729c9bcdc65df0547b1974f',1,'xess_debug.h']]],
- ['xess_5fdump_5finput_5fdepth_5',['XESS_DUMP_INPUT_DEPTH',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83aa9f414176cfe6c87f0e7b62d60976a88',1,'xess_debug.h']]],
- ['xess_5fdump_5finput_5fexposure_5fscale_6',['XESS_DUMP_INPUT_EXPOSURE_SCALE',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a89c37b4f5e86951bddd55fb8a5164bcc',1,'xess_debug.h']]],
- ['xess_5fdump_5finput_5fresponsive_5fpixel_5fmask_7',['XESS_DUMP_INPUT_RESPONSIVE_PIXEL_MASK',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a002eada067830ed6c0aa36fbc60a21f2',1,'xess_debug.h']]],
- ['xess_5fdump_5finput_5fvelocity_8',['XESS_DUMP_INPUT_VELOCITY',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a660e96b09d4656899f05260d1e7622a3',1,'xess_debug.h']]],
- ['xess_5fdump_5foutput_9',['XESS_DUMP_OUTPUT',['../xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83ab5fabbdd4efc47253723dd02ac132121',1,'xess_debug.h']]],
- ['xess_5finit_5fflag_5fexposure_5fscale_5ftexture_10',['XESS_INIT_FLAG_EXPOSURE_SCALE_TEXTURE',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a99164122cf8c776c7ce5bfdfe3fd0492',1,'xess.h']]],
- ['xess_5finit_5fflag_5fexternal_5fdescriptor_5fheap_11',['XESS_INIT_FLAG_EXTERNAL_DESCRIPTOR_HEAP',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a7a765c7ec24c2b4193baf2e0a30fb4c7',1,'xess.h']]],
- ['xess_5finit_5fflag_5fhigh_5fres_5fmv_12',['XESS_INIT_FLAG_HIGH_RES_MV',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a88dbf4a687acc9bd1281778570c7c757',1,'xess.h']]],
- ['xess_5finit_5fflag_5finverted_5fdepth_13',['XESS_INIT_FLAG_INVERTED_DEPTH',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a91fe3728f6cafc03e6da0a064389859a',1,'xess.h']]],
- ['xess_5finit_5fflag_5fjittered_5fmv_14',['XESS_INIT_FLAG_JITTERED_MV',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a8390a8a09d1f38a88608644929954028',1,'xess.h']]],
- ['xess_5finit_5fflag_5fldr_5finput_5fcolor_15',['XESS_INIT_FLAG_LDR_INPUT_COLOR',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a0eb16d799c44bab1bbf3c59dfd97ceb9',1,'xess.h']]],
- ['xess_5finit_5fflag_5fnone_16',['XESS_INIT_FLAG_NONE',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a93cdd13324042072081453aeaadf0e1e',1,'xess.h']]],
- ['xess_5finit_5fflag_5fresponsive_5fpixel_5fmask_17',['XESS_INIT_FLAG_RESPONSIVE_PIXEL_MASK',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1ad1f14cc0ac79131e639d3bab61c5f48c',1,'xess.h']]],
- ['xess_5finit_5fflag_5fuse_5fndc_5fvelocity_18',['XESS_INIT_FLAG_USE_NDC_VELOCITY',['../xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a2c868f941d0829edc844b93bd76cf0f2',1,'xess.h']]],
- ['xess_5flogging_5flevel_5fdebug_19',['XESS_LOGGING_LEVEL_DEBUG',['../xess_8h.html#a12f0fd50664b1a61319821499ec24721a526588cb8c0fe38b7bb35479bd44b710',1,'xess.h']]],
- ['xess_5flogging_5flevel_5ferror_20',['XESS_LOGGING_LEVEL_ERROR',['../xess_8h.html#a12f0fd50664b1a61319821499ec24721a7142dcde3f8100558086ad32c674242b',1,'xess.h']]],
- ['xess_5flogging_5flevel_5finfo_21',['XESS_LOGGING_LEVEL_INFO',['../xess_8h.html#a12f0fd50664b1a61319821499ec24721a02d7dfe8174efddabcf108baf804b4a6',1,'xess.h']]],
- ['xess_5flogging_5flevel_5fwarning_22',['XESS_LOGGING_LEVEL_WARNING',['../xess_8h.html#a12f0fd50664b1a61319821499ec24721a089568d56d50438813be38513b886486',1,'xess.h']]],
- ['xess_5fnetwork_5fmodel_5fkpss_23',['XESS_NETWORK_MODEL_KPSS',['../xess__debug_8h.html#ace50e033796a986a57623170306b41eda1489add6542185904900e0b6796b8215',1,'xess_debug.h']]],
- ['xess_5fnetwork_5fmodel_5fsplat_24',['XESS_NETWORK_MODEL_SPLAT',['../xess__debug_8h.html#ace50e033796a986a57623170306b41eda89d379244951ad3c2988a0d303b4a0cb',1,'xess_debug.h']]],
- ['xess_5fquality_5fsetting_5fbalanced_25',['XESS_QUALITY_SETTING_BALANCED',['../xess_8h.html#acc1be3e82183f25c7188fa6b5cbf1e34af42585b087b48ac84f15147eca7f84fc',1,'xess.h']]],
- ['xess_5fquality_5fsetting_5fperformance_26',['XESS_QUALITY_SETTING_PERFORMANCE',['../xess_8h.html#acc1be3e82183f25c7188fa6b5cbf1e34a375807073d5e41d49599bc4c3796a298',1,'xess.h']]],
- ['xess_5fquality_5fsetting_5fquality_27',['XESS_QUALITY_SETTING_QUALITY',['../xess_8h.html#acc1be3e82183f25c7188fa6b5cbf1e34aad6611bfc9d8b4367d40cc4341781071',1,'xess.h']]],
- ['xess_5fquality_5fsetting_5fultra_5fquality_28',['XESS_QUALITY_SETTING_ULTRA_QUALITY',['../xess_8h.html#acc1be3e82183f25c7188fa6b5cbf1e34a2307f69631f48661ec35997e6b9dfa7b',1,'xess.h']]],
- ['xess_5fresult_5ferror_5fcant_5fload_5flibrary_29',['XESS_RESULT_ERROR_CANT_LOAD_LIBRARY',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612ab0c58d47a6858d66925b00e17bda81f5',1,'xess.h']]],
- ['xess_5fresult_5ferror_5fdevice_30',['XESS_RESULT_ERROR_DEVICE',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a47d58f63ff4815586df793c60eed4dc0',1,'xess.h']]],
- ['xess_5fresult_5ferror_5fdevice_5fout_5fof_5fmemory_31',['XESS_RESULT_ERROR_DEVICE_OUT_OF_MEMORY',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612ac8e207e9005b05302499f10cda8d58f5',1,'xess.h']]],
- ['xess_5fresult_5ferror_5finvalid_5fargument_32',['XESS_RESULT_ERROR_INVALID_ARGUMENT',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a30021fa62d2929cc6bf0d47d07e3c59e',1,'xess.h']]],
- ['xess_5fresult_5ferror_5finvalid_5fcontext_33',['XESS_RESULT_ERROR_INVALID_CONTEXT',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a27d5e96802336368594096df18a1ae06',1,'xess.h']]],
- ['xess_5fresult_5ferror_5fnot_5fimplemented_34',['XESS_RESULT_ERROR_NOT_IMPLEMENTED',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a1953e4a40daecb661d97b031c38ce1f6',1,'xess.h']]],
- ['xess_5fresult_5ferror_5foperation_5fin_5fprogress_35',['XESS_RESULT_ERROR_OPERATION_IN_PROGRESS',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a8ca9ff62f59f7b647e62dc3c52ec6ac8',1,'xess.h']]],
- ['xess_5fresult_5ferror_5funinitialized_36',['XESS_RESULT_ERROR_UNINITIALIZED',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a635c3fdf5ff04d037167f1cb37d46e23',1,'xess.h']]],
- ['xess_5fresult_5ferror_5funknown_37',['XESS_RESULT_ERROR_UNKNOWN',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a1a08d6aec7e38e2f0bd03893c05b9d2f',1,'xess.h']]],
- ['xess_5fresult_5ferror_5funsupported_38',['XESS_RESULT_ERROR_UNSUPPORTED',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612aa1255da83c4c0fcc2b4a2d7bb4af02bf',1,'xess.h']]],
- ['xess_5fresult_5ferror_5funsupported_5fdevice_39',['XESS_RESULT_ERROR_UNSUPPORTED_DEVICE',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a00eab4ebb1fb95a65e2b4d82981fb3f8',1,'xess.h']]],
- ['xess_5fresult_5ferror_5funsupported_5fdriver_40',['XESS_RESULT_ERROR_UNSUPPORTED_DRIVER',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a15bd2bd2e7ae00b9ddd87fa5a43b1ee2',1,'xess.h']]],
- ['xess_5fresult_5fsuccess_41',['XESS_RESULT_SUCCESS',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612afd64586bcb0f0638509e4ae5506c72cf',1,'xess.h']]],
- ['xess_5fresult_5fwarning_5fnonexisting_5ffolder_42',['XESS_RESULT_WARNING_NONEXISTING_FOLDER',['../xess_8h.html#a31952a580a4d5d26c6224183f62d2612a7f8d0f6dc01ba497911fdbdb02b05a45',1,'xess.h']]]
-];
diff --git a/xess/doc/doxygen/search/files_0.html b/xess/doc/doxygen/search/files_0.html
deleted file mode 100644
index da83704..0000000
--- a/xess/doc/doxygen/search/files_0.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/files_0.js b/xess/doc/doxygen/search/files_0.js
deleted file mode 100644
index 4accdc1..0000000
--- a/xess/doc/doxygen/search/files_0.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
- ['readme_2emd_0',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]]
-];
diff --git a/xess/doc/doxygen/search/files_1.html b/xess/doc/doxygen/search/files_1.html
deleted file mode 100644
index f7e1582..0000000
--- a/xess/doc/doxygen/search/files_1.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/files_1.js b/xess/doc/doxygen/search/files_1.js
deleted file mode 100644
index e5e9b66..0000000
--- a/xess/doc/doxygen/search/files_1.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var searchData=
-[
- ['xess_2eh_0',['xess.h',['../xess_8h.html',1,'']]],
- ['xess_5fd3d12_2eh_1',['xess_d3d12.h',['../xess__d3d12_8h.html',1,'']]],
- ['xess_5fd3d12_5fdebug_2eh_2',['xess_d3d12_debug.h',['../xess__d3d12__debug_8h.html',1,'']]],
- ['xess_5fdebug_2eh_3',['xess_debug.h',['../xess__debug_8h.html',1,'']]]
-];
diff --git a/xess/doc/doxygen/search/functions_0.html b/xess/doc/doxygen/search/functions_0.html
deleted file mode 100644
index 2d2d950..0000000
--- a/xess/doc/doxygen/search/functions_0.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/functions_0.js b/xess/doc/doxygen/search/functions_0.js
deleted file mode 100644
index a60b986..0000000
--- a/xess/doc/doxygen/search/functions_0.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var searchData=
-[
- ['xessd3d12buildpipelines_0',['xessD3D12BuildPipelines',['../group__xess-d3d12.html#gac39e8fcd2d1575ab36e54aacbc3d3b6a',1,'xess_d3d12.h']]],
- ['xessd3d12createcontext_1',['xessD3D12CreateContext',['../group__xess-d3d12.html#ga6b15c60fbdeefc17a1064950c90d2e2d',1,'xess_d3d12.h']]],
- ['xessd3d12execute_2',['xessD3D12Execute',['../group__xess-d3d12.html#gaf8e15aa3a0915546fdfcaa899f58c102',1,'xess_d3d12.h']]],
- ['xessd3d12getprofilingdata_3',['xessD3D12GetProfilingData',['../group__xess-d3d12-debug.html#ga3a8e8bee0b8ba06871c765648202c938',1,'xess_d3d12_debug.h']]],
- ['xessd3d12getresourcestodump_4',['xessD3D12GetResourcesToDump',['../group__xess-d3d12-debug.html#gaf62cb7b5e756de611a19896a5248c92b',1,'xess_d3d12_debug.h']]],
- ['xessd3d12init_5',['xessD3D12Init',['../group__xess-d3d12.html#gafb211935ba10efefc5a7063b276fce31',1,'xess_d3d12.h']]],
- ['xessdestroycontext_6',['xessDestroyContext',['../group__xess.html#gae5d88d9bdb50033ab254aa2e692c9bc0',1,'xess.h']]],
- ['xessgetinputresolution_7',['xessGetInputResolution',['../group__xess.html#ga6ed6ab924e0a41ff56485b562acd5073',1,'xess.h']]],
- ['xessgetintelxefxversion_8',['xessGetIntelXeFXVersion',['../group__xess.html#ga88ea52641806d14ef5a4995b5d78ea91',1,'xess.h']]],
- ['xessgetproperties_9',['xessGetProperties',['../group__xess.html#gaae4893a4bfed059402ca55f256738773',1,'xess.h']]],
- ['xessgetversion_10',['xessGetVersion',['../group__xess.html#ga0fc6e0c7b21322a0af96f1ee1e4667d3',1,'xess.h']]],
- ['xessselectnetworkmodel_11',['xessSelectNetworkModel',['../group__xess-debug.html#ga596f2374ff85d63d430d885da295818b',1,'xess_debug.h']]],
- ['xesssetjitterscale_12',['xessSetJitterScale',['../group__xess.html#ga30e9bee98f90568e6a9d39bd7d1ccd74',1,'xess.h']]],
- ['xesssetloggingcallback_13',['xessSetLoggingCallback',['../group__xess.html#gaaf68a347af5e5c9c1e518f0bc5daaf1c',1,'xess.h']]],
- ['xesssetvelocityscale_14',['xessSetVelocityScale',['../group__xess.html#ga0f95b12fe2611b877d72efdd9f050639',1,'xess.h']]],
- ['xessstartdump_15',['xessStartDump',['../group__xess-debug.html#gaa320ed0d9c03d6abb26f37647b12db7e',1,'xess_debug.h']]]
-];
diff --git a/xess/doc/doxygen/search/groups_0.html b/xess/doc/doxygen/search/groups_0.html
deleted file mode 100644
index c8654e6..0000000
--- a/xess/doc/doxygen/search/groups_0.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/groups_0.js b/xess/doc/doxygen/search/groups_0.js
deleted file mode 100644
index 446dc5f..0000000
--- a/xess/doc/doxygen/search/groups_0.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var searchData=
-[
- ['xess_20api_20debug_20exports_0',['XeSS API debug exports',['../group__xess-debug.html',1,'']]],
- ['xess_20api_20exports_1',['XeSS API exports',['../group__xess.html',1,'']]],
- ['xess_20d3d12_20api_20debug_20exports_2',['XeSS D3D12 API debug exports',['../group__xess-d3d12-debug.html',1,'']]],
- ['xess_20d3d12_20api_20exports_3',['XeSS D3D12 API exports',['../group__xess-d3d12.html',1,'']]]
-];
diff --git a/xess/doc/doxygen/search/mag_sel.svg b/xess/doc/doxygen/search/mag_sel.svg
deleted file mode 100644
index 03626f6..0000000
--- a/xess/doc/doxygen/search/mag_sel.svg
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/search/nomatches.html b/xess/doc/doxygen/search/nomatches.html
deleted file mode 100644
index 2b9360b..0000000
--- a/xess/doc/doxygen/search/nomatches.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/search/pages_0.html b/xess/doc/doxygen/search/pages_0.html
deleted file mode 100644
index e53c280..0000000
--- a/xess/doc/doxygen/search/pages_0.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/pages_0.js b/xess/doc/doxygen/search/pages_0.js
deleted file mode 100644
index 28bce99..0000000
--- a/xess/doc/doxygen/search/pages_0.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
- ['xess_20sdk_0',['XeSS SDK',['../index.html',1,'']]]
-];
diff --git a/xess/doc/doxygen/search/search.css b/xess/doc/doxygen/search/search.css
deleted file mode 100644
index 648a792..0000000
--- a/xess/doc/doxygen/search/search.css
+++ /dev/null
@@ -1,263 +0,0 @@
-/*---------------- Search Box */
-
-#MSearchBox {
- white-space : nowrap;
- background: white;
- border-radius: 0.65em;
- box-shadow: inset 0.5px 0.5px 3px 0px #555;
- z-index: 102;
-}
-
-#MSearchBox .left {
- display: inline-block;
- vertical-align: middle;
- height: 1.4em;
-}
-
-#MSearchSelect {
- display: inline-block;
- vertical-align: middle;
- height: 19px;
- padding: 0 0 0 0.3em;
- margin: 0;
-}
-
-#MSearchField {
- display: inline-block;
- vertical-align: middle;
- width: 7.5em;
- height: 19px;
- margin: 0 0.15em;
- padding: 0;
- line-height: 1em;
- border:none;
- color: #909090;
- outline: none;
- font-family: Arial, Verdana, sans-serif;
- -webkit-border-radius: 0px;
- border-radius: 0px;
- background: none;
-}
-
-@media(hover: none) {
- /* to avoid zooming on iOS */
- #MSearchField {
- font-size: 16px;
- }
-}
-
-#MSearchBox .right {
- display: inline-block;
- vertical-align: middle;
- width: 1.4em;
- height: 1.4em;
-}
-
-#MSearchClose {
- display: none;
- font-size: inherit;
- background : none;
- border: none;
- margin: 0;
- padding: 0;
- outline: none;
-
-}
-
-#MSearchCloseImg {
- height: 1.4em;
- padding: 0.3em;
- margin: 0;
-}
-
-.MSearchBoxActive #MSearchField {
- color: #000000;
-}
-
-#main-menu > li:last-child {
- /* This object is the parent of the search bar */
- display: flex;
- justify-content: center;
- align-items: center;
- height: 36px;
- margin-right: 1em;
-}
-
-/*---------------- Search filter selection */
-
-#MSearchSelectWindow {
- display: none;
- position: absolute;
- left: 0; top: 0;
- border: 1px solid #90A5CE;
- background-color: #F9FAFC;
- z-index: 10001;
- padding-top: 4px;
- padding-bottom: 4px;
- -moz-border-radius: 4px;
- -webkit-border-top-left-radius: 4px;
- -webkit-border-top-right-radius: 4px;
- -webkit-border-bottom-left-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-}
-
-.SelectItem {
- font: 8pt Arial, Verdana, sans-serif;
- padding-left: 2px;
- padding-right: 12px;
- border: 0px;
-}
-
-span.SelectionMark {
- margin-right: 4px;
- font-family: monospace;
- outline-style: none;
- text-decoration: none;
-}
-
-a.SelectItem {
- display: block;
- outline-style: none;
- color: #000000;
- text-decoration: none;
- padding-left: 6px;
- padding-right: 12px;
-}
-
-a.SelectItem:focus,
-a.SelectItem:active {
- color: #000000;
- outline-style: none;
- text-decoration: none;
-}
-
-a.SelectItem:hover {
- color: #FFFFFF;
- background-color: #3D578C;
- outline-style: none;
- text-decoration: none;
- cursor: pointer;
- display: block;
-}
-
-/*---------------- Search results window */
-
-iframe#MSearchResults {
- /*width: 60ex;*/
- height: 15em;
-}
-
-#MSearchResultsWindow {
- display: none;
- position: absolute;
- left: 0; top: 0;
- border: 1px solid #000;
- background-color: #EEF1F7;
- z-index:10000;
-}
-
-/* ----------------------------------- */
-
-
-#SRIndex {
- clear:both;
- padding-bottom: 15px;
-}
-
-.SREntry {
- font-size: 10pt;
- padding-left: 1ex;
-}
-
-.SRPage .SREntry {
- font-size: 8pt;
- padding: 1px 5px;
-}
-
-body.SRPage {
- margin: 5px 2px;
-}
-
-.SRChildren {
- padding-left: 3ex; padding-bottom: .5em
-}
-
-.SRPage .SRChildren {
- display: none;
-}
-
-.SRSymbol {
- font-weight: bold;
- color: #425E97;
- font-family: Arial, Verdana, sans-serif;
- text-decoration: none;
- outline: none;
-}
-
-a.SRScope {
- display: block;
- color: #425E97;
- font-family: Arial, Verdana, sans-serif;
- text-decoration: none;
- outline: none;
-}
-
-a.SRSymbol:focus, a.SRSymbol:active,
-a.SRScope:focus, a.SRScope:active {
- text-decoration: underline;
-}
-
-span.SRScope {
- padding-left: 4px;
- font-family: Arial, Verdana, sans-serif;
-}
-
-.SRPage .SRStatus {
- padding: 2px 5px;
- font-size: 8pt;
- font-style: italic;
- font-family: Arial, Verdana, sans-serif;
-}
-
-.SRResult {
- display: none;
-}
-
-div.searchresults {
- margin-left: 10px;
- margin-right: 10px;
-}
-
-/*---------------- External search page results */
-
-.searchresult {
- background-color: #F0F3F8;
-}
-
-.pages b {
- color: white;
- padding: 5px 5px 3px 5px;
- background-image: url("../tab_a.png");
- background-repeat: repeat-x;
- text-shadow: 0 1px 1px #000000;
-}
-
-.pages {
- line-height: 17px;
- margin-left: 4px;
- text-decoration: none;
-}
-
-.hl {
- font-weight: bold;
-}
-
-#searchresults {
- margin-bottom: 20px;
-}
-
-.searchpages {
- margin-top: 10px;
-}
-
diff --git a/xess/doc/doxygen/search/search.js b/xess/doc/doxygen/search/search.js
deleted file mode 100644
index ac8055d..0000000
--- a/xess/doc/doxygen/search/search.js
+++ /dev/null
@@ -1,794 +0,0 @@
-/*
- @licstart The following is the entire license notice for the JavaScript code in this file.
-
- The MIT License (MIT)
-
- Copyright (C) 1997-2020 by Dimitri van Heesch
-
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software
- and associated documentation files (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge, publish, distribute,
- sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all copies or
- substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
- BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- @licend The above is the entire license notice for the JavaScript code in this file
- */
-function convertToId(search)
-{
- var result = '';
- for (i=0;i do a search
- {
- this.Search();
- }
- }
-
- this.OnSearchSelectKey = function(evt)
- {
- var e = (evt) ? evt : window.event; // for IE
- if (e.keyCode==40 && this.searchIndex0) // Up
- {
- this.searchIndex--;
- this.OnSelectItem(this.searchIndex);
- }
- else if (e.keyCode==13 || e.keyCode==27)
- {
- this.OnSelectItem(this.searchIndex);
- this.CloseSelectionWindow();
- this.DOMSearchField().focus();
- }
- return false;
- }
-
- // --------- Actions
-
- // Closes the results window.
- this.CloseResultsWindow = function()
- {
- this.DOMPopupSearchResultsWindow().style.display = 'none';
- this.DOMSearchClose().style.display = 'none';
- this.Activate(false);
- }
-
- this.CloseSelectionWindow = function()
- {
- this.DOMSearchSelectWindow().style.display = 'none';
- }
-
- // Performs a search.
- this.Search = function()
- {
- this.keyTimeout = 0;
-
- // strip leading whitespace
- var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
-
- var code = searchValue.toLowerCase().charCodeAt(0);
- var idxChar = searchValue.substr(0, 1).toLowerCase();
- if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
- {
- idxChar = searchValue.substr(0, 2);
- }
-
- var resultsPage;
- var resultsPageWithSearch;
- var hasResultsPage;
-
- var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
- if (idx!=-1)
- {
- var hexCode=idx.toString(16);
- resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension;
- resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
- hasResultsPage = true;
- }
- else // nothing available for this search term
- {
- resultsPage = this.resultsPath + '/nomatches' + this.extension;
- resultsPageWithSearch = resultsPage;
- hasResultsPage = false;
- }
-
- window.frames.MSearchResults.location = resultsPageWithSearch;
- var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
-
- if (domPopupSearchResultsWindow.style.display!='block')
- {
- var domSearchBox = this.DOMSearchBox();
- this.DOMSearchClose().style.display = 'inline-block';
- var domPopupSearchResults = this.DOMPopupSearchResults();
- var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
- var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
- domPopupSearchResultsWindow.style.display = 'block';
- left -= domPopupSearchResults.offsetWidth;
- var maxWidth = document.body.clientWidth;
- var width = 400;
- if (left<10) left=10;
- if (width+left+8>maxWidth) width=maxWidth-left-8;
- domPopupSearchResultsWindow.style.top = top + 'px';
- domPopupSearchResultsWindow.style.left = left + 'px';
- domPopupSearchResultsWindow.style.width = width + 'px';
- }
-
- this.lastSearchValue = searchValue;
- this.lastResultsPage = resultsPage;
- }
-
- // -------- Activation Functions
-
- // Activates or deactivates the search panel, resetting things to
- // their default values if necessary.
- this.Activate = function(isActive)
- {
- if (isActive || // open it
- this.DOMPopupSearchResultsWindow().style.display == 'block'
- )
- {
- this.DOMSearchBox().className = 'MSearchBoxActive';
-
- var searchField = this.DOMSearchField();
-
- if (searchField.value == this.searchLabel) // clear "Search" term upon entry
- {
- searchField.value = '';
- this.searchActive = true;
- }
- }
- else if (!isActive) // directly remove the panel
- {
- this.DOMSearchBox().className = 'MSearchBoxInactive';
- this.DOMSearchField().value = this.searchLabel;
- this.searchActive = false;
- this.lastSearchValue = ''
- this.lastResultsPage = '';
- }
- }
-}
-
-// -----------------------------------------------------------------------
-
-// The class that handles everything on the search results page.
-function SearchResults(name)
-{
- // The number of matches from the last run of .
- this.lastMatchCount = 0;
- this.lastKey = 0;
- this.repeatOn = false;
-
- // Toggles the visibility of the passed element ID.
- this.FindChildElement = function(id)
- {
- var parentElement = document.getElementById(id);
- var element = parentElement.firstChild;
-
- while (element && element!=parentElement)
- {
- if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren')
- {
- return element;
- }
-
- if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes())
- {
- element = element.firstChild;
- }
- else if (element.nextSibling)
- {
- element = element.nextSibling;
- }
- else
- {
- do
- {
- element = element.parentNode;
- }
- while (element && element!=parentElement && !element.nextSibling);
-
- if (element && element!=parentElement)
- {
- element = element.nextSibling;
- }
- }
- }
- }
-
- this.Toggle = function(id)
- {
- var element = this.FindChildElement(id);
- if (element)
- {
- if (element.style.display == 'block')
- {
- element.style.display = 'none';
- }
- else
- {
- element.style.display = 'block';
- }
- }
- }
-
- // Searches for the passed string. If there is no parameter,
- // it takes it from the URL query.
- //
- // Always returns true, since other documents may try to call it
- // and that may or may not be possible.
- this.Search = function(search)
- {
- if (!search) // get search word from URL
- {
- search = window.location.search;
- search = search.substring(1); // Remove the leading '?'
- search = unescape(search);
- }
-
- search = search.replace(/^ +/, ""); // strip leading spaces
- search = search.replace(/ +$/, ""); // strip trailing spaces
- search = search.toLowerCase();
- search = convertToId(search);
-
- var resultRows = document.getElementsByTagName("div");
- var matches = 0;
-
- var i = 0;
- while (i < resultRows.length)
- {
- var row = resultRows.item(i);
- if (row.className == "SRResult")
- {
- var rowMatchName = row.id.toLowerCase();
- rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
-
- if (search.length<=rowMatchName.length &&
- rowMatchName.substr(0, search.length)==search)
- {
- row.style.display = 'block';
- matches++;
- }
- else
- {
- row.style.display = 'none';
- }
- }
- i++;
- }
- document.getElementById("Searching").style.display='none';
- if (matches == 0) // no results
- {
- document.getElementById("NoMatches").style.display='block';
- }
- else // at least one result
- {
- document.getElementById("NoMatches").style.display='none';
- }
- this.lastMatchCount = matches;
- return true;
- }
-
- // return the first item with index index or higher that is visible
- this.NavNext = function(index)
- {
- var focusItem;
- while (1)
- {
- var focusName = 'Item'+index;
- focusItem = document.getElementById(focusName);
- if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
- {
- break;
- }
- else if (!focusItem) // last element
- {
- break;
- }
- focusItem=null;
- index++;
- }
- return focusItem;
- }
-
- this.NavPrev = function(index)
- {
- var focusItem;
- while (1)
- {
- var focusName = 'Item'+index;
- focusItem = document.getElementById(focusName);
- if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
- {
- break;
- }
- else if (!focusItem) // last element
- {
- break;
- }
- focusItem=null;
- index--;
- }
- return focusItem;
- }
-
- this.ProcessKeys = function(e)
- {
- if (e.type == "keydown")
- {
- this.repeatOn = false;
- this.lastKey = e.keyCode;
- }
- else if (e.type == "keypress")
- {
- if (!this.repeatOn)
- {
- if (this.lastKey) this.repeatOn = true;
- return false; // ignore first keypress after keydown
- }
- }
- else if (e.type == "keyup")
- {
- this.lastKey = 0;
- this.repeatOn = false;
- }
- return this.lastKey!=0;
- }
-
- this.Nav = function(evt,itemIndex)
- {
- var e = (evt) ? evt : window.event; // for IE
- if (e.keyCode==13) return true;
- if (!this.ProcessKeys(e)) return false;
-
- if (this.lastKey==38) // Up
- {
- var newIndex = itemIndex-1;
- var focusItem = this.NavPrev(newIndex);
- if (focusItem)
- {
- var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
- if (child && child.style.display == 'block') // children visible
- {
- var n=0;
- var tmpElem;
- while (1) // search for last child
- {
- tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
- if (tmpElem)
- {
- focusItem = tmpElem;
- }
- else // found it!
- {
- break;
- }
- n++;
- }
- }
- }
- if (focusItem)
- {
- focusItem.focus();
- }
- else // return focus to search field
- {
- parent.document.getElementById("MSearchField").focus();
- }
- }
- else if (this.lastKey==40) // Down
- {
- var newIndex = itemIndex+1;
- var focusItem;
- var item = document.getElementById('Item'+itemIndex);
- var elem = this.FindChildElement(item.parentNode.parentNode.id);
- if (elem && elem.style.display == 'block') // children visible
- {
- focusItem = document.getElementById('Item'+itemIndex+'_c0');
- }
- if (!focusItem) focusItem = this.NavNext(newIndex);
- if (focusItem) focusItem.focus();
- }
- else if (this.lastKey==39) // Right
- {
- var item = document.getElementById('Item'+itemIndex);
- var elem = this.FindChildElement(item.parentNode.parentNode.id);
- if (elem) elem.style.display = 'block';
- }
- else if (this.lastKey==37) // Left
- {
- var item = document.getElementById('Item'+itemIndex);
- var elem = this.FindChildElement(item.parentNode.parentNode.id);
- if (elem) elem.style.display = 'none';
- }
- else if (this.lastKey==27) // Escape
- {
- parent.searchBox.CloseResultsWindow();
- parent.document.getElementById("MSearchField").focus();
- }
- else if (this.lastKey==13) // Enter
- {
- return true;
- }
- return false;
- }
-
- this.NavChild = function(evt,itemIndex,childIndex)
- {
- var e = (evt) ? evt : window.event; // for IE
- if (e.keyCode==13) return true;
- if (!this.ProcessKeys(e)) return false;
-
- if (this.lastKey==38) // Up
- {
- if (childIndex>0)
- {
- var newIndex = childIndex-1;
- document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
- }
- else // already at first child, jump to parent
- {
- document.getElementById('Item'+itemIndex).focus();
- }
- }
- else if (this.lastKey==40) // Down
- {
- var newIndex = childIndex+1;
- var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
- if (!elem) // last child, jump to parent next parent
- {
- elem = this.NavNext(itemIndex+1);
- }
- if (elem)
- {
- elem.focus();
- }
- }
- else if (this.lastKey==27) // Escape
- {
- parent.searchBox.CloseResultsWindow();
- parent.document.getElementById("MSearchField").focus();
- }
- else if (this.lastKey==13) // Enter
- {
- return true;
- }
- return false;
- }
-}
-
-function setKeyActions(elem,action)
-{
- elem.setAttribute('onkeydown',action);
- elem.setAttribute('onkeypress',action);
- elem.setAttribute('onkeyup',action);
-}
-
-function setClassAttr(elem,attr)
-{
- elem.setAttribute('class',attr);
- elem.setAttribute('className',attr);
-}
-
-function createResults()
-{
- var results = document.getElementById("SRResults");
- for (var e=0; e
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/typedefs_0.js b/xess/doc/doxygen/search/typedefs_0.js
deleted file mode 100644
index 4cd0f0b..0000000
--- a/xess/doc/doxygen/search/typedefs_0.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
- ['sizecheck_5f_5fline_5f_5f_0',['sizecheck__LINE__',['../xess_8h.html#a8b1577973a08cac2cbbe31bb1297eff5',1,'sizecheck__LINE__(): xess.h'],['../xess__debug_8h.html#a368b9d0a82e205f30f7e7c0da413e318',1,'sizecheck__LINE__(): xess_debug.h']]]
-];
diff --git a/xess/doc/doxygen/search/typedefs_1.html b/xess/doc/doxygen/search/typedefs_1.html
deleted file mode 100644
index 54ce58e..0000000
--- a/xess/doc/doxygen/search/typedefs_1.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/typedefs_1.js b/xess/doc/doxygen/search/typedefs_1.js
deleted file mode 100644
index 728ed7d..0000000
--- a/xess/doc/doxygen/search/typedefs_1.js
+++ /dev/null
@@ -1,22 +0,0 @@
-var searchData=
-[
- ['xess_5f2d_5ft_0',['xess_2d_t',['../xess_8h.html#a3839d654f9989ed64bc09f3a93f16bbb',1,'xess.h']]],
- ['xess_5fapp_5flog_5fcallback_5ft_1',['xess_app_log_callback_t',['../xess_8h.html#a6c757a86356ec78ea12f7a0569a945f8',1,'xess.h']]],
- ['xess_5fcontext_5fhandle_5ft_2',['xess_context_handle_t',['../xess_8h.html#af31f441c4909f7bbf9fb4491b5f9b927',1,'xess.h']]],
- ['xess_5fcoord_5ft_3',['xess_coord_t',['../xess_8h.html#ab4b757ead636df148ed7dbcaf8a86d2f',1,'xess.h']]],
- ['xess_5fd3d12_5fexecute_5fparams_5ft_4',['xess_d3d12_execute_params_t',['../xess__d3d12_8h.html#a013d859444728ce4c0b3b95e5437caf5',1,'xess_d3d12.h']]],
- ['xess_5fd3d12_5finit_5fparams_5ft_5',['xess_d3d12_init_params_t',['../xess__d3d12_8h.html#a8738b1b1df89db7fcdb1647af648c7d7',1,'xess_d3d12.h']]],
- ['xess_5fdump_5felement_5fbits_5ft_6',['xess_dump_element_bits_t',['../xess__debug_8h.html#a516d71b76c0d19198beed6465eb4535c',1,'xess_debug.h']]],
- ['xess_5fdump_5felements_5fmask_5ft_7',['xess_dump_elements_mask_t',['../xess__debug_8h.html#a508c6f679546883d9c849cbfd3615363',1,'xess_debug.h']]],
- ['xess_5fdump_5fparameters_5ft_8',['xess_dump_parameters_t',['../xess__debug_8h.html#a7a40b052b76b6b70177eb6bca388a214',1,'xess_debug.h']]],
- ['xess_5finit_5fflags_5ft_9',['xess_init_flags_t',['../xess_8h.html#a4d9dd06b8ad6424f988f53522f8969a8',1,'xess.h']]],
- ['xess_5flogging_5flevel_5ft_10',['xess_logging_level_t',['../xess_8h.html#a6432053aa5103ccd9df8618a7eaaacb8',1,'xess.h']]],
- ['xess_5fnetwork_5fmodel_5ft_11',['xess_network_model_t',['../xess__debug_8h.html#a0f8d91004ab90548549da8adb0d4f195',1,'xess_debug.h']]],
- ['xess_5fprofiled_5fframe_5fdata_5ft_12',['xess_profiled_frame_data_t',['../xess__d3d12__debug_8h.html#a8fb30e1bc4f2c5e8dab3d8a80c30e3be',1,'xess_d3d12_debug.h']]],
- ['xess_5fprofiling_5fdata_5ft_13',['xess_profiling_data_t',['../xess__d3d12__debug_8h.html#ad7d2b8797e2ede0f09b73e1a240583f9',1,'xess_d3d12_debug.h']]],
- ['xess_5fproperties_5ft_14',['xess_properties_t',['../xess_8h.html#a81c9ce6225897595f26130f90c41f3e2',1,'xess.h']]],
- ['xess_5fquality_5fsettings_5ft_15',['xess_quality_settings_t',['../xess_8h.html#a2a85ea1304caf14b2c008457ee75c7cc',1,'xess.h']]],
- ['xess_5fresources_5fto_5fdump_5ft_16',['xess_resources_to_dump_t',['../xess__d3d12__debug_8h.html#a16c2ebf61da2c3a48f3c985c1fb9b8e7',1,'xess_d3d12_debug.h']]],
- ['xess_5fresult_5ft_17',['xess_result_t',['../xess_8h.html#a3aa6a07808627ac723a9da324abf10b4',1,'xess.h']]],
- ['xess_5fversion_5ft_18',['xess_version_t',['../xess_8h.html#a5b198528154044a5bc33a464e62d34a0',1,'xess.h']]]
-];
diff --git a/xess/doc/doxygen/search/variables_0.html b/xess/doc/doxygen/search/variables_0.html
deleted file mode 100644
index 950bfc5..0000000
--- a/xess/doc/doxygen/search/variables_0.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_0.js b/xess/doc/doxygen/search/variables_0.js
deleted file mode 100644
index eab109b..0000000
--- a/xess/doc/doxygen/search/variables_0.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
- ['any_5fprofiling_5fdata_5fin_5fflight_0',['any_profiling_data_in_flight',['../struct__xess__profiling__data__t.html#a7ce6d3494f6a8695edf94fcad38c455e',1,'_xess_profiling_data_t']]],
- ['as_5ftensor_1',['as_tensor',['../struct__xess__resources__to__dump__t.html#a055a00bb33a3ade096f537cee6d614ca',1,'_xess_resources_to_dump_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_1.html b/xess/doc/doxygen/search/variables_1.html
deleted file mode 100644
index fed58a5..0000000
--- a/xess/doc/doxygen/search/variables_1.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_1.js b/xess/doc/doxygen/search/variables_1.js
deleted file mode 100644
index b64d219..0000000
--- a/xess/doc/doxygen/search/variables_1.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
- ['border_5fpixels_5fto_5fskip_5fcount_0',['border_pixels_to_skip_count',['../struct__xess__resources__to__dump__t.html#a4b329d03d60ffb48e496e41169018a31',1,'_xess_resources_to_dump_t']]],
- ['bufferheapoffset_1',['bufferHeapOffset',['../struct__xess__d3d12__init__params__t.html#aca551e5731fdfe7679b6f3e24cc01d0c',1,'_xess_d3d12_init_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_10.html b/xess/doc/doxygen/search/variables_10.html
deleted file mode 100644
index e2896f5..0000000
--- a/xess/doc/doxygen/search/variables_10.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_10.js b/xess/doc/doxygen/search/variables_10.js
deleted file mode 100644
index a1ce063..0000000
--- a/xess/doc/doxygen/search/variables_10.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
- ['x_0',['x',['../struct__xess__2d__t.html#aae8a40a17c0be29c1f06ca6b4f9e2235',1,'_xess_2d_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_11.html b/xess/doc/doxygen/search/variables_11.html
deleted file mode 100644
index 0aedfd5..0000000
--- a/xess/doc/doxygen/search/variables_11.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_11.js b/xess/doc/doxygen/search/variables_11.js
deleted file mode 100644
index f63239b..0000000
--- a/xess/doc/doxygen/search/variables_11.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
- ['y_0',['y',['../struct__xess__2d__t.html#a9c02f93c9698e4486878867c4f265c48',1,'_xess_2d_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_2.html b/xess/doc/doxygen/search/variables_2.html
deleted file mode 100644
index 761c194..0000000
--- a/xess/doc/doxygen/search/variables_2.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_2.js b/xess/doc/doxygen/search/variables_2.js
deleted file mode 100644
index f0a7e8e..0000000
--- a/xess/doc/doxygen/search/variables_2.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
- ['creationnodemask_0',['creationNodeMask',['../struct__xess__d3d12__init__params__t.html#a5a826e34a732802a584fc78091837dc4',1,'_xess_d3d12_init_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_3.html b/xess/doc/doxygen/search/variables_3.html
deleted file mode 100644
index 78bfe03..0000000
--- a/xess/doc/doxygen/search/variables_3.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_3.js b/xess/doc/doxygen/search/variables_3.js
deleted file mode 100644
index dd85e09..0000000
--- a/xess/doc/doxygen/search/variables_3.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
- ['descriptorheapoffset_0',['descriptorHeapOffset',['../struct__xess__d3d12__execute__params__t.html#ab718f6c8f437c74e2ad08ace9ee9f130',1,'_xess_d3d12_execute_params_t']]],
- ['dump_5felements_5fmask_1',['dump_elements_mask',['../struct__xess__dump__parameters__t.html#a1dd8e9870444dc41b3c1602b15dae269',1,'_xess_dump_parameters_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_4.html b/xess/doc/doxygen/search/variables_4.html
deleted file mode 100644
index 4d608da..0000000
--- a/xess/doc/doxygen/search/variables_4.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_4.js b/xess/doc/doxygen/search/variables_4.js
deleted file mode 100644
index 0435e34..0000000
--- a/xess/doc/doxygen/search/variables_4.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
- ['exposurescale_0',['exposureScale',['../struct__xess__d3d12__execute__params__t.html#a26bc83e12624ccf3b3c793a717e284ff',1,'_xess_d3d12_execute_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_5.html b/xess/doc/doxygen/search/variables_5.html
deleted file mode 100644
index 6342402..0000000
--- a/xess/doc/doxygen/search/variables_5.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_5.js b/xess/doc/doxygen/search/variables_5.js
deleted file mode 100644
index 8af014d..0000000
--- a/xess/doc/doxygen/search/variables_5.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var searchData=
-[
- ['frame_5fcount_0',['frame_count',['../struct__xess__profiling__data__t.html#a75021619d6a71e1e1a4ea1efb3c62138',1,'_xess_profiling_data_t::frame_count()'],['../struct__xess__dump__parameters__t.html#ae3e00071db1070451c10872b09360cad',1,'_xess_dump_parameters_t::frame_count()']]],
- ['frame_5fidx_1',['frame_idx',['../struct__xess__dump__parameters__t.html#a675e89be435aec170285f3a1e7e25edf',1,'_xess_dump_parameters_t']]],
- ['frame_5findex_2',['frame_index',['../struct__xess__profiled__frame__data__t.html#a7b9f42d4c57d1fe01c782d735be98074',1,'_xess_profiled_frame_data_t']]],
- ['frames_3',['frames',['../struct__xess__profiling__data__t.html#a34fa47cf13f15a0c84ae5bc36f08fc1e',1,'_xess_profiling_data_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_6.html b/xess/doc/doxygen/search/variables_6.html
deleted file mode 100644
index 80db039..0000000
--- a/xess/doc/doxygen/search/variables_6.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_6.js b/xess/doc/doxygen/search/variables_6.js
deleted file mode 100644
index ad7567c..0000000
--- a/xess/doc/doxygen/search/variables_6.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var searchData=
-[
- ['gpu_5fduration_5fnames_0',['gpu_duration_names',['../struct__xess__profiled__frame__data__t.html#a46e787a4e8a96da32fe2b173f3720d6f',1,'_xess_profiled_frame_data_t']]],
- ['gpu_5fduration_5frecord_5fcount_1',['gpu_duration_record_count',['../struct__xess__profiled__frame__data__t.html#ab142b6f60de7c00c227011353cb602e5',1,'_xess_profiled_frame_data_t']]],
- ['gpu_5fduration_5fvalues_2',['gpu_duration_values',['../struct__xess__profiled__frame__data__t.html#a8f6650843400b1532bdd0ce000a0e689',1,'_xess_profiled_frame_data_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_7.html b/xess/doc/doxygen/search/variables_7.html
deleted file mode 100644
index bf8eb38..0000000
--- a/xess/doc/doxygen/search/variables_7.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_7.js b/xess/doc/doxygen/search/variables_7.js
deleted file mode 100644
index a0f5763..0000000
--- a/xess/doc/doxygen/search/variables_7.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var searchData=
-[
- ['initflags_0',['initFlags',['../struct__xess__d3d12__init__params__t.html#a2778ccc4a0cacda6c2c73482a77f6e05',1,'_xess_d3d12_init_params_t']]],
- ['inputcolorbase_1',['inputColorBase',['../struct__xess__d3d12__execute__params__t.html#a4afe3dfda80148f5a10fa368f3d6a6f8',1,'_xess_d3d12_execute_params_t']]],
- ['inputdepthbase_2',['inputDepthBase',['../struct__xess__d3d12__execute__params__t.html#ae6ec27f307c8f3dbf95472d73fc8797a',1,'_xess_d3d12_execute_params_t']]],
- ['inputheight_3',['inputHeight',['../struct__xess__d3d12__execute__params__t.html#a2ee55ecbea691cf3d9c000055e8dfe1b',1,'_xess_d3d12_execute_params_t']]],
- ['inputmotionvectorbase_4',['inputMotionVectorBase',['../struct__xess__d3d12__execute__params__t.html#abbd7c1808dbafcb1aa0475fd8ab70066',1,'_xess_d3d12_execute_params_t']]],
- ['inputresponsivemaskbase_5',['inputResponsiveMaskBase',['../struct__xess__d3d12__execute__params__t.html#accb3d97fb6ba85e6560c9871010a3c57',1,'_xess_d3d12_execute_params_t']]],
- ['inputwidth_6',['inputWidth',['../struct__xess__d3d12__execute__params__t.html#ad57863724c458e3583d0acb4be23cb7b',1,'_xess_d3d12_execute_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_8.html b/xess/doc/doxygen/search/variables_8.html
deleted file mode 100644
index 92a55e9..0000000
--- a/xess/doc/doxygen/search/variables_8.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_8.js b/xess/doc/doxygen/search/variables_8.js
deleted file mode 100644
index 5ae439b..0000000
--- a/xess/doc/doxygen/search/variables_8.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
- ['jitteroffsetx_0',['jitterOffsetX',['../struct__xess__d3d12__execute__params__t.html#a701953ac726be26afde35ba21b1854f5',1,'_xess_d3d12_execute_params_t']]],
- ['jitteroffsety_1',['jitterOffsetY',['../struct__xess__d3d12__execute__params__t.html#ab8fec73568168bc8ba655190c20b98b0',1,'_xess_d3d12_execute_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_9.html b/xess/doc/doxygen/search/variables_9.html
deleted file mode 100644
index 1aec773..0000000
--- a/xess/doc/doxygen/search/variables_9.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_9.js b/xess/doc/doxygen/search/variables_9.js
deleted file mode 100644
index 0e84dfc..0000000
--- a/xess/doc/doxygen/search/variables_9.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
- ['major_0',['major',['../struct__xess__version__t.html#a600930655b7237315b72223c48327ea8',1,'_xess_version_t']]],
- ['minor_1',['minor',['../struct__xess__version__t.html#a9f280ce3ae5b6cd9346fd7a09ff29168',1,'_xess_version_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_a.html b/xess/doc/doxygen/search/variables_a.html
deleted file mode 100644
index 8090d16..0000000
--- a/xess/doc/doxygen/search/variables_a.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_a.js b/xess/doc/doxygen/search/variables_a.js
deleted file mode 100644
index 4a6343b..0000000
--- a/xess/doc/doxygen/search/variables_a.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
- ['outputcolorbase_0',['outputColorBase',['../struct__xess__d3d12__execute__params__t.html#a6408622b605e51416238460aa3e58533',1,'_xess_d3d12_execute_params_t']]],
- ['outputresolution_1',['outputResolution',['../struct__xess__d3d12__init__params__t.html#adefd841ee2588585d89bf91ced85e84c',1,'_xess_d3d12_init_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_b.html b/xess/doc/doxygen/search/variables_b.html
deleted file mode 100644
index 5ceb53f..0000000
--- a/xess/doc/doxygen/search/variables_b.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_b.js b/xess/doc/doxygen/search/variables_b.js
deleted file mode 100644
index 3698e8f..0000000
--- a/xess/doc/doxygen/search/variables_b.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var searchData=
-[
- ['patch_0',['patch',['../struct__xess__version__t.html#ab74656704767a7e73da4cd20dfd51a5d',1,'_xess_version_t']]],
- ['path_1',['path',['../struct__xess__dump__parameters__t.html#a3b02c6de5c049804444a246f7fdf46b4',1,'_xess_dump_parameters_t']]],
- ['pcolortexture_2',['pColorTexture',['../struct__xess__d3d12__execute__params__t.html#af0438b6fee2a81109430081d6d822090',1,'_xess_d3d12_execute_params_t']]],
- ['pdepthtexture_3',['pDepthTexture',['../struct__xess__d3d12__execute__params__t.html#a0aced69da09a2f6ef2e7034270ca513c',1,'_xess_d3d12_execute_params_t']]],
- ['pdescriptorheap_4',['pDescriptorHeap',['../struct__xess__d3d12__execute__params__t.html#a6a5db20b91a54c5160e350c7ba544c51',1,'_xess_d3d12_execute_params_t']]],
- ['pexposurescaletexture_5',['pExposureScaleTexture',['../struct__xess__d3d12__execute__params__t.html#a848453834ef179e0694c525051fbf493',1,'_xess_d3d12_execute_params_t']]],
- ['poutputtexture_6',['pOutputTexture',['../struct__xess__d3d12__execute__params__t.html#a680b0c0b8f150bd2f8a4bd07da22519e',1,'_xess_d3d12_execute_params_t']]],
- ['ppipelinelibrary_7',['pPipelineLibrary',['../struct__xess__d3d12__init__params__t.html#a254d1c85f1dde5405a267084da481ad9',1,'_xess_d3d12_init_params_t']]],
- ['presponsivepixelmasktexture_8',['pResponsivePixelMaskTexture',['../struct__xess__d3d12__execute__params__t.html#aa9210e99440b1564285d6d88ddf4d789',1,'_xess_d3d12_execute_params_t']]],
- ['ptempbufferheap_9',['pTempBufferHeap',['../struct__xess__d3d12__init__params__t.html#a8b41cbb0e0c875bf2631ef6b414d4259',1,'_xess_d3d12_init_params_t']]],
- ['ptemptextureheap_10',['pTempTextureHeap',['../struct__xess__d3d12__init__params__t.html#a32b6ed71e10b2df805c033b158f9d1f5',1,'_xess_d3d12_init_params_t']]],
- ['pvelocitytexture_11',['pVelocityTexture',['../struct__xess__d3d12__execute__params__t.html#a112aa451fae1a83e2bc6ffc999206c2a',1,'_xess_d3d12_execute_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_c.html b/xess/doc/doxygen/search/variables_c.html
deleted file mode 100644
index 5dbea70..0000000
--- a/xess/doc/doxygen/search/variables_c.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_c.js b/xess/doc/doxygen/search/variables_c.js
deleted file mode 100644
index c239569..0000000
--- a/xess/doc/doxygen/search/variables_c.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
- ['qualitysetting_0',['qualitySetting',['../struct__xess__d3d12__init__params__t.html#ad1566e156f30842fc8a32e5e508094b2',1,'_xess_d3d12_init_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_d.html b/xess/doc/doxygen/search/variables_d.html
deleted file mode 100644
index e7cd3a3..0000000
--- a/xess/doc/doxygen/search/variables_d.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_d.js b/xess/doc/doxygen/search/variables_d.js
deleted file mode 100644
index e54e566..0000000
--- a/xess/doc/doxygen/search/variables_d.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var searchData=
-[
- ['requireddescriptorcount_0',['requiredDescriptorCount',['../struct__xess__properties__t.html#a2dc96375a6205c03219a9904a568c01c',1,'_xess_properties_t']]],
- ['reserved_1',['reserved',['../struct__xess__version__t.html#a5a6ed8c04a3db86066924b1a1bf4dad3',1,'_xess_version_t']]],
- ['reserved0_2',['reserved0',['../struct__xess__d3d12__execute__params__t.html#a99430c650ba489b07be8478c32b22606',1,'_xess_d3d12_execute_params_t']]],
- ['resethistory_3',['resetHistory',['../struct__xess__d3d12__execute__params__t.html#af2336172df07c9d4a8d36a9a1f188a2e',1,'_xess_d3d12_execute_params_t']]],
- ['resource_5fcount_4',['resource_count',['../struct__xess__resources__to__dump__t.html#afa5d343e953478907a576e9c372a5838',1,'_xess_resources_to_dump_t']]],
- ['resource_5fnames_5',['resource_names',['../struct__xess__resources__to__dump__t.html#a4f61a0f5b6b502a4cd89405410853fde',1,'_xess_resources_to_dump_t']]],
- ['resources_6',['resources',['../struct__xess__resources__to__dump__t.html#aeb3cb43b5376fe80794c4f5e4b47ff68',1,'_xess_resources_to_dump_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_e.html b/xess/doc/doxygen/search/variables_e.html
deleted file mode 100644
index b2e6719..0000000
--- a/xess/doc/doxygen/search/variables_e.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_e.js b/xess/doc/doxygen/search/variables_e.js
deleted file mode 100644
index fb096f6..0000000
--- a/xess/doc/doxygen/search/variables_e.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var searchData=
-[
- ['tempbufferheapsize_0',['tempBufferHeapSize',['../struct__xess__properties__t.html#a0db8617705e860098e048d7f3e5466ff',1,'_xess_properties_t']]],
- ['temptextureheapsize_1',['tempTextureHeapSize',['../struct__xess__properties__t.html#a209e8c58699154a12ca8c51d190565ee',1,'_xess_properties_t']]],
- ['tensor_5fchannel_5fcount_2',['tensor_channel_count',['../struct__xess__resources__to__dump__t.html#ae59e9714ae9a69c614783e31a585a221',1,'_xess_resources_to_dump_t']]],
- ['tensor_5fheight_3',['tensor_height',['../struct__xess__resources__to__dump__t.html#a7d6bf0ceee8b6abbb2678a630531e4fb',1,'_xess_resources_to_dump_t']]],
- ['tensor_5fwidth_4',['tensor_width',['../struct__xess__resources__to__dump__t.html#a1b5c859fbf4a5eb748d5381e6063f673',1,'_xess_resources_to_dump_t']]],
- ['textureheapoffset_5',['textureHeapOffset',['../struct__xess__d3d12__init__params__t.html#a9e2ba8ca5471d07e4bb30183deb00e56',1,'_xess_d3d12_init_params_t']]]
-];
diff --git a/xess/doc/doxygen/search/variables_f.html b/xess/doc/doxygen/search/variables_f.html
deleted file mode 100644
index fe01445..0000000
--- a/xess/doc/doxygen/search/variables_f.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
Loading...
-
-
-
Searching...
-
No Matches
-
-
-
-
diff --git a/xess/doc/doxygen/search/variables_f.js b/xess/doc/doxygen/search/variables_f.js
deleted file mode 100644
index 88216c6..0000000
--- a/xess/doc/doxygen/search/variables_f.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
- ['visiblenodemask_0',['visibleNodeMask',['../struct__xess__d3d12__init__params__t.html#a153b79c833ddce15c33d78691a679ca3',1,'_xess_d3d12_init_params_t']]]
-];
diff --git a/xess/doc/doxygen/splitbar.png b/xess/doc/doxygen/splitbar.png
deleted file mode 100644
index fe895f2..0000000
Binary files a/xess/doc/doxygen/splitbar.png and /dev/null differ
diff --git a/xess/doc/doxygen/struct__xess__2d__t.html b/xess/doc/doxygen/struct__xess__2d__t.html
deleted file mode 100644
index f497f2a..0000000
--- a/xess/doc/doxygen/struct__xess__2d__t.html
+++ /dev/null
@@ -1,154 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: _xess_2d_t Struct Reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
2D variable.
- More...
-
-
#include <xess.h >
-
-
-uint32_t x
-
-uint32_t y
-
-
-
-
2D variable.
-
-
Definition at line 79 of file xess.h .
-
-
-
-
-
-
-
-
Definition at line 81 of file xess.h .
-
-
-
-
-
-
-
-
-
-
Definition at line 82 of file xess.h .
-
-
-
-
The documentation for this struct was generated from the following file:
-D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess.h
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/struct__xess__2d__t.js b/xess/doc/doxygen/struct__xess__2d__t.js
deleted file mode 100644
index 2dd7d9a..0000000
--- a/xess/doc/doxygen/struct__xess__2d__t.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var struct__xess__2d__t =
-[
- [ "x", "struct__xess__2d__t.html#aae8a40a17c0be29c1f06ca6b4f9e2235", null ],
- [ "y", "struct__xess__2d__t.html#a9c02f93c9698e4486878867c4f265c48", null ]
-];
\ No newline at end of file
diff --git a/xess/doc/doxygen/struct__xess__d3d12__execute__params__t.html b/xess/doc/doxygen/struct__xess__d3d12__execute__params__t.html
deleted file mode 100644
index 7fb2f99..0000000
--- a/xess/doc/doxygen/struct__xess__d3d12__execute__params__t.html
+++ /dev/null
@@ -1,498 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: _xess_d3d12_execute_params_t Struct Reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Execution parameters for Xe SS D3D12.
- More...
-
-
#include <xess_d3d12.h >
-
-
-
Execution parameters for Xe SS D3D12.
-
-
Definition at line 33 of file xess_d3d12.h .
-
-
-
◆ descriptorHeapOffset
-
-
-
-
-
- uint32_t descriptorHeapOffset
-
-
-
-
Offset in external descriptor heap in bytes.
-
-
Definition at line 78 of file xess_d3d12.h .
-
-
-
-
-
◆ exposureScale
-
-
-
-
-
- float exposureScale
-
-
-
-
Optional input color scaling. Default is 1.
-
-
Definition at line 56 of file xess_d3d12.h .
-
-
-
-
-
◆ inputColorBase
-
-
-
-
Base coordinate for the input color in the texture. Default is (0,0).
-
-
Definition at line 64 of file xess_d3d12.h .
-
-
-
-
-
◆ inputDepthBase
-
-
-
-
Base coordinate for the input depth in the texture. Default is (0,0).
-
-
Definition at line 68 of file xess_d3d12.h .
-
-
-
-
-
◆ inputHeight
-
-
-
-
-
- uint32_t inputHeight
-
-
-
-
Input color height.
-
-
Definition at line 62 of file xess_d3d12.h .
-
-
-
-
-
◆ inputMotionVectorBase
-
-
-
-
Base coordinate for the input motion vector in the texture. Default is (0,0).
-
-
Definition at line 66 of file xess_d3d12.h .
-
-
-
-
-
◆ inputResponsiveMaskBase
-
-
-
-
Base coordinate for the input responsive pixel mask in the texture. Default is (0,0).
-
-
Definition at line 70 of file xess_d3d12.h .
-
-
-
-
-
◆ inputWidth
-
-
-
-
-
- uint32_t inputWidth
-
-
-
-
Input color width.
-
-
Definition at line 60 of file xess_d3d12.h .
-
-
-
-
-
◆ jitterOffsetX
-
-
-
-
-
- float jitterOffsetX
-
-
-
-
Jitter X coordinate in the range [-0.5, 0.5].
-
-
Definition at line 52 of file xess_d3d12.h .
-
-
-
-
-
◆ jitterOffsetY
-
-
-
-
-
- float jitterOffsetY
-
-
-
-
Jitter Y coordinate in the range [-0.5, 0.5].
-
-
Definition at line 54 of file xess_d3d12.h .
-
-
-
-
-
◆ outputColorBase
-
-
-
-
Base coordinate for the output color. Default is (0,0).
-
-
Definition at line 74 of file xess_d3d12.h .
-
-
-
-
-
◆ pColorTexture
-
-
-
-
-
- ID3D12Resource* pColorTexture
-
-
-
-
Input color texture. Must be in NON_PIXEL_SHADER_RESOURCE state.
-
-
Definition at line 36 of file xess_d3d12.h .
-
-
-
-
-
◆ pDepthTexture
-
-
-
-
-
- ID3D12Resource* pDepthTexture
-
-
-
-
Optional depth texture. Required if XESS_INIT_FLAG_HIGH_RES_MV has not been specified. Must be in NON_PIXEL_SHADER_RESOURCE state.
-
-
Definition at line 41 of file xess_d3d12.h .
-
-
-
-
-
◆ pDescriptorHeap
-
-
-
-
-
- ID3D12DescriptorHeap* pDescriptorHeap
-
-
-
-
Optional external descriptor heap.
-
-
Definition at line 76 of file xess_d3d12.h .
-
-
-
-
-
◆ pExposureScaleTexture
-
-
-
-
-
- ID3D12Resource* pExposureScaleTexture
-
-
-
-
Optional 1x1 exposure scale texture. Required if XESS_INIT_FLAG_EXPOSURE_TEXTURE has been specified. Must be in NON_PIXEL_SHADER_RESOURCE state
-
-
Definition at line 44 of file xess_d3d12.h .
-
-
-
-
-
◆ pOutputTexture
-
-
-
-
-
- ID3D12Resource* pOutputTexture
-
-
-
-
Output texture in target resolution. Must be in UNORDERED_ACCESS state.
-
-
Definition at line 49 of file xess_d3d12.h .
-
-
-
-
-
◆ pResponsivePixelMaskTexture
-
-
-
-
-
- ID3D12Resource* pResponsivePixelMaskTexture
-
-
-
-
Optional responsive pixel mask texture. Required if XESS_INIT_FLAG_RESPONSIVE_PIXEL_MASK has been specified. Must be in NON_PIXEL_SHADER_RESOURCE state
-
-
Definition at line 47 of file xess_d3d12.h .
-
-
-
-
-
◆ pVelocityTexture
-
-
-
-
-
- ID3D12Resource* pVelocityTexture
-
-
-
-
Input motion vector texture. Must be in NON_PIXEL_SHADER_RESOURCE state.
-
-
Definition at line 38 of file xess_d3d12.h .
-
-
-
-
-
◆ reserved0
-
-
-
-
Reserved parameter.
-
-
Definition at line 72 of file xess_d3d12.h .
-
-
-
-
-
◆ resetHistory
-
-
-
-
-
- uint32_t resetHistory
-
-
-
-
Resets the history accumulation in this frame.
-
-
Definition at line 58 of file xess_d3d12.h .
-
-
-
-
The documentation for this struct was generated from the following file:
-D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess_d3d12.h
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/struct__xess__d3d12__execute__params__t.js b/xess/doc/doxygen/struct__xess__d3d12__execute__params__t.js
deleted file mode 100644
index 3394992..0000000
--- a/xess/doc/doxygen/struct__xess__d3d12__execute__params__t.js
+++ /dev/null
@@ -1,23 +0,0 @@
-var struct__xess__d3d12__execute__params__t =
-[
- [ "descriptorHeapOffset", "struct__xess__d3d12__execute__params__t.html#ab718f6c8f437c74e2ad08ace9ee9f130", null ],
- [ "exposureScale", "struct__xess__d3d12__execute__params__t.html#a26bc83e12624ccf3b3c793a717e284ff", null ],
- [ "inputColorBase", "struct__xess__d3d12__execute__params__t.html#a4afe3dfda80148f5a10fa368f3d6a6f8", null ],
- [ "inputDepthBase", "struct__xess__d3d12__execute__params__t.html#ae6ec27f307c8f3dbf95472d73fc8797a", null ],
- [ "inputHeight", "struct__xess__d3d12__execute__params__t.html#a2ee55ecbea691cf3d9c000055e8dfe1b", null ],
- [ "inputMotionVectorBase", "struct__xess__d3d12__execute__params__t.html#abbd7c1808dbafcb1aa0475fd8ab70066", null ],
- [ "inputResponsiveMaskBase", "struct__xess__d3d12__execute__params__t.html#accb3d97fb6ba85e6560c9871010a3c57", null ],
- [ "inputWidth", "struct__xess__d3d12__execute__params__t.html#ad57863724c458e3583d0acb4be23cb7b", null ],
- [ "jitterOffsetX", "struct__xess__d3d12__execute__params__t.html#a701953ac726be26afde35ba21b1854f5", null ],
- [ "jitterOffsetY", "struct__xess__d3d12__execute__params__t.html#ab8fec73568168bc8ba655190c20b98b0", null ],
- [ "outputColorBase", "struct__xess__d3d12__execute__params__t.html#a6408622b605e51416238460aa3e58533", null ],
- [ "pColorTexture", "struct__xess__d3d12__execute__params__t.html#af0438b6fee2a81109430081d6d822090", null ],
- [ "pDepthTexture", "struct__xess__d3d12__execute__params__t.html#a0aced69da09a2f6ef2e7034270ca513c", null ],
- [ "pDescriptorHeap", "struct__xess__d3d12__execute__params__t.html#a6a5db20b91a54c5160e350c7ba544c51", null ],
- [ "pExposureScaleTexture", "struct__xess__d3d12__execute__params__t.html#a848453834ef179e0694c525051fbf493", null ],
- [ "pOutputTexture", "struct__xess__d3d12__execute__params__t.html#a680b0c0b8f150bd2f8a4bd07da22519e", null ],
- [ "pResponsivePixelMaskTexture", "struct__xess__d3d12__execute__params__t.html#aa9210e99440b1564285d6d88ddf4d789", null ],
- [ "pVelocityTexture", "struct__xess__d3d12__execute__params__t.html#a112aa451fae1a83e2bc6ffc999206c2a", null ],
- [ "reserved0", "struct__xess__d3d12__execute__params__t.html#a99430c650ba489b07be8478c32b22606", null ],
- [ "resetHistory", "struct__xess__d3d12__execute__params__t.html#af2336172df07c9d4a8d36a9a1f188a2e", null ]
-];
\ No newline at end of file
diff --git a/xess/doc/doxygen/struct__xess__d3d12__init__params__t.html b/xess/doc/doxygen/struct__xess__d3d12__init__params__t.html
deleted file mode 100644
index f9cd2b8..0000000
--- a/xess/doc/doxygen/struct__xess__d3d12__init__params__t.html
+++ /dev/null
@@ -1,308 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: _xess_d3d12_init_params_t Struct Reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Initialization parameters for Xe SS D3D12.
- More...
-
-
#include <xess_d3d12.h >
-
-
-
Initialization parameters for Xe SS D3D12.
-
-
Definition at line 86 of file xess_d3d12.h .
-
-
-
◆ bufferHeapOffset
-
-
-
-
-
- uint64_t bufferHeapOffset
-
-
-
-
Offset in the externally allocated heap for temporary buffer storage.
-
-
Definition at line 105 of file xess_d3d12.h .
-
-
-
-
-
◆ creationNodeMask
-
-
-
-
-
- uint32_t creationNodeMask
-
-
-
-
Specifies the node mask for internally created resources on multi-adapter systems.
-
-
Definition at line 96 of file xess_d3d12.h .
-
-
-
-
-
◆ initFlags
-
-
-
-
-
- uint32_t initFlags
-
-
-
-
Initialization flags.
-
-
Definition at line 93 of file xess_d3d12.h .
-
-
-
-
-
◆ outputResolution
-
-
-
-
Output width and height.
-
-
Definition at line 89 of file xess_d3d12.h .
-
-
-
-
-
◆ pPipelineLibrary
-
-
-
-
-
- ID3D12PipelineLibrary* pPipelineLibrary
-
-
-
-
Pointer to pipeline library. If not NULL will be used for pipeline caching.
-
-
Definition at line 113 of file xess_d3d12.h .
-
-
-
-
-
◆ pTempBufferHeap
-
-
-
-
-
- ID3D12Heap* pTempBufferHeap
-
-
-
-
Optional externally allocated buffer storage for Xe SS. If NULL the storage is allocated internally. If allocated, the heap type must be D3D12_HEAP_TYPE_DEFAULT. This heap is not accessed by the CPU.
-
-
Definition at line 103 of file xess_d3d12.h .
-
-
-
-
-
◆ pTempTextureHeap
-
-
-
-
-
- ID3D12Heap* pTempTextureHeap
-
-
-
-
Optional externally allocated texture storage for Xe SS. If NULL the storage is allocated internally. If allocated, the heap type must be D3D12_HEAP_TYPE_DEFAULT. This heap is not accessed by the CPU.
-
-
Definition at line 109 of file xess_d3d12.h .
-
-
-
-
-
◆ qualitySetting
-
-
-
-
◆ textureHeapOffset
-
-
-
-
-
- uint64_t textureHeapOffset
-
-
-
-
Offset in the externally allocated heap for temporary texture storage.
-
-
Definition at line 111 of file xess_d3d12.h .
-
-
-
-
-
◆ visibleNodeMask
-
-
-
-
-
- uint32_t visibleNodeMask
-
-
-
-
Specifies the node visibility mask for internally created resources on multi-adapter systems.
-
-
Definition at line 99 of file xess_d3d12.h .
-
-
-
-
The documentation for this struct was generated from the following file:
-D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess_d3d12.h
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/struct__xess__d3d12__init__params__t.js b/xess/doc/doxygen/struct__xess__d3d12__init__params__t.js
deleted file mode 100644
index b450712..0000000
--- a/xess/doc/doxygen/struct__xess__d3d12__init__params__t.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var struct__xess__d3d12__init__params__t =
-[
- [ "bufferHeapOffset", "struct__xess__d3d12__init__params__t.html#aca551e5731fdfe7679b6f3e24cc01d0c", null ],
- [ "creationNodeMask", "struct__xess__d3d12__init__params__t.html#a5a826e34a732802a584fc78091837dc4", null ],
- [ "initFlags", "struct__xess__d3d12__init__params__t.html#a2778ccc4a0cacda6c2c73482a77f6e05", null ],
- [ "outputResolution", "struct__xess__d3d12__init__params__t.html#adefd841ee2588585d89bf91ced85e84c", null ],
- [ "pPipelineLibrary", "struct__xess__d3d12__init__params__t.html#a254d1c85f1dde5405a267084da481ad9", null ],
- [ "pTempBufferHeap", "struct__xess__d3d12__init__params__t.html#a8b41cbb0e0c875bf2631ef6b414d4259", null ],
- [ "pTempTextureHeap", "struct__xess__d3d12__init__params__t.html#a32b6ed71e10b2df805c033b158f9d1f5", null ],
- [ "qualitySetting", "struct__xess__d3d12__init__params__t.html#ad1566e156f30842fc8a32e5e508094b2", null ],
- [ "textureHeapOffset", "struct__xess__d3d12__init__params__t.html#a9e2ba8ca5471d07e4bb30183deb00e56", null ],
- [ "visibleNodeMask", "struct__xess__d3d12__init__params__t.html#a153b79c833ddce15c33d78691a679ca3", null ]
-];
\ No newline at end of file
diff --git a/xess/doc/doxygen/struct__xess__dump__parameters__t.html b/xess/doc/doxygen/struct__xess__dump__parameters__t.html
deleted file mode 100644
index 254d361..0000000
--- a/xess/doc/doxygen/struct__xess__dump__parameters__t.html
+++ /dev/null
@@ -1,190 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: _xess_dump_parameters_t Struct Reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#include <xess_debug.h >
-
-
-
-
Definition at line 55 of file xess_debug.h .
-
-
-
◆ dump_elements_mask
-
-
-
-
Bitset showing set of elements that must be dumped. Element will be dumped if it exist and corrseponding bit is not 0. Since it's meaningless to call Dump with empty set value of 0 will mean DUMP_ALL_INPUTS
-
-
Definition at line 73 of file xess_debug.h .
-
-
-
-
-
◆ frame_count
-
-
-
-
-
- uint32_t frame_count
-
-
-
-
Frame count to dump. Few frames less may be dumped due to possible frames in flight in application
-
-
Definition at line 68 of file xess_debug.h .
-
-
-
-
-
◆ frame_idx
-
-
-
-
-
- uint32_t frame_idx
-
-
-
-
Frame index. Will be used as start for frame sequence.
-
-
Definition at line 64 of file xess_debug.h .
-
-
-
-
-
◆ path
-
-
-
-
NULL-terminated ASCII string to existing folder where dump files should be written. Library do not create the folder. Files in provided folder will be overwritten.
-
-
Definition at line 62 of file xess_debug.h .
-
-
-
-
The documentation for this struct was generated from the following file:
-D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess_debug.h
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/struct__xess__dump__parameters__t.js b/xess/doc/doxygen/struct__xess__dump__parameters__t.js
deleted file mode 100644
index 72b22c9..0000000
--- a/xess/doc/doxygen/struct__xess__dump__parameters__t.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var struct__xess__dump__parameters__t =
-[
- [ "dump_elements_mask", "struct__xess__dump__parameters__t.html#a1dd8e9870444dc41b3c1602b15dae269", null ],
- [ "frame_count", "struct__xess__dump__parameters__t.html#ae3e00071db1070451c10872b09360cad", null ],
- [ "frame_idx", "struct__xess__dump__parameters__t.html#a675e89be435aec170285f3a1e7e25edf", null ],
- [ "path", "struct__xess__dump__parameters__t.html#a3b02c6de5c049804444a246f7fdf46b4", null ]
-];
\ No newline at end of file
diff --git a/xess/doc/doxygen/struct__xess__profiled__frame__data__t.html b/xess/doc/doxygen/struct__xess__profiled__frame__data__t.html
deleted file mode 100644
index 08cfe07..0000000
--- a/xess/doc/doxygen/struct__xess__profiled__frame__data__t.html
+++ /dev/null
@@ -1,190 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: _xess_profiled_frame_data_t Struct Reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#include <xess_d3d12_debug.h >
-
-
-
-
Definition at line 61 of file xess_d3d12_debug.h .
-
-
-
◆ frame_index
-
-
-
-
-
- uint64_t frame_index
-
-
-
-
-
-
◆ gpu_duration_names
-
-
-
-
-
- const char* const* gpu_duration_names
-
-
-
-
Pointer to an internal array of duration names.
-
-
Definition at line 68 of file xess_d3d12_debug.h .
-
-
-
-
-
◆ gpu_duration_record_count
-
-
-
-
-
- uint64_t gpu_duration_record_count
-
-
-
-
Total labeled gpu duration records stored in gpu_duration* arrays.
-
-
Definition at line 66 of file xess_d3d12_debug.h .
-
-
-
-
-
◆ gpu_duration_values
-
-
-
-
-
- const double* gpu_duration_values
-
-
-
-
Pointer to an internal array of duration values. [seconds]
-
-
Definition at line 70 of file xess_d3d12_debug.h .
-
-
-
-
The documentation for this struct was generated from the following file:
-D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess_d3d12_debug.h
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/struct__xess__profiled__frame__data__t.js b/xess/doc/doxygen/struct__xess__profiled__frame__data__t.js
deleted file mode 100644
index c8cd6ad..0000000
--- a/xess/doc/doxygen/struct__xess__profiled__frame__data__t.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var struct__xess__profiled__frame__data__t =
-[
- [ "frame_index", "struct__xess__profiled__frame__data__t.html#a7b9f42d4c57d1fe01c782d735be98074", null ],
- [ "gpu_duration_names", "struct__xess__profiled__frame__data__t.html#a46e787a4e8a96da32fe2b173f3720d6f", null ],
- [ "gpu_duration_record_count", "struct__xess__profiled__frame__data__t.html#ab142b6f60de7c00c227011353cb602e5", null ],
- [ "gpu_duration_values", "struct__xess__profiled__frame__data__t.html#a8f6650843400b1532bdd0ce000a0e689", null ]
-];
\ No newline at end of file
diff --git a/xess/doc/doxygen/struct__xess__profiling__data__t.html b/xess/doc/doxygen/struct__xess__profiling__data__t.html
deleted file mode 100644
index caa0828..0000000
--- a/xess/doc/doxygen/struct__xess__profiling__data__t.html
+++ /dev/null
@@ -1,171 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: _xess_profiling_data_t Struct Reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#include <xess_d3d12_debug.h >
-
-
-
-
Definition at line 75 of file xess_d3d12_debug.h .
-
-
-
◆ any_profiling_data_in_flight
-
-
-
-
-
- uint32_t any_profiling_data_in_flight
-
-
-
-
Flag indicating if more profiling data will be available when GPU finishes executing submitted frames. Useful to collect profiling data without forcing full CPU-GPU sync. Zero value indicates no pending profiling data.
-
-
Definition at line 86 of file xess_d3d12_debug.h .
-
-
-
-
-
◆ frame_count
-
-
-
-
-
- uint64_t frame_count
-
-
-
-
Total profiled frame records storage in frames/executions array.
-
-
Definition at line 78 of file xess_d3d12_debug.h .
-
-
-
-
-
◆ frames
-
-
-
-
Pointers to an internal storage with per frame/execution data.
-
-
Definition at line 80 of file xess_d3d12_debug.h .
-
-
-
-
The documentation for this struct was generated from the following file:
-D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess_d3d12_debug.h
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/struct__xess__profiling__data__t.js b/xess/doc/doxygen/struct__xess__profiling__data__t.js
deleted file mode 100644
index 0948c95..0000000
--- a/xess/doc/doxygen/struct__xess__profiling__data__t.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var struct__xess__profiling__data__t =
-[
- [ "any_profiling_data_in_flight", "struct__xess__profiling__data__t.html#a7ce6d3494f6a8695edf94fcad38c455e", null ],
- [ "frame_count", "struct__xess__profiling__data__t.html#a75021619d6a71e1e1a4ea1efb3c62138", null ],
- [ "frames", "struct__xess__profiling__data__t.html#a34fa47cf13f15a0c84ae5bc36f08fc1e", null ]
-];
\ No newline at end of file
diff --git a/xess/doc/doxygen/struct__xess__properties__t.html b/xess/doc/doxygen/struct__xess__properties__t.html
deleted file mode 100644
index 3359bf0..0000000
--- a/xess/doc/doxygen/struct__xess__properties__t.html
+++ /dev/null
@@ -1,175 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: _xess_properties_t Struct Reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Properties for internal Xe SS resources.
- More...
-
-
#include <xess.h >
-
-
-
Properties for internal Xe SS resources.
-
-
Definition at line 130 of file xess.h .
-
-
-
◆ requiredDescriptorCount
-
-
-
-
-
- uint32_t requiredDescriptorCount
-
-
-
-
Required amount of descriptors for Xe SS
-
-
Definition at line 133 of file xess.h .
-
-
-
-
-
◆ tempBufferHeapSize
-
-
-
-
-
- uint64_t tempBufferHeapSize
-
-
-
-
The heap size required by Xe SS for temporary buffer storage.
-
-
Definition at line 135 of file xess.h .
-
-
-
-
-
◆ tempTextureHeapSize
-
-
-
-
-
- uint64_t tempTextureHeapSize
-
-
-
-
The heap size required by Xe SS for temporary texture storage.
-
-
Definition at line 137 of file xess.h .
-
-
-
-
The documentation for this struct was generated from the following file:
-D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess.h
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/struct__xess__properties__t.js b/xess/doc/doxygen/struct__xess__properties__t.js
deleted file mode 100644
index 3fe4de6..0000000
--- a/xess/doc/doxygen/struct__xess__properties__t.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var struct__xess__properties__t =
-[
- [ "requiredDescriptorCount", "struct__xess__properties__t.html#a2dc96375a6205c03219a9904a568c01c", null ],
- [ "tempBufferHeapSize", "struct__xess__properties__t.html#a0db8617705e860098e048d7f3e5466ff", null ],
- [ "tempTextureHeapSize", "struct__xess__properties__t.html#a209e8c58699154a12ca8c51d190565ee", null ]
-];
\ No newline at end of file
diff --git a/xess/doc/doxygen/struct__xess__resources__to__dump__t.html b/xess/doc/doxygen/struct__xess__resources__to__dump__t.html
deleted file mode 100644
index 7c843f4..0000000
--- a/xess/doc/doxygen/struct__xess__resources__to__dump__t.html
+++ /dev/null
@@ -1,261 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: _xess_resources_to_dump_t Struct Reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#include <xess_d3d12_debug.h >
-
-
-
-
Definition at line 34 of file xess_d3d12_debug.h .
-
-
-
◆ as_tensor
-
-
-
-
-
- const uint32_t* as_tensor
-
-
-
-
-
-
◆ border_pixels_to_skip_count
-
-
-
-
-
- const uint32_t* border_pixels_to_skip_count
-
-
-
-
-
-
◆ resource_count
-
-
-
-
-
- uint32_t resource_count
-
-
-
-
Total resource count. In case it equal to zero content of other structure members is undefined.
-
-
Definition at line 37 of file xess_d3d12_debug.h .
-
-
-
-
-
◆ resource_names
-
-
-
-
-
- const char* const* resource_names
-
-
-
-
Pointer to an internal array of D3D12 resource names. Array length is resource_count
.
-
-
Definition at line 41 of file xess_d3d12_debug.h .
-
-
-
-
-
◆ resources
-
-
-
-
-
- ID3D12Resource* const* resources
-
-
-
-
Pointer to an internal array of D3D12 resources. Array length is resource_count
.
-
-
Definition at line 39 of file xess_d3d12_debug.h .
-
-
-
-
-
◆ tensor_channel_count
-
-
-
-
-
- const uint32_t* tensor_channel_count
-
-
-
-
-
-
◆ tensor_height
-
-
-
-
-
- const uint32_t* tensor_height
-
-
-
-
-
-
◆ tensor_width
-
-
-
-
-
- const uint32_t* tensor_width
-
-
-
-
-
The documentation for this struct was generated from the following file:
-D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess_d3d12_debug.h
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/struct__xess__resources__to__dump__t.js b/xess/doc/doxygen/struct__xess__resources__to__dump__t.js
deleted file mode 100644
index ac782a7..0000000
--- a/xess/doc/doxygen/struct__xess__resources__to__dump__t.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var struct__xess__resources__to__dump__t =
-[
- [ "as_tensor", "struct__xess__resources__to__dump__t.html#a055a00bb33a3ade096f537cee6d614ca", null ],
- [ "border_pixels_to_skip_count", "struct__xess__resources__to__dump__t.html#a4b329d03d60ffb48e496e41169018a31", null ],
- [ "resource_count", "struct__xess__resources__to__dump__t.html#afa5d343e953478907a576e9c372a5838", null ],
- [ "resource_names", "struct__xess__resources__to__dump__t.html#a4f61a0f5b6b502a4cd89405410853fde", null ],
- [ "resources", "struct__xess__resources__to__dump__t.html#aeb3cb43b5376fe80794c4f5e4b47ff68", null ],
- [ "tensor_channel_count", "struct__xess__resources__to__dump__t.html#ae59e9714ae9a69c614783e31a585a221", null ],
- [ "tensor_height", "struct__xess__resources__to__dump__t.html#a7d6bf0ceee8b6abbb2678a630531e4fb", null ],
- [ "tensor_width", "struct__xess__resources__to__dump__t.html#a1b5c859fbf4a5eb748d5381e6063f673", null ]
-];
\ No newline at end of file
diff --git a/xess/doc/doxygen/struct__xess__version__t.html b/xess/doc/doxygen/struct__xess__version__t.html
deleted file mode 100644
index 2f2e06a..0000000
--- a/xess/doc/doxygen/struct__xess__version__t.html
+++ /dev/null
@@ -1,195 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: _xess_version_t Struct Reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Xe SS version.
- More...
-
-
#include <xess.h >
-
-
-
Xe SS version.
-
Xe SS uses major.minor.patch version format and Numeric 90+ scheme for development stage builds.
-
-
Definition at line 57 of file xess.h .
-
-
-
◆ major
-
-
-
-
A major version increment indicates a new API and potentially a break in functionality.
-
-
Definition at line 61 of file xess.h .
-
-
-
-
-
◆ minor
-
-
-
-
A minor version increment indicates incremental changes such as optional inputs or flags. This does not break existing functionality.
-
-
Definition at line 64 of file xess.h .
-
-
-
-
-
◆ patch
-
-
-
-
A patch version increment may include performance or quality tweaks or fixes for known issues. There's no change in the interfaces. Versions beyond 90 used for development builds to change the interface for the next release.
-
-
Definition at line 69 of file xess.h .
-
-
-
-
-
◆ reserved
-
-
-
-
-
- uint16_t reserved
-
-
-
-
Reserved for future use.
-
-
Definition at line 71 of file xess.h .
-
-
-
-
The documentation for this struct was generated from the following file:
-D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess.h
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/struct__xess__version__t.js b/xess/doc/doxygen/struct__xess__version__t.js
deleted file mode 100644
index 38bfdab..0000000
--- a/xess/doc/doxygen/struct__xess__version__t.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var struct__xess__version__t =
-[
- [ "major", "struct__xess__version__t.html#a600930655b7237315b72223c48327ea8", null ],
- [ "minor", "struct__xess__version__t.html#a9f280ce3ae5b6cd9346fd7a09ff29168", null ],
- [ "patch", "struct__xess__version__t.html#ab74656704767a7e73da4cd20dfd51a5d", null ],
- [ "reserved", "struct__xess__version__t.html#a5a6ed8c04a3db86066924b1a1bf4dad3", null ]
-];
\ No newline at end of file
diff --git a/xess/doc/doxygen/sync_off.png b/xess/doc/doxygen/sync_off.png
deleted file mode 100644
index 3b443fc..0000000
Binary files a/xess/doc/doxygen/sync_off.png and /dev/null differ
diff --git a/xess/doc/doxygen/sync_on.png b/xess/doc/doxygen/sync_on.png
deleted file mode 100644
index e08320f..0000000
Binary files a/xess/doc/doxygen/sync_on.png and /dev/null differ
diff --git a/xess/doc/doxygen/tab_a.png b/xess/doc/doxygen/tab_a.png
deleted file mode 100644
index 3b725c4..0000000
Binary files a/xess/doc/doxygen/tab_a.png and /dev/null differ
diff --git a/xess/doc/doxygen/tab_b.png b/xess/doc/doxygen/tab_b.png
deleted file mode 100644
index e2b4a86..0000000
Binary files a/xess/doc/doxygen/tab_b.png and /dev/null differ
diff --git a/xess/doc/doxygen/tab_h.png b/xess/doc/doxygen/tab_h.png
deleted file mode 100644
index fd5cb70..0000000
Binary files a/xess/doc/doxygen/tab_h.png and /dev/null differ
diff --git a/xess/doc/doxygen/tab_s.png b/xess/doc/doxygen/tab_s.png
deleted file mode 100644
index ab478c9..0000000
Binary files a/xess/doc/doxygen/tab_s.png and /dev/null differ
diff --git a/xess/doc/doxygen/tabs.css b/xess/doc/doxygen/tabs.css
deleted file mode 100644
index 00d1c60..0000000
--- a/xess/doc/doxygen/tabs.css
+++ /dev/null
@@ -1 +0,0 @@
-.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:#666;-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
\ No newline at end of file
diff --git a/xess/doc/doxygen/xess_8h.html b/xess/doc/doxygen/xess_8h.html
deleted file mode 100644
index 23c42fb..0000000
--- a/xess/doc/doxygen/xess_8h.html
+++ /dev/null
@@ -1,656 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess.h File Reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#include <stdint.h>
-
-
Go to the source code of this file.
-
-
-enum _xess_quality_settings_t { XESS_QUALITY_SETTING_PERFORMANCE = 101
-, XESS_QUALITY_SETTING_BALANCED = 102
-, XESS_QUALITY_SETTING_QUALITY = 103
-, XESS_QUALITY_SETTING_ULTRA_QUALITY = 104
- }
- Xe SS quality settings. More...
-
-enum _xess_init_flags_t {
- XESS_INIT_FLAG_NONE = 0
-, XESS_INIT_FLAG_HIGH_RES_MV = 1 << 0
-, XESS_INIT_FLAG_INVERTED_DEPTH = 1 << 1
-, XESS_INIT_FLAG_EXPOSURE_SCALE_TEXTURE = 1 << 2
-,
- XESS_INIT_FLAG_RESPONSIVE_PIXEL_MASK = 1 << 3
-, XESS_INIT_FLAG_USE_NDC_VELOCITY = 1 << 4
-, XESS_INIT_FLAG_EXTERNAL_DESCRIPTOR_HEAP = 1 << 5
-, XESS_INIT_FLAG_LDR_INPUT_COLOR = 1 << 6
-,
- XESS_INIT_FLAG_JITTERED_MV = 1 << 7
-
- }
- Xe SS initialization flags. More...
-
-enum _xess_result_t {
- XESS_RESULT_WARNING_NONEXISTING_FOLDER = 1
-, XESS_RESULT_SUCCESS = 0
-, XESS_RESULT_ERROR_UNSUPPORTED_DEVICE = -1
-, XESS_RESULT_ERROR_UNSUPPORTED_DRIVER = -2
-,
- XESS_RESULT_ERROR_UNINITIALIZED = -3
-, XESS_RESULT_ERROR_INVALID_ARGUMENT = -4
-, XESS_RESULT_ERROR_DEVICE_OUT_OF_MEMORY = -5
-, XESS_RESULT_ERROR_DEVICE = -6
-,
- XESS_RESULT_ERROR_NOT_IMPLEMENTED = -7
-, XESS_RESULT_ERROR_INVALID_CONTEXT = -8
-, XESS_RESULT_ERROR_OPERATION_IN_PROGRESS = -9
-, XESS_RESULT_ERROR_UNSUPPORTED = -10
-,
- XESS_RESULT_ERROR_CANT_LOAD_LIBRARY = -11
-, XESS_RESULT_ERROR_UNKNOWN = -1000
-
- }
- Xe SS return codes. More...
-
-enum _xess_logging_level_t { XESS_LOGGING_LEVEL_DEBUG = 0
-, XESS_LOGGING_LEVEL_INFO = 1
-, XESS_LOGGING_LEVEL_WARNING = 2
-, XESS_LOGGING_LEVEL_ERROR = 3
- }
- Xe SS logging level. More...
-
-
-
-XESS_API xess_result_t xessGetVersion (xess_version_t *pVersion)
- Gets the Xe SS version. This is baked into the Xe SS SDK release. More...
-
-XESS_API xess_result_t xessGetIntelXeFXVersion (xess_context_handle_t hContext, xess_version_t *pVersion)
- Gets the version of the loaded Intel XeFX library. When running on Intel platforms this function will return the version of the loaded Intel XeFX library, for other platforms 0.0.0 will be returned. More...
-
-XESS_API xess_result_t xessGetProperties (xess_context_handle_t hContext, const xess_2d_t *pOutputResolution, xess_properties_t *pBindingProperties)
- Gets Xe SS internal resources properties. More...
-
-XESS_API xess_result_t xessGetInputResolution (xess_context_handle_t hContext, const xess_2d_t *pOutputResolution, xess_quality_settings_t qualitySettings, xess_2d_t *pInputResolution)
- Get the input resolution for a specified output resolution for a given quality setting. Xe SS expects all the input buffers except motion vectors to be in the returned resolution. Motion vectors can be either in output resolution (XESS_INIT_FLAG_HIGH_RES_MV) or returned resolution (default). More...
-
-XESS_API xess_result_t xessDestroyContext (xess_context_handle_t hContext)
- Destroys the Xe SS context. The user must ensure that any pending command lists are completed before destroying the context. More...
-
-XESS_API xess_result_t xessSetJitterScale (xess_context_handle_t hContext, float x, float y)
-
-XESS_API xess_result_t xessSetVelocityScale (xess_context_handle_t hContext, float x, float y)
-
-XESS_API xess_result_t xessSetLoggingCallback (xess_context_handle_t hContext, xess_logging_level_t loggingLevel, xess_app_log_callback_t loggingCallback)
-
-
-
-
-
◆ XESS_API
-
-
-
-
-
Definition at line 31 of file xess.h .
-
-
-
-
-
◆ XESS_PACK_B
-
-
-
-
-
Definition at line 41 of file xess.h .
-
-
-
-
-
◆ XESS_PACK_B_X
-
-
-
-
-
- #define XESS_PACK_B_X
- (
-
- x )
- XESS_PRAGMA (pack(push, x))
-
-
-
-
-
Definition at line 39 of file xess.h .
-
-
-
-
-
◆ XESS_PACK_E
-
-
-
-
-
- #define XESS_PACK_E
- (
- )
- XESS_PRAGMA (pack(pop))
-
-
-
-
-
Definition at line 40 of file xess.h .
-
-
-
-
-
◆ XESS_PRAGMA
-
-
-
-
-
- #define XESS_PRAGMA
- (
-
- x )
- _Pragma(#x)
-
-
-
-
-
Definition at line 35 of file xess.h .
-
-
-
-
-
-
◆ sizecheck__LINE__
-
-
-
-
-
Definition at line 286 of file xess.h .
-
-
-
-
-
◆ xess_2d_t
-
-
-
-
◆ xess_app_log_callback_t
-
-
-
-
-
- typedef void(* xess_app_log_callback_t) (const char *message, xess_logging_level_t loging_level)
-
-
-
-
A logging callback provided by the application. This callback can be called from other threads. Message pointer are only valid inside function and may be invalid right after return call. Message is a null-terminated utf-8 string
-
-
Definition at line 192 of file xess.h .
-
-
-
-
-
◆ xess_context_handle_t
-
-
-
-
-
Definition at line 49 of file xess.h .
-
-
-
-
-
◆ xess_coord_t
-
-
-
-
-
2D coordinates.
-
-
Definition at line 89 of file xess.h .
-
-
-
-
-
◆ xess_init_flags_t
-
-
-
-
-
Xe SS initialization flags.
-
-
-
-
-
◆ xess_logging_level_t
-
-
-
-
-
Xe SS logging level.
-
-
-
-
-
◆ xess_properties_t
-
-
-
-
-
Properties for internal Xe SS resources.
-
-
-
-
-
◆ xess_quality_settings_t
-
-
-
-
-
Xe SS quality settings.
-
-
-
-
-
◆ xess_result_t
-
-
-
-
-
Xe SS return codes.
-
-
-
-
-
◆ xess_version_t
-
-
-
-
-
Xe SS version.
-
Xe SS uses major.minor.patch version format and Numeric 90+ scheme for development stage builds.
-
-
-
-
-
-
◆ _xess_init_flags_t
-
-
-
-
-
Xe SS initialization flags.
-
-Enumerator XESS_INIT_FLAG_NONE
- XESS_INIT_FLAG_HIGH_RES_MV Use motion vectors at target resolution.
-
- XESS_INIT_FLAG_INVERTED_DEPTH Use inverted (increased precision) depth encoding
-
- XESS_INIT_FLAG_EXPOSURE_SCALE_TEXTURE Use exposure texture to scale input color.
-
- XESS_INIT_FLAG_RESPONSIVE_PIXEL_MASK Use responsive pixel mask texture.
-
- XESS_INIT_FLAG_USE_NDC_VELOCITY Use velocity in NDC
-
- XESS_INIT_FLAG_EXTERNAL_DESCRIPTOR_HEAP Use external descriptor heap
-
- XESS_INIT_FLAG_LDR_INPUT_COLOR Disable tonemapping for input and output
-
- XESS_INIT_FLAG_JITTERED_MV Remove jitter from input velocity
-
-
-
-
Definition at line 105 of file xess.h .
-
-
-
-
-
◆ _xess_logging_level_t
-
-
-
-
-
Xe SS logging level.
-
-Enumerator XESS_LOGGING_LEVEL_DEBUG
- XESS_LOGGING_LEVEL_INFO
- XESS_LOGGING_LEVEL_WARNING
- XESS_LOGGING_LEVEL_ERROR
-
-
-
Definition at line 179 of file xess.h .
-
-
-
-
-
◆ _xess_quality_settings_t
-
-
-
-
-
Xe SS quality settings.
-
-Enumerator XESS_QUALITY_SETTING_PERFORMANCE
- XESS_QUALITY_SETTING_BALANCED
- XESS_QUALITY_SETTING_QUALITY
- XESS_QUALITY_SETTING_ULTRA_QUALITY
-
-
-
Definition at line 94 of file xess.h .
-
-
-
-
-
◆ _xess_result_t
-
-
-
-
-
Xe SS return codes.
-
-Enumerator XESS_RESULT_WARNING_NONEXISTING_FOLDER Warning. Folder to store dump data doesn't exist. Write operation skipped.
-
- XESS_RESULT_SUCCESS Xe SS operation was successful.
-
- XESS_RESULT_ERROR_UNSUPPORTED_DEVICE Xe SS not supported on the GPU. An SM 6.4 capable GPU is required.
-
- XESS_RESULT_ERROR_UNSUPPORTED_DRIVER An outdated driver.
-
- XESS_RESULT_ERROR_UNINITIALIZED Execute called without initialization.
-
- XESS_RESULT_ERROR_INVALID_ARGUMENT Invalid argument such as descriptor handles.
-
- XESS_RESULT_ERROR_DEVICE_OUT_OF_MEMORY Not enough available GPU memory.
-
- XESS_RESULT_ERROR_DEVICE Device function such as resource or descriptor creation.
-
- XESS_RESULT_ERROR_NOT_IMPLEMENTED The function is not implemented
-
- XESS_RESULT_ERROR_INVALID_CONTEXT Invalid context.
-
- XESS_RESULT_ERROR_OPERATION_IN_PROGRESS Operation not finished yet.
-
- XESS_RESULT_ERROR_UNSUPPORTED Operation not supported in current configuration.
-
- XESS_RESULT_ERROR_CANT_LOAD_LIBRARY The library cannot be loaded.
-
- XESS_RESULT_ERROR_UNKNOWN Unknown internal failure
-
-
-
-
Definition at line 144 of file xess.h .
-
-
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/xess_8h.js b/xess/doc/doxygen/xess_8h.js
deleted file mode 100644
index 2b3499b..0000000
--- a/xess/doc/doxygen/xess_8h.js
+++ /dev/null
@@ -1,69 +0,0 @@
-var xess_8h =
-[
- [ "_xess_version_t", "struct__xess__version__t.html", "struct__xess__version__t" ],
- [ "_xess_2d_t", "struct__xess__2d__t.html", "struct__xess__2d__t" ],
- [ "_xess_properties_t", "struct__xess__properties__t.html", "struct__xess__properties__t" ],
- [ "XESS_API", "xess_8h.html#ac7ba74abaad1e5cf4ca1fffa7fee838c", null ],
- [ "XESS_PACK_B", "xess_8h.html#a3c68605bee1e217a930c4ae6aa218fd1", null ],
- [ "XESS_PACK_B_X", "xess_8h.html#a0cbf0d6231ec6ae03e685f2ddee69a95", null ],
- [ "XESS_PACK_E", "xess_8h.html#a36808d4ffd35a951c364418a19468cf8", null ],
- [ "XESS_PRAGMA", "xess_8h.html#af3af4f4afda4277313b1b91dbf1f7497", null ],
- [ "sizecheck__LINE__", "xess_8h.html#a8b1577973a08cac2cbbe31bb1297eff5", null ],
- [ "xess_2d_t", "xess_8h.html#a3839d654f9989ed64bc09f3a93f16bbb", null ],
- [ "xess_app_log_callback_t", "xess_8h.html#a6c757a86356ec78ea12f7a0569a945f8", null ],
- [ "xess_context_handle_t", "xess_8h.html#af31f441c4909f7bbf9fb4491b5f9b927", null ],
- [ "xess_coord_t", "xess_8h.html#ab4b757ead636df148ed7dbcaf8a86d2f", null ],
- [ "xess_init_flags_t", "xess_8h.html#a4d9dd06b8ad6424f988f53522f8969a8", null ],
- [ "xess_logging_level_t", "xess_8h.html#a6432053aa5103ccd9df8618a7eaaacb8", null ],
- [ "xess_properties_t", "xess_8h.html#a81c9ce6225897595f26130f90c41f3e2", null ],
- [ "xess_quality_settings_t", "xess_8h.html#a2a85ea1304caf14b2c008457ee75c7cc", null ],
- [ "xess_result_t", "xess_8h.html#a3aa6a07808627ac723a9da324abf10b4", null ],
- [ "xess_version_t", "xess_8h.html#a5b198528154044a5bc33a464e62d34a0", null ],
- [ "_xess_init_flags_t", "xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1", [
- [ "XESS_INIT_FLAG_NONE", "xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a93cdd13324042072081453aeaadf0e1e", null ],
- [ "XESS_INIT_FLAG_HIGH_RES_MV", "xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a88dbf4a687acc9bd1281778570c7c757", null ],
- [ "XESS_INIT_FLAG_INVERTED_DEPTH", "xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a91fe3728f6cafc03e6da0a064389859a", null ],
- [ "XESS_INIT_FLAG_EXPOSURE_SCALE_TEXTURE", "xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a99164122cf8c776c7ce5bfdfe3fd0492", null ],
- [ "XESS_INIT_FLAG_RESPONSIVE_PIXEL_MASK", "xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1ad1f14cc0ac79131e639d3bab61c5f48c", null ],
- [ "XESS_INIT_FLAG_USE_NDC_VELOCITY", "xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a2c868f941d0829edc844b93bd76cf0f2", null ],
- [ "XESS_INIT_FLAG_EXTERNAL_DESCRIPTOR_HEAP", "xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a7a765c7ec24c2b4193baf2e0a30fb4c7", null ],
- [ "XESS_INIT_FLAG_LDR_INPUT_COLOR", "xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a0eb16d799c44bab1bbf3c59dfd97ceb9", null ],
- [ "XESS_INIT_FLAG_JITTERED_MV", "xess_8h.html#a4f25323a8c073a84d49a93e0cdeaddf1a8390a8a09d1f38a88608644929954028", null ]
- ] ],
- [ "_xess_logging_level_t", "xess_8h.html#a12f0fd50664b1a61319821499ec24721", [
- [ "XESS_LOGGING_LEVEL_DEBUG", "xess_8h.html#a12f0fd50664b1a61319821499ec24721a526588cb8c0fe38b7bb35479bd44b710", null ],
- [ "XESS_LOGGING_LEVEL_INFO", "xess_8h.html#a12f0fd50664b1a61319821499ec24721a02d7dfe8174efddabcf108baf804b4a6", null ],
- [ "XESS_LOGGING_LEVEL_WARNING", "xess_8h.html#a12f0fd50664b1a61319821499ec24721a089568d56d50438813be38513b886486", null ],
- [ "XESS_LOGGING_LEVEL_ERROR", "xess_8h.html#a12f0fd50664b1a61319821499ec24721a7142dcde3f8100558086ad32c674242b", null ]
- ] ],
- [ "_xess_quality_settings_t", "xess_8h.html#acc1be3e82183f25c7188fa6b5cbf1e34", [
- [ "XESS_QUALITY_SETTING_PERFORMANCE", "xess_8h.html#acc1be3e82183f25c7188fa6b5cbf1e34a375807073d5e41d49599bc4c3796a298", null ],
- [ "XESS_QUALITY_SETTING_BALANCED", "xess_8h.html#acc1be3e82183f25c7188fa6b5cbf1e34af42585b087b48ac84f15147eca7f84fc", null ],
- [ "XESS_QUALITY_SETTING_QUALITY", "xess_8h.html#acc1be3e82183f25c7188fa6b5cbf1e34aad6611bfc9d8b4367d40cc4341781071", null ],
- [ "XESS_QUALITY_SETTING_ULTRA_QUALITY", "xess_8h.html#acc1be3e82183f25c7188fa6b5cbf1e34a2307f69631f48661ec35997e6b9dfa7b", null ]
- ] ],
- [ "_xess_result_t", "xess_8h.html#a31952a580a4d5d26c6224183f62d2612", [
- [ "XESS_RESULT_WARNING_NONEXISTING_FOLDER", "xess_8h.html#a31952a580a4d5d26c6224183f62d2612a7f8d0f6dc01ba497911fdbdb02b05a45", null ],
- [ "XESS_RESULT_SUCCESS", "xess_8h.html#a31952a580a4d5d26c6224183f62d2612afd64586bcb0f0638509e4ae5506c72cf", null ],
- [ "XESS_RESULT_ERROR_UNSUPPORTED_DEVICE", "xess_8h.html#a31952a580a4d5d26c6224183f62d2612a00eab4ebb1fb95a65e2b4d82981fb3f8", null ],
- [ "XESS_RESULT_ERROR_UNSUPPORTED_DRIVER", "xess_8h.html#a31952a580a4d5d26c6224183f62d2612a15bd2bd2e7ae00b9ddd87fa5a43b1ee2", null ],
- [ "XESS_RESULT_ERROR_UNINITIALIZED", "xess_8h.html#a31952a580a4d5d26c6224183f62d2612a635c3fdf5ff04d037167f1cb37d46e23", null ],
- [ "XESS_RESULT_ERROR_INVALID_ARGUMENT", "xess_8h.html#a31952a580a4d5d26c6224183f62d2612a30021fa62d2929cc6bf0d47d07e3c59e", null ],
- [ "XESS_RESULT_ERROR_DEVICE_OUT_OF_MEMORY", "xess_8h.html#a31952a580a4d5d26c6224183f62d2612ac8e207e9005b05302499f10cda8d58f5", null ],
- [ "XESS_RESULT_ERROR_DEVICE", "xess_8h.html#a31952a580a4d5d26c6224183f62d2612a47d58f63ff4815586df793c60eed4dc0", null ],
- [ "XESS_RESULT_ERROR_NOT_IMPLEMENTED", "xess_8h.html#a31952a580a4d5d26c6224183f62d2612a1953e4a40daecb661d97b031c38ce1f6", null ],
- [ "XESS_RESULT_ERROR_INVALID_CONTEXT", "xess_8h.html#a31952a580a4d5d26c6224183f62d2612a27d5e96802336368594096df18a1ae06", null ],
- [ "XESS_RESULT_ERROR_OPERATION_IN_PROGRESS", "xess_8h.html#a31952a580a4d5d26c6224183f62d2612a8ca9ff62f59f7b647e62dc3c52ec6ac8", null ],
- [ "XESS_RESULT_ERROR_UNSUPPORTED", "xess_8h.html#a31952a580a4d5d26c6224183f62d2612aa1255da83c4c0fcc2b4a2d7bb4af02bf", null ],
- [ "XESS_RESULT_ERROR_CANT_LOAD_LIBRARY", "xess_8h.html#a31952a580a4d5d26c6224183f62d2612ab0c58d47a6858d66925b00e17bda81f5", null ],
- [ "XESS_RESULT_ERROR_UNKNOWN", "xess_8h.html#a31952a580a4d5d26c6224183f62d2612a1a08d6aec7e38e2f0bd03893c05b9d2f", null ]
- ] ],
- [ "xessDestroyContext", "group__xess.html#gae5d88d9bdb50033ab254aa2e692c9bc0", null ],
- [ "xessGetInputResolution", "group__xess.html#ga6ed6ab924e0a41ff56485b562acd5073", null ],
- [ "xessGetIntelXeFXVersion", "group__xess.html#ga88ea52641806d14ef5a4995b5d78ea91", null ],
- [ "xessGetProperties", "group__xess.html#gaae4893a4bfed059402ca55f256738773", null ],
- [ "xessGetVersion", "group__xess.html#ga0fc6e0c7b21322a0af96f1ee1e4667d3", null ],
- [ "xessSetJitterScale", "group__xess.html#ga30e9bee98f90568e6a9d39bd7d1ccd74", null ],
- [ "xessSetLoggingCallback", "group__xess.html#gaaf68a347af5e5c9c1e518f0bc5daaf1c", null ],
- [ "xessSetVelocityScale", "group__xess.html#ga0f95b12fe2611b877d72efdd9f050639", null ]
-];
\ No newline at end of file
diff --git a/xess/doc/doxygen/xess_8h_source.html b/xess/doc/doxygen/xess_8h_source.html
deleted file mode 100644
index 734e292..0000000
--- a/xess/doc/doxygen/xess_8h_source.html
+++ /dev/null
@@ -1,334 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess.h Source File
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Go to the documentation of this file.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
23 #define XESS_API __declspec(dllexport)
-
-
25 #define XESS_API __declspec(dllimport)
-
-
-
28 #define XESS_API __attribute__((visibility("default" )))
-
-
-
-
-
-
34 #if !defined _MSC_VER || (_MSC_VER >= 1928)
-
35 #define XESS_PRAGMA(x) _Pragma(#x)
-
-
37 #define XESS_PRAGMA(x) __pragma(x)
-
-
39 #define XESS_PACK_B_X(x) XESS_PRAGMA(pack(push, x))
-
40 #define XESS_PACK_E() XESS_PRAGMA(pack(pop))
-
41 #define XESS_PACK_B() XESS_PACK_B_X(8)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
194 #ifndef XESS_TYPES_ONLY
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
XESS_API xess_result_t xessSetVelocityScale(xess_context_handle_t hContext, float x, float y)
-
XESS_API xess_result_t xessGetVersion(xess_version_t *pVersion)
Gets the XeSS version. This is baked into the XeSS SDK release.
-
XESS_API xess_result_t xessSetJitterScale(xess_context_handle_t hContext, float x, float y)
-
XESS_API xess_result_t xessGetInputResolution(xess_context_handle_t hContext, const xess_2d_t *pOutputResolution, xess_quality_settings_t qualitySettings, xess_2d_t *pInputResolution)
Get the input resolution for a specified output resolution for a given quality setting....
-
XESS_API xess_result_t xessGetIntelXeFXVersion(xess_context_handle_t hContext, xess_version_t *pVersion)
Gets the version of the loaded Intel XeFX library. When running on Intel platforms this function will...
-
XESS_API xess_result_t xessGetProperties(xess_context_handle_t hContext, const xess_2d_t *pOutputResolution, xess_properties_t *pBindingProperties)
Gets XeSS internal resources properties.
-
XESS_API xess_result_t xessSetLoggingCallback(xess_context_handle_t hContext, xess_logging_level_t loggingLevel, xess_app_log_callback_t loggingCallback)
-
XESS_API xess_result_t xessDestroyContext(xess_context_handle_t hContext)
Destroys the XeSS context. The user must ensure that any pending command lists are completed before d...
-
-
-
-
Properties for internal XeSS resources.
-
uint64_t tempBufferHeapSize
-
uint64_t tempTextureHeapSize
-
uint32_t requiredDescriptorCount
-
-
-
-
-
-
_xess_logging_level_t
XeSS logging level.
-
@ XESS_LOGGING_LEVEL_INFO
-
@ XESS_LOGGING_LEVEL_WARNING
-
@ XESS_LOGGING_LEVEL_DEBUG
-
@ XESS_LOGGING_LEVEL_ERROR
-
enum _xess_quality_settings_t xess_quality_settings_t
XeSS quality settings.
-
_xess_result_t
XeSS return codes.
-
@ XESS_RESULT_ERROR_UNSUPPORTED_DEVICE
-
@ XESS_RESULT_ERROR_UNSUPPORTED_DRIVER
-
@ XESS_RESULT_ERROR_NOT_IMPLEMENTED
-
@ XESS_RESULT_ERROR_UNKNOWN
-
@ XESS_RESULT_ERROR_INVALID_CONTEXT
-
@ XESS_RESULT_ERROR_INVALID_ARGUMENT
-
@ XESS_RESULT_ERROR_DEVICE
-
@ XESS_RESULT_ERROR_UNINITIALIZED
-
@ XESS_RESULT_WARNING_NONEXISTING_FOLDER
-
@ XESS_RESULT_ERROR_OPERATION_IN_PROGRESS
-
@ XESS_RESULT_ERROR_UNSUPPORTED
-
@ XESS_RESULT_ERROR_CANT_LOAD_LIBRARY
-
@ XESS_RESULT_ERROR_DEVICE_OUT_OF_MEMORY
-
-
-
struct _xess_2d_t xess_2d_t
2D variable.
-
enum _xess_result_t xess_result_t
XeSS return codes.
-
-
enum _xess_init_flags_t xess_init_flags_t
XeSS initialization flags.
-
_xess_init_flags_t
XeSS initialization flags.
-
@ XESS_INIT_FLAG_LDR_INPUT_COLOR
-
@ XESS_INIT_FLAG_USE_NDC_VELOCITY
-
@ XESS_INIT_FLAG_EXTERNAL_DESCRIPTOR_HEAP
-
@ XESS_INIT_FLAG_JITTERED_MV
-
@ XESS_INIT_FLAG_HIGH_RES_MV
-
@ XESS_INIT_FLAG_INVERTED_DEPTH
-
-
@ XESS_INIT_FLAG_EXPOSURE_SCALE_TEXTURE
-
@ XESS_INIT_FLAG_RESPONSIVE_PIXEL_MASK
-
struct _xess_version_t xess_version_t
XeSS version.
-
enum _xess_logging_level_t xess_logging_level_t
XeSS logging level.
-
void(* xess_app_log_callback_t)(const char *message, xess_logging_level_t loging_level)
-
struct _xess_properties_t xess_properties_t
Properties for internal XeSS resources.
-
char sizecheck__LINE__[(sizeof(xess_quality_settings_t)==4) ? 1 :-1]
-
-
_xess_quality_settings_t
XeSS quality settings.
-
@ XESS_QUALITY_SETTING_ULTRA_QUALITY
-
@ XESS_QUALITY_SETTING_PERFORMANCE
-
@ XESS_QUALITY_SETTING_QUALITY
-
@ XESS_QUALITY_SETTING_BALANCED
-
struct _xess_context_handle_t * xess_context_handle_t
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/xess__d3d12_8h.html b/xess/doc/doxygen/xess__d3d12_8h.html
deleted file mode 100644
index d77d579..0000000
--- a/xess/doc/doxygen/xess__d3d12_8h.html
+++ /dev/null
@@ -1,174 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess_d3d12.h File Reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#include <d3d12.h>
-
#include "xess.h "
-
-
Go to the source code of this file.
-
-
-
-
◆ xess_d3d12_execute_params_t
-
-
-
-
-
Execution parameters for Xe SS D3D12.
-
-
-
-
-
◆ xess_d3d12_init_params_t
-
-
-
-
-
Initialization parameters for Xe SS D3D12.
-
-
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/xess__d3d12_8h.js b/xess/doc/doxygen/xess__d3d12_8h.js
deleted file mode 100644
index b5b0e60..0000000
--- a/xess/doc/doxygen/xess__d3d12_8h.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var xess__d3d12_8h =
-[
- [ "_xess_d3d12_execute_params_t", "struct__xess__d3d12__execute__params__t.html", "struct__xess__d3d12__execute__params__t" ],
- [ "_xess_d3d12_init_params_t", "struct__xess__d3d12__init__params__t.html", "struct__xess__d3d12__init__params__t" ],
- [ "xess_d3d12_execute_params_t", "xess__d3d12_8h.html#a013d859444728ce4c0b3b95e5437caf5", null ],
- [ "xess_d3d12_init_params_t", "xess__d3d12_8h.html#a8738b1b1df89db7fcdb1647af648c7d7", null ],
- [ "xessD3D12BuildPipelines", "group__xess-d3d12.html#gac39e8fcd2d1575ab36e54aacbc3d3b6a", null ],
- [ "xessD3D12CreateContext", "group__xess-d3d12.html#ga6b15c60fbdeefc17a1064950c90d2e2d", null ],
- [ "xessD3D12Execute", "group__xess-d3d12.html#gaf8e15aa3a0915546fdfcaa899f58c102", null ],
- [ "xessD3D12Init", "group__xess-d3d12.html#gafb211935ba10efefc5a7063b276fce31", null ]
-];
\ No newline at end of file
diff --git a/xess/doc/doxygen/xess__d3d12_8h_source.html b/xess/doc/doxygen/xess__d3d12_8h_source.html
deleted file mode 100644
index b582d85..0000000
--- a/xess/doc/doxygen/xess__d3d12_8h_source.html
+++ /dev/null
@@ -1,234 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess_d3d12.h Source File
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Go to the documentation of this file.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
146 ID3D12PipelineLibrary *pPipelineLibrary,
bool blocking, uint32_t initFlags);
-
-
-
-
-
-
-
-
-
-
-
-
-
XESS_API xess_result_t xessD3D12CreateContext(ID3D12Device *pDevice, xess_context_handle_t *phContext)
Create an XeSS D3D12 context.
-
XESS_API xess_result_t xessD3D12BuildPipelines(xess_context_handle_t hContext, ID3D12PipelineLibrary *pPipelineLibrary, bool blocking, uint32_t initFlags)
Initiates pipeline build process This function can only be called between xessD3D12CreateContext and ...
-
XESS_API xess_result_t xessD3D12Execute(xess_context_handle_t hContext, ID3D12GraphicsCommandList *pCommandList, const xess_d3d12_execute_params_t *pExecParams)
Record XeSS upscaling commands into the command list.
-
XESS_API xess_result_t xessD3D12Init(xess_context_handle_t hContext, const xess_d3d12_init_params_t *pInitParams)
Initialize XeSS D3D12. This is a blocking call that initializes XeSS and triggers internal resources ...
-
-
Execution parameters for XeSS D3D12.
-
ID3D12Resource * pDepthTexture
-
ID3D12Resource * pVelocityTexture
-
-
-
xess_coord_t inputColorBase
-
xess_coord_t outputColorBase
-
ID3D12Resource * pOutputTexture
-
ID3D12DescriptorHeap * pDescriptorHeap
-
-
ID3D12Resource * pExposureScaleTexture
-
-
ID3D12Resource * pResponsivePixelMaskTexture
-
uint32_t descriptorHeapOffset
-
-
xess_coord_t inputMotionVectorBase
-
xess_coord_t inputResponsiveMaskBase
-
-
xess_coord_t inputDepthBase
-
ID3D12Resource * pColorTexture
-
-
Initialization parameters for XeSS D3D12.
-
-
ID3D12PipelineLibrary * pPipelineLibrary
-
-
ID3D12Heap * pTempTextureHeap
-
uint32_t creationNodeMask
-
ID3D12Heap * pTempBufferHeap
-
uint64_t textureHeapOffset
-
uint64_t bufferHeapOffset
-
xess_quality_settings_t qualitySetting
-
xess_2d_t outputResolution
-
-
enum _xess_quality_settings_t xess_quality_settings_t
XeSS quality settings.
-
-
enum _xess_result_t xess_result_t
XeSS return codes.
-
-
-
struct _xess_context_handle_t * xess_context_handle_t
-
struct _xess_d3d12_execute_params_t xess_d3d12_execute_params_t
Execution parameters for XeSS D3D12.
-
struct _xess_d3d12_init_params_t xess_d3d12_init_params_t
Initialization parameters for XeSS D3D12.
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/xess__d3d12__debug_8h.html b/xess/doc/doxygen/xess__d3d12__debug_8h.html
deleted file mode 100644
index ea5e15a..0000000
--- a/xess/doc/doxygen/xess__d3d12__debug_8h.html
+++ /dev/null
@@ -1,201 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess_d3d12_debug.h File Reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#include <d3d12.h>
-
#include "xess.h "
-
-
Go to the source code of this file.
-
-
-XESS_API xess_result_t xessD3D12GetResourcesToDump (xess_context_handle_t hContext, xess_resources_to_dump_t **pResourcesToDump)
- Query Xe SS model to retrieve internal resources marked for dumping for further debug and inspection. More...
-
-XESS_API xess_result_t xessD3D12GetProfilingData (xess_context_handle_t hContext, xess_profiling_data_t **pProfilingData)
- Query Xe SS model performance data for past executions. To enable performance collection, context must be initialized with XESS_D3D12_DEBUG_ENABLE_PROFILING flag added to xess_d3d12_init_params_t::initFlags . If profiling is enabled, user must poll for profiling data after executing one or more command lists, otherwise implementation will keep growing internal CPU buffers to accomodate all profiling data available. Due to async nature of execution on GPU, data may not be available after submitting command lists to device queue. It is advised to check any_profiling_data_in_flight
flag in case all workloads has been submitted, but profiling data for some frames is still not available. Data pointed to by pProfilingData item(s) belongs to context instance and is valid until next call to xessD3D12GetProfilingData for owning context. More...
-
-
-
-
-
◆ XESS_D3D12_DEBUG_ENABLE_PROFILING
-
-
-
-
-
- #define XESS_D3D12_DEBUG_ENABLE_PROFILING (1U << 30)
-
-
-
-
-
-
-
◆ xess_profiled_frame_data_t
-
-
-
-
◆ xess_profiling_data_t
-
-
-
-
◆ xess_resources_to_dump_t
-
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/xess__d3d12__debug_8h.js b/xess/doc/doxygen/xess__d3d12__debug_8h.js
deleted file mode 100644
index de02315..0000000
--- a/xess/doc/doxygen/xess__d3d12__debug_8h.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var xess__d3d12__debug_8h =
-[
- [ "_xess_resources_to_dump_t", "struct__xess__resources__to__dump__t.html", "struct__xess__resources__to__dump__t" ],
- [ "_xess_profiled_frame_data_t", "struct__xess__profiled__frame__data__t.html", "struct__xess__profiled__frame__data__t" ],
- [ "_xess_profiling_data_t", "struct__xess__profiling__data__t.html", "struct__xess__profiling__data__t" ],
- [ "XESS_D3D12_DEBUG_ENABLE_PROFILING", "xess__d3d12__debug_8h.html#ad587f5e54cc2f41c539dd8983e248cb2", null ],
- [ "xess_profiled_frame_data_t", "xess__d3d12__debug_8h.html#a8fb30e1bc4f2c5e8dab3d8a80c30e3be", null ],
- [ "xess_profiling_data_t", "xess__d3d12__debug_8h.html#ad7d2b8797e2ede0f09b73e1a240583f9", null ],
- [ "xess_resources_to_dump_t", "xess__d3d12__debug_8h.html#a16c2ebf61da2c3a48f3c985c1fb9b8e7", null ],
- [ "xessD3D12GetProfilingData", "group__xess-d3d12-debug.html#ga3a8e8bee0b8ba06871c765648202c938", null ],
- [ "xessD3D12GetResourcesToDump", "group__xess-d3d12-debug.html#gaf62cb7b5e756de611a19896a5248c92b", null ]
-];
\ No newline at end of file
diff --git a/xess/doc/doxygen/xess__d3d12__debug_8h_source.html b/xess/doc/doxygen/xess__d3d12__debug_8h_source.html
deleted file mode 100644
index 6a7f01a..0000000
--- a/xess/doc/doxygen/xess__d3d12__debug_8h_source.html
+++ /dev/null
@@ -1,216 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess_d3d12_debug.h Source File
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Go to the documentation of this file.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
18 #ifndef XESS_D3D12_DEBUG_H
-
19 #define XESS_D3D12_DEBUG_H
-
-
-
-
-
-
-
-
-
-
29 #ifndef XESS_D3D12_DEBUG_ENABLE_PROFILING
-
30 #define XESS_D3D12_DEBUG_ENABLE_PROFILING (1U << 30)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
XESS_API xess_result_t xessD3D12GetProfilingData(xess_context_handle_t hContext, xess_profiling_data_t **pProfilingData)
Query XeSS model performance data for past executions. To enable performance collection,...
-
XESS_API xess_result_t xessD3D12GetResourcesToDump(xess_context_handle_t hContext, xess_resources_to_dump_t **pResourcesToDump)
Query XeSS model to retrieve internal resources marked for dumping for further debug and inspection.
-
-
const char *const * gpu_duration_names
-
-
const double * gpu_duration_values
-
uint64_t gpu_duration_record_count
-
-
xess_profiled_frame_data_t * frames
-
-
uint32_t any_profiling_data_in_flight
-
-
const uint32_t * as_tensor
-
const uint32_t * tensor_width
-
const uint32_t * border_pixels_to_skip_count
-
const char *const * resource_names
-
const uint32_t * tensor_height
-
const uint32_t * tensor_channel_count
-
ID3D12Resource *const * resources
-
-
-
-
enum _xess_result_t xess_result_t
XeSS return codes.
-
-
-
struct _xess_context_handle_t * xess_context_handle_t
-
struct _xess_resources_to_dump_t xess_resources_to_dump_t
-
struct _xess_profiled_frame_data_t xess_profiled_frame_data_t
-
struct _xess_profiling_data_t xess_profiling_data_t
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/xess__debug_8h.html b/xess/doc/doxygen/xess__debug_8h.html
deleted file mode 100644
index 259cb27..0000000
--- a/xess/doc/doxygen/xess__debug_8h.html
+++ /dev/null
@@ -1,288 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess_debug.h File Reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Go to the source code of this file.
-
-
-enum _xess_network_model_t { XESS_NETWORK_MODEL_KPSS = 0
-, XESS_NETWORK_MODEL_SPLAT = 1
- }
- Xe SS network type. More...
-
-enum _xess_dump_element_bits_t {
- XESS_DUMP_INPUT_COLOR = 0x01
-, XESS_DUMP_INPUT_VELOCITY = 0x02
-, XESS_DUMP_INPUT_DEPTH = 0x04
-, XESS_DUMP_INPUT_EXPOSURE_SCALE = 0x08
-,
- XESS_DUMP_INPUT_RESPONSIVE_PIXEL_MASK = 0x10
-, XESS_DUMP_OUTPUT = 0x20
-, XESS_DUMP_HISTORY = 0x40
-, XESS_DUMP_EXECUTION_PARAMETERS = 0x80
-,
- XESS_DUMP_ALL_INPUTS
-, XESS_DUMP_ALL = 0x7FFFFFFF
-
- }
-
-
-
-
-
◆ sizecheck__LINE__
-
-
-
-
◆ xess_dump_element_bits_t
-
-
-
-
◆ xess_dump_elements_mask_t
-
-
-
-
◆ xess_dump_parameters_t
-
-
-
-
◆ xess_network_model_t
-
-
-
-
-
Xe SS network type.
-
-
-
-
-
-
◆ _xess_dump_element_bits_t
-
-
-
-
-Enumerator XESS_DUMP_INPUT_COLOR
- XESS_DUMP_INPUT_VELOCITY
- XESS_DUMP_INPUT_DEPTH
- XESS_DUMP_INPUT_EXPOSURE_SCALE
- XESS_DUMP_INPUT_RESPONSIVE_PIXEL_MASK
- XESS_DUMP_OUTPUT
- XESS_DUMP_HISTORY
- XESS_DUMP_EXECUTION_PARAMETERS All parameters passed to xessExecute.
-
- XESS_DUMP_ALL_INPUTS
- XESS_DUMP_ALL
-
-
-
Definition at line 36 of file xess_debug.h .
-
-
-
-
-
◆ _xess_network_model_t
-
-
-
-
-
Xe SS network type.
-
-Enumerator XESS_NETWORK_MODEL_KPSS
- XESS_NETWORK_MODEL_SPLAT
-
-
-
Definition at line 30 of file xess_debug.h .
-
-
-
-
-
-
-
-
-
diff --git a/xess/doc/doxygen/xess__debug_8h.js b/xess/doc/doxygen/xess__debug_8h.js
deleted file mode 100644
index 93e6134..0000000
--- a/xess/doc/doxygen/xess__debug_8h.js
+++ /dev/null
@@ -1,27 +0,0 @@
-var xess__debug_8h =
-[
- [ "_xess_dump_parameters_t", "struct__xess__dump__parameters__t.html", "struct__xess__dump__parameters__t" ],
- [ "sizecheck__LINE__", "xess__debug_8h.html#a368b9d0a82e205f30f7e7c0da413e318", null ],
- [ "xess_dump_element_bits_t", "xess__debug_8h.html#a516d71b76c0d19198beed6465eb4535c", null ],
- [ "xess_dump_elements_mask_t", "xess__debug_8h.html#a508c6f679546883d9c849cbfd3615363", null ],
- [ "xess_dump_parameters_t", "xess__debug_8h.html#a7a40b052b76b6b70177eb6bca388a214", null ],
- [ "xess_network_model_t", "xess__debug_8h.html#a0f8d91004ab90548549da8adb0d4f195", null ],
- [ "_xess_dump_element_bits_t", "xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83", [
- [ "XESS_DUMP_INPUT_COLOR", "xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a623a94758729c9bcdc65df0547b1974f", null ],
- [ "XESS_DUMP_INPUT_VELOCITY", "xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a660e96b09d4656899f05260d1e7622a3", null ],
- [ "XESS_DUMP_INPUT_DEPTH", "xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83aa9f414176cfe6c87f0e7b62d60976a88", null ],
- [ "XESS_DUMP_INPUT_EXPOSURE_SCALE", "xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a89c37b4f5e86951bddd55fb8a5164bcc", null ],
- [ "XESS_DUMP_INPUT_RESPONSIVE_PIXEL_MASK", "xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a002eada067830ed6c0aa36fbc60a21f2", null ],
- [ "XESS_DUMP_OUTPUT", "xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83ab5fabbdd4efc47253723dd02ac132121", null ],
- [ "XESS_DUMP_HISTORY", "xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83ae98ac97ee61128c3b0632a8ccbefc6bc", null ],
- [ "XESS_DUMP_EXECUTION_PARAMETERS", "xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a60e0f8ed79622d3f7e4588a658fc484a", null ],
- [ "XESS_DUMP_ALL_INPUTS", "xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a5bde5b4edb7c99106b7ad168d3da89fe", null ],
- [ "XESS_DUMP_ALL", "xess__debug_8h.html#ae4b7d329863e03ff19925bf82c8c2b83a312ca9873e04595421188f6345d28f82", null ]
- ] ],
- [ "_xess_network_model_t", "xess__debug_8h.html#ace50e033796a986a57623170306b41ed", [
- [ "XESS_NETWORK_MODEL_KPSS", "xess__debug_8h.html#ace50e033796a986a57623170306b41eda1489add6542185904900e0b6796b8215", null ],
- [ "XESS_NETWORK_MODEL_SPLAT", "xess__debug_8h.html#ace50e033796a986a57623170306b41eda89d379244951ad3c2988a0d303b4a0cb", null ]
- ] ],
- [ "xessSelectNetworkModel", "group__xess-debug.html#ga596f2374ff85d63d430d885da295818b", null ],
- [ "xessStartDump", "group__xess-debug.html#gaa320ed0d9c03d6abb26f37647b12db7e", null ]
-];
\ No newline at end of file
diff --git a/xess/doc/doxygen/xess__debug_8h_source.html b/xess/doc/doxygen/xess__debug_8h_source.html
deleted file mode 100644
index 86098fb..0000000
--- a/xess/doc/doxygen/xess__debug_8h_source.html
+++ /dev/null
@@ -1,205 +0,0 @@
-
-
-
-
-
-
-
-XeSS SDK API Reference Guide: D:/qb/workspace/29555/source/libraries.gpu.rendering.xess.xess-sdk/libxess/include/xess/xess_debug.h Source File
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XeSS SDK API Reference Guide 1.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Go to the documentation of this file.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
XESS_API xess_result_t xessSelectNetworkModel(xess_context_handle_t hContext, xess_network_model_t network)
Select network to be used by XeSS.
-
XESS_API xess_result_t xessStartDump(xess_context_handle_t hContext, const xess_dump_parameters_t *dump_parameters)
-
-
xess_dump_elements_mask_t dump_elements_mask
-
-
-
-
-
-
enum _xess_result_t xess_result_t
XeSS return codes.
-
-
-
struct _xess_context_handle_t * xess_context_handle_t
-
enum _xess_network_model_t xess_network_model_t
XeSS network type.
-
char sizecheck__LINE__[(sizeof(xess_network_model_t)==4) ? 1 :-1]
-
uint32_t xess_dump_elements_mask_t
-
enum _xess_dump_element_bits_t xess_dump_element_bits_t
-
struct _xess_dump_parameters_t xess_dump_parameters_t
-
_xess_network_model_t
XeSS network type.
-
@ XESS_NETWORK_MODEL_KPSS
-
@ XESS_NETWORK_MODEL_SPLAT
-
_xess_dump_element_bits_t
-
@ XESS_DUMP_INPUT_RESPONSIVE_PIXEL_MASK
-
-
-
@ XESS_DUMP_EXECUTION_PARAMETERS
All parameters passed to xessExecute.
-
-
@ XESS_DUMP_INPUT_VELOCITY
-
@ XESS_DUMP_INPUT_EXPOSURE_SCALE
-
-
-
-
-
-
-
-
-
diff --git a/xess/inc/xess/xess.h b/xess/inc/xess/xess.h
deleted file mode 100644
index dd57496..0000000
--- a/xess/inc/xess/xess.h
+++ /dev/null
@@ -1,294 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2021 Intel Corporation
- *
- * This software and the related documents are Intel copyrighted materials, and
- * your use of them is governed by the express license under which they were
- * provided to you ("License"). Unless the License provides otherwise, you may
- * not use, modify, copy, publish, distribute, disclose or transmit this
- * software or the related documents without Intel's prior written permission.
- *
- * This software and the related documents are provided as is, with no express
- * or implied warranties, other than those that are expressly stated in the
- * License.
- ******************************************************************************/
-
-#ifndef XESS_H
-#define XESS_H
-
-#ifdef XESS_SHARED_LIB
-#ifdef _WIN32
-#ifdef XESS_EXPORT_API
-#define XESS_API __declspec(dllexport)
-#else
-#define XESS_API __declspec(dllimport)
-#endif
-#else
-#define XESS_API __attribute__((visibility("default")))
-#endif
-#else
-#define XESS_API
-#endif
-
-#if !defined _MSC_VER || (_MSC_VER >= 1928)
-#define XESS_PRAGMA(x) _Pragma(#x)
-#else
-#define XESS_PRAGMA(x) __pragma(x)
-#endif
-#define XESS_PACK_B_X(x) XESS_PRAGMA(pack(push, x))
-#define XESS_PACK_E() XESS_PRAGMA(pack(pop))
-#define XESS_PACK_B() XESS_PACK_B_X(8)
-
-#include
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct _xess_context_handle_t* xess_context_handle_t;
-
-XESS_PACK_B()
-/**
- * @brief Xe SS version.
- *
- * Xe SS uses major.minor.patch version format and Numeric 90+ scheme for development stage builds.
- */
-typedef struct _xess_version_t
-{
- /** A major version increment indicates a new API and potentially a
- * break in functionality. */
- uint16_t major;
- /** A minor version increment indicates incremental changes such as
- * optional inputs or flags. This does not break existing functionality. */
- uint16_t minor;
- /** A patch version increment may include performance or quality tweaks or fixes for known issues.
- * There's no change in the interfaces.
- * Versions beyond 90 used for development builds to change the interface for the next release.
- */
- uint16_t patch;
- /** Reserved for future use. */
- uint16_t reserved;
-} xess_version_t;
-XESS_PACK_E()
-
-XESS_PACK_B()
-/**
- * @brief 2D variable.
- */
-typedef struct _xess_2d_t
-{
- uint32_t x;
- uint32_t y;
-} xess_2d_t;
-XESS_PACK_E()
-
-/**
- * @brief 2D coordinates.
- */
-typedef xess_2d_t xess_coord_t;
-
-/**
- * @brief Xe SS quality settings.
- */
-typedef enum _xess_quality_settings_t
-{
- XESS_QUALITY_SETTING_PERFORMANCE = 101,
- XESS_QUALITY_SETTING_BALANCED = 102,
- XESS_QUALITY_SETTING_QUALITY = 103,
- XESS_QUALITY_SETTING_ULTRA_QUALITY = 104,
-} xess_quality_settings_t;
-
-/**
- * @brief Xe SS initialization flags.
- */
-typedef enum _xess_init_flags_t
-{
- XESS_INIT_FLAG_NONE = 0,
- /** Use motion vectors at target resolution. */
- XESS_INIT_FLAG_HIGH_RES_MV = 1 << 0,
- /** Use inverted (increased precision) depth encoding */
- XESS_INIT_FLAG_INVERTED_DEPTH = 1 << 1,
- /** Use exposure texture to scale input color. */
- XESS_INIT_FLAG_EXPOSURE_SCALE_TEXTURE = 1 << 2,
- /** Use responsive pixel mask texture. */
- XESS_INIT_FLAG_RESPONSIVE_PIXEL_MASK = 1 << 3,
- /** Use velocity in NDC */
- XESS_INIT_FLAG_USE_NDC_VELOCITY = 1 << 4,
- /** Use external descriptor heap */
- XESS_INIT_FLAG_EXTERNAL_DESCRIPTOR_HEAP = 1 << 5,
- /** Disable tonemapping for input and output */
- XESS_INIT_FLAG_LDR_INPUT_COLOR = 1 << 6,
- /** Remove jitter from input velocity*/
- XESS_INIT_FLAG_JITTERED_MV = 1 << 7,
-} xess_init_flags_t;
-
-XESS_PACK_B()
-/**
- * @brief Properties for internal Xe SS resources.
- */
-typedef struct _xess_properties_t
-{
- /** Required amount of descriptors for Xe SS */
- uint32_t requiredDescriptorCount;
- /** The heap size required by Xe SS for temporary buffer storage. */
- uint64_t tempBufferHeapSize;
- /** The heap size required by Xe SS for temporary texture storage. */
- uint64_t tempTextureHeapSize;
-} xess_properties_t;
-XESS_PACK_E()
-
-/**
- * @brief Xe SS return codes.
- */
-typedef enum _xess_result_t
-{
- /** Warning. Folder to store dump data doesn't exist. Write operation skipped.*/
- XESS_RESULT_WARNING_NONEXISTING_FOLDER = 1,
- /** Xe SS operation was successful. */
- XESS_RESULT_SUCCESS = 0,
- /** Xe SS not supported on the GPU. An SM 6.4 capable GPU is required. */
- XESS_RESULT_ERROR_UNSUPPORTED_DEVICE = -1,
- /** An outdated driver. */
- XESS_RESULT_ERROR_UNSUPPORTED_DRIVER = -2,
- /** Execute called without initialization. */
- XESS_RESULT_ERROR_UNINITIALIZED = -3,
- /** Invalid argument such as descriptor handles. */
- XESS_RESULT_ERROR_INVALID_ARGUMENT = -4,
- /** Not enough available GPU memory. */
- XESS_RESULT_ERROR_DEVICE_OUT_OF_MEMORY = -5,
- /** Device function such as resource or descriptor creation. */
- XESS_RESULT_ERROR_DEVICE = -6,
- /** The function is not implemented */
- XESS_RESULT_ERROR_NOT_IMPLEMENTED = -7,
- /** Invalid context. */
- XESS_RESULT_ERROR_INVALID_CONTEXT = -8,
- /** Operation not finished yet. */
- XESS_RESULT_ERROR_OPERATION_IN_PROGRESS = -9,
- /** Operation not supported in current configuration. */
- XESS_RESULT_ERROR_UNSUPPORTED = -10,
- /** The library cannot be loaded. */
- XESS_RESULT_ERROR_CANT_LOAD_LIBRARY = -11,
- /** Unknown internal failure */
- XESS_RESULT_ERROR_UNKNOWN = -1000,
-} xess_result_t;
-
-/**
- * @brief Xe SS logging level
- */
-typedef enum _xess_logging_level_t
-{
- XESS_LOGGING_LEVEL_DEBUG = 0,
- XESS_LOGGING_LEVEL_INFO = 1,
- XESS_LOGGING_LEVEL_WARNING = 2,
- XESS_LOGGING_LEVEL_ERROR = 3
-} xess_logging_level_t;
-
-/**
- * A logging callback provided by the application. This callback can be called from other threads.
- * Message pointer are only valid inside function and may be invalid right after return call.
- * Message is a null-terminated utf-8 string
- */
- typedef void (*xess_app_log_callback_t)(const char *message, xess_logging_level_t loging_level);
-
-#ifndef XESS_TYPES_ONLY
-
-/** @addtogroup xess XeSS API exports
- * @{
- */
-
-/**
- * @brief Gets the Xe SS version. This is baked into the Xe SS SDK release.
- * @param[out] pVersion Returned Xe SS version.
- * @return Xe SS return status code.
- */
-XESS_API xess_result_t xessGetVersion(xess_version_t* pVersion);
-
-/**
- * @brief Gets the version of the loaded Intel XeFX library. When running on Intel platforms
- * this function will return the version of the loaded Intel XeFX library, for other
- * platforms 0.0.0 will be returned.
- * @param hContext The Xe SS context handle.
- * @param[out] pVersion Returned Intel XeFX library version.
- * @return Xe SS return status code.
- */
-XESS_API xess_result_t xessGetIntelXeFXVersion(xess_context_handle_t hContext,
- xess_version_t* pVersion);
-
-/**
- * @brief Gets Xe SS internal resources properties.
- * @param hContext The Xe SS context handle.
- * @param pOutputResolution Output resolution to calculate properties for.
- * @param[out] pBindingPropeties Retured properties.
- * @return Xe SS return status code.
- */
-XESS_API xess_result_t xessGetProperties(xess_context_handle_t hContext,
- const xess_2d_t* pOutputResolution, xess_properties_t* pBindingProperties);
-
-/**
- * @brief Get the input resolution for a specified output resolution for a given quality setting.
- * Xe SS expects all the input buffers except motion vectors to be in the returned resolution.
- * Motion vectors can be either in output resolution (XESS_INIT_FLAG_HIGH_RES_MV) or
- * returned resolution (default).
- *
- * @param hContext: The Xe SS context handle.
- * @param pOutputResolution Output resolution to calculate input resolution for.
- * @param qualitySettings Desired quality setting.
- * @param[out] pInputResolution Required input resolution.
- * @return Xe SS return status code.
- */
-XESS_API xess_result_t xessGetInputResolution(xess_context_handle_t hContext,
- const xess_2d_t* pOutputResolution, xess_quality_settings_t qualitySettings,
- xess_2d_t* pInputResolution);
-
-/**
- * @brief Destroys the Xe SS context.
- * The user must ensure that any pending command lists are completed before destroying the context.
- * @param hContext: The Xe SS context handle.
- * @return Xe SS return status code.
- */
-XESS_API xess_result_t xessDestroyContext(xess_context_handle_t hContext);
-
-/**
- * Sets jitter scale value
- * @param hContext The Xe SS context handle.
- * @param x scale for the X axis
- * @param y scale for the Y axis
- * @return Xe SS return status code.
- */
-XESS_API xess_result_t xessSetJitterScale(xess_context_handle_t hContext, float x, float y);
-
-/**
- * Sets velocity scale value
- * @param hContext The Xe SS context handle.
- * @param x scale for the X axis
- * @param y scale for the Y axis
- * @return Xe SS return status code.
- */
-XESS_API xess_result_t xessSetVelocityScale(xess_context_handle_t hContext, float x, float y);
-
-/**
- * Sets logging callback
- *
- * @param hContext The Xe SS context handle.
- * @param loggingLevel Minimum logging level for logging callback.
- * @param loggingCallback Logging callback
- * @return Xe SS return status code.
- */
-XESS_API xess_result_t xessSetLoggingCallback(xess_context_handle_t hContext,
- xess_logging_level_t loggingLevel, xess_app_log_callback_t loggingCallback);
-
-/** @}*/
-
-#endif
-
-// Enum size checks. All enums must be 4 bytes
-typedef char sizecheck__LINE__[ (sizeof(xess_quality_settings_t) == 4) ? 1 : -1];
-typedef char sizecheck__LINE__[ (sizeof(xess_init_flags_t) == 4) ? 1 : -1];
-typedef char sizecheck__LINE__[ (sizeof(xess_result_t) == 4) ? 1 : -1];
-typedef char sizecheck__LINE__[ (sizeof(xess_logging_level_t) == 4) ? 1 : -1];
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/xess/inc/xess/xess_d3d12.h b/xess/inc/xess/xess_d3d12.h
deleted file mode 100644
index 64774e5..0000000
--- a/xess/inc/xess/xess_d3d12.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2021 Intel Corporation
- *
- * This software and the related documents are Intel copyrighted materials, and
- * your use of them is governed by the express license under which they were
- * provided to you ("License"). Unless the License provides otherwise, you may
- * not use, modify, copy, publish, distribute, disclose or transmit this
- * software or the related documents without Intel's prior written permission.
- *
- * This software and the related documents are provided as is, with no express
- * or implied warranties, other than those that are expressly stated in the
- * License.
- ******************************************************************************/
-
-
-#ifndef XESS_D3D12_H
-#define XESS_D3D12_H
-
-#include
-
-#include "xess.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-XESS_PACK_B()
-/**
- * @brief Execution parameters for Xe SS D3D12.
- */
-typedef struct _xess_d3d12_execute_params_t
-{
- /** Input color texture. Must be in NON_PIXEL_SHADER_RESOURCE state.*/
- ID3D12Resource *pColorTexture;
- /** Input motion vector texture. Must be in NON_PIXEL_SHADER_RESOURCE state.*/
- ID3D12Resource *pVelocityTexture;
- /** Optional depth texture. Required if XESS_INIT_FLAG_HIGH_RES_MV has not been specified.
- * Must be in NON_PIXEL_SHADER_RESOURCE state.*/
- ID3D12Resource *pDepthTexture;
- /** Optional 1x1 exposure scale texture. Required if XESS_INIT_FLAG_EXPOSURE_TEXTURE has been
- * specified. Must be in NON_PIXEL_SHADER_RESOURCE state */
- ID3D12Resource *pExposureScaleTexture;
- /** Optional responsive pixel mask texture. Required if XESS_INIT_FLAG_RESPONSIVE_PIXEL_MASK
- * has been specified. Must be in NON_PIXEL_SHADER_RESOURCE state */
- ID3D12Resource *pResponsivePixelMaskTexture;
- /** Output texture in target resolution. Must be in UNORDERED_ACCESS state.*/
- ID3D12Resource *pOutputTexture;
-
- /** Jitter X coordinate in the range [-0.5, 0.5]. */
- float jitterOffsetX;
- /** Jitter Y coordinate in the range [-0.5, 0.5]. */
- float jitterOffsetY;
- /** Optional input color scaling. Default is 1. */
- float exposureScale;
- /** Resets the history accumulation in this frame. */
- uint32_t resetHistory;
- /** Input color width. */
- uint32_t inputWidth;
- /** Input color height. */
- uint32_t inputHeight;
- /** Base coordinate for the input color in the texture. Default is (0,0). */
- xess_coord_t inputColorBase;
- /** Base coordinate for the input motion vector in the texture. Default is (0,0). */
- xess_coord_t inputMotionVectorBase;
- /** Base coordinate for the input depth in the texture. Default is (0,0). */
- xess_coord_t inputDepthBase;
- /** Base coordinate for the input responsive pixel mask in the texture. Default is (0,0). */
- xess_coord_t inputResponsiveMaskBase;
- /** Reserved parameter. */
- xess_coord_t reserved0;
- /** Base coordinate for the output color. Default is (0,0). */
- xess_coord_t outputColorBase;
- /** Optional external descriptor heap. */
- ID3D12DescriptorHeap* pDescriptorHeap;
- /** Offset in external descriptor heap in bytes.*/
- uint32_t descriptorHeapOffset;
-} xess_d3d12_execute_params_t;
-XESS_PACK_E()
-
-XESS_PACK_B()
-/**
- * @brief Initialization parameters for Xe SS D3D12.
- */
-typedef struct _xess_d3d12_init_params_t
-{
- /** Output width and height. */
- xess_2d_t outputResolution;
- /** Quality setting */
- xess_quality_settings_t qualitySetting;
- /** Initialization flags. */
- uint32_t initFlags;
- /** Specifies the node mask for internally created resources on
- * multi-adapter systems. */
- uint32_t creationNodeMask;
- /** Specifies the node visibility mask for internally created resources
- * on multi-adapter systems. */
- uint32_t visibleNodeMask;
- /** Optional externally allocated buffer storage for Xe SS. If NULL the
- * storage is allocated internally. If allocated, the heap type must be
- * D3D12_HEAP_TYPE_DEFAULT. This heap is not accessed by the CPU. */
- ID3D12Heap* pTempBufferHeap;
- /** Offset in the externally allocated heap for temporary buffer storage. */
- uint64_t bufferHeapOffset;
- /** Optional externally allocated texture storage for Xe SS. If NULL the
- * storage is allocated internally. If allocated, the heap type must be
- * D3D12_HEAP_TYPE_DEFAULT. This heap is not accessed by the CPU. */
- ID3D12Heap* pTempTextureHeap;
- /** Offset in the externally allocated heap for temporary texture storage. */
- uint64_t textureHeapOffset;
- /** Pointer to pipeline library. If not NULL will be used for pipeline caching. */
- ID3D12PipelineLibrary *pPipelineLibrary;
-} xess_d3d12_init_params_t;
-XESS_PACK_E()
-
-/** @addtogroup xess-d3d12 XeSS D3D12 API exports
- * @{
- */
-/**
- * @brief Create an Xe SS D3D12 context.
- * @param pDevice: A D3D12 device created by the user.
- * @param[out] phContext: Returned xess context handle.
- * @return Xe SS return status code.
- */
-XESS_API xess_result_t xessD3D12CreateContext(
- ID3D12Device* pDevice, xess_context_handle_t* phContext);
-
-/**
- * @brief Initiates pipeline build process
- * This function can only be called between @ref xessD3D12CreateContext and
- * @ref xessD3D12Init
- * This call initiates build of DX12 pipelines and kernel compilation
- * This call can be blocking (if @ref blocking set to true) or non-blocking.
- * In case of non-blocking call library will wait for pipeline build on call to
- * @ref xessD3D12Init
- * If @ref pPipelineLibrary passed to this call - same pipeline library must be passed
- * to @ref xessD3D12Init
- *
- * @param hContext The Xe SS context handle.
- * @param pPipelineLibrary Optional pointer to pipeline library for pipeline caching.
- * @param blocking Wait for kernel compilation and pipeline creation to finish or not
- * @param init_flags Initialization flags. *Must* be identical to flags passed to @ref xessD3D12Init
- */
-XESS_API xess_result_t xessD3D12BuildPipelines(xess_context_handle_t hContext,
- ID3D12PipelineLibrary *pPipelineLibrary, bool blocking, uint32_t initFlags);
-
-/**
- * @brief Initialize Xe SS D3D12.
- * This is a blocking call that initializes Xe SS and triggers internal
- * resources allocation and JIT for the Xe SS kernels. The user must ensure that
- * any pending command lists are completed before re-initialization. When
- * During initialization, Xe SS can create staging buffers and copy queues to
- * upload internal data. These will be destroyed at the end of initialization.
- *
- * @note Xe SS supports devices starting from D3D12_RESOURCE_HEAP_TIER_1, which means
- * that buffers and textures can not live in the same resource heap.
- *
- * @param hContext: The Xe SS context handle.
- * @param pInitParams: Initialization parameters.
- * @return Xe SS return status code.
- */
-XESS_API xess_result_t xessD3D12Init(
- xess_context_handle_t hContext, const xess_d3d12_init_params_t* pInitParams);
-
-/**
- * @brief Record Xe SS upscaling commands into the command list.
- * @param hContext: The Xe SS context handle.
- * @param pCommandList: The command list for Xe SS commands.
- * @param pExecParams: Execution parameters.
- * @return Xe SS return status code.
- */
-
-XESS_API xess_result_t xessD3D12Execute(xess_context_handle_t hContext,
- ID3D12GraphicsCommandList* pCommandList, const xess_d3d12_execute_params_t* pExecParams);
-/** @}*/
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif // XESS_D3D12_H
diff --git a/xess/inc/xess/xess_d3d12_debug.h b/xess/inc/xess/xess_d3d12_debug.h
deleted file mode 100644
index 8587138..0000000
--- a/xess/inc/xess/xess_d3d12_debug.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2021 Intel Corporation
- *
- * This software and the related documents are Intel copyrighted materials, and
- * your use of them is governed by the express license under which they were
- * provided to you ("License"). Unless the License provides otherwise, you may
- * not use, modify, copy, publish, distribute, disclose or transmit this
- * software or the related documents without Intel's prior written permission.
- *
- * This software and the related documents are provided as is, with no express
- * or implied warranties, other than those that are expressly stated in the
- * License.
- ******************************************************************************/
-
-
-#ifndef XESS_D3D12_DEBUG_H
-#define XESS_D3D12_DEBUG_H
-
-#include
-
-#include "xess.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef XESS_D3D12_DEBUG_ENABLE_PROFILING
-#define XESS_D3D12_DEBUG_ENABLE_PROFILING (1U << 30)
-#endif
-
-XESS_PACK_B()
-typedef struct _xess_resources_to_dump_t
-{
- /** Total resource count. In case it equal to zero content of other structure members is undefined.*/
- uint32_t resource_count;
- /** Pointer to an internal array of D3D12 resources. Array length is `resource_count`.*/
- ID3D12Resource* const* resources;
- /** Pointer to an internal array of D3D12 resource names. Array length is `resource_count`.*/
- const char* const* resource_names;
- /* Pointer to an internal array of suggested resource dump modes. Array length is `resource_count.`
- * If as_tensor is 0 (FALSE), then it is suggested to dump resource as RGBA texture.*/
- const uint32_t* as_tensor; // 0 = false
- /* Pointer to an internal array of paddings to be used during resource dump. Array length is `resource_count`.
- * Padding is assumed to be symmetrical across spatial dimensions and has same value for both borders in each dimension.*/
- const uint32_t* border_pixels_to_skip_count;
- /* Pointer to an internal array of channel count for each resource. If resource dimension is "buffer" value is non zero,
- * count is zero otherwise. Array length is `resource_count`.*/
- const uint32_t* tensor_channel_count;
- /* Pointer to an internal array of tensor width for each resource. Width must include padding on both sides.
- * If resource dimension is "buffer" value is non zero, * count is zero otherwise. Array length is `resource_count`.*/
- const uint32_t* tensor_width;
- /* Pointer to an internal array of tensor width for each resource. Height must include padding on both sides.
- * If resource dimension is "buffer" value is non zero, * count is zero otherwise. Array length is `resource_count`.*/
- const uint32_t* tensor_height;
-} xess_resources_to_dump_t;
-XESS_PACK_E()
-
-XESS_PACK_B()
-typedef struct _xess_profiled_frame_data_t
-{
- /** Execution index in context's instance. */
- uint64_t frame_index;
- /** Total labeled gpu duration records stored in gpu_duration* arrays.*/
- uint64_t gpu_duration_record_count;
- /** Pointer to an internal array of duration names.*/
- const char* const* gpu_duration_names;
- /** Pointer to an internal array of duration values. [seconds]*/
- const double* gpu_duration_values;
-} xess_profiled_frame_data_t;
-XESS_PACK_E()
-
-XESS_PACK_B()
-typedef struct _xess_profiling_data_t
-{
- /** Total profiled frame records storage in frames/executions array.*/
- uint64_t frame_count;
- /** Pointers to an internal storage with per frame/execution data.*/
- xess_profiled_frame_data_t* frames;
- /** Flag indicating if more profiling data will be available when GPU finishes
- * executing submitted frames.
- * Useful to collect profiling data without forcing full CPU-GPU sync.
- * Zero value indicates no pending profiling data.
- */
- uint32_t any_profiling_data_in_flight;
-} xess_profiling_data_t;
-XESS_PACK_E()
-
-
-/** @addtogroup xess-d3d12-debug XeSS D3D12 API debug exports
- * @{
- */
-/**
- * @brief Query Xe SS model to retrieve internal resources marked for dumping for further
- * debug and inspection.
- * @param hContext: The Xe SS context handle.
- * @param pResourcesToDump: Pointer to user-provided pointer to structure to be filled with
- * debug resource array, their names and recommended dumping parameters. pResourcesToDump must not be null,
- * In case of failure (xess_result_t is not equal to XESS_RESULT_SUCCESS) **pResourcesToDump contents is undefined and must not be used.
- * In case of success, *pResourcesToDump may still be null, if no internal resources were added to dumping queue.
- * Build configuration for certain implementations may have dumping functionality compiled-out and XESS_RESULT_ERROR_NOT_IMPLEMENTED return code.
- * @return Xe SS return status code.
- */
-XESS_API xess_result_t xessD3D12GetResourcesToDump(xess_context_handle_t hContext, xess_resources_to_dump_t** pResourcesToDump);
-
-/**
- * @brief Query Xe SS model performance data for past executions. To enable performance collection,
- * context must be initialized with XESS_D3D12_DEBUG_ENABLE_PROFILING flag added to xess_d3d12_init_params_t::initFlags.
- * If profiling is enabled, user must poll for profiling data after executing one or more command lists, otherwise
- * implementation will keep growing internal CPU buffers to accomodate all profiling data available.
- * Due to async nature of execution on GPU, data may not be available after submitting command lists to device queue.
- * It is advised to check `any_profiling_data_in_flight` flag in case all workloads has been submitted, but profiling
- * data for some frames is still not available.
- * Data pointed to by pProfilingData item(s) belongs to context instance and
- * is valid until next call to xessD3D12GetProfilingData for owning context.
- * @param hContext: The Xe SS context handle.
- * @param pProfilingData: pointer to profiling data structure to be filled by implementation.
- * @return Xe SS return status code.
-*/
-XESS_API xess_result_t xessD3D12GetProfilingData(xess_context_handle_t hContext, xess_profiling_data_t** pProfilingData);
-
-
-/** @}*/
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif // XESS_D3D12_H
diff --git a/xess/inc/xess/xess_debug.h b/xess/inc/xess/xess_debug.h
deleted file mode 100644
index ff393c0..0000000
--- a/xess/inc/xess/xess_debug.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2021 Intel Corporation
- *
- * This software and the related documents are Intel copyrighted materials, and
- * your use of them is governed by the express license under which they were
- * provided to you ("License"). Unless the License provides otherwise, you may
- * not use, modify, copy, publish, distribute, disclose or transmit this
- * software or the related documents without Intel's prior written permission.
- *
- * This software and the related documents are provided as is, with no express
- * or implied warranties, other than those that are expressly stated in the
- * License.
- ******************************************************************************/
-
-
-#ifndef XESS_DEBUG_H
-#define XESS_DEBUG_H
-
-#include "xess.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @brief Xe SS network type.
- */
-typedef enum _xess_network_model_t
-{
- XESS_NETWORK_MODEL_KPSS = 0,
- XESS_NETWORK_MODEL_SPLAT = 1,
-} xess_network_model_t;
-
-typedef enum _xess_dump_element_bits_t
-{
- XESS_DUMP_INPUT_COLOR = 0x01,
- XESS_DUMP_INPUT_VELOCITY = 0x02,
- XESS_DUMP_INPUT_DEPTH = 0x04,
- XESS_DUMP_INPUT_EXPOSURE_SCALE = 0x08,
- XESS_DUMP_INPUT_RESPONSIVE_PIXEL_MASK = 0x10,
- XESS_DUMP_OUTPUT = 0x20,
- XESS_DUMP_HISTORY = 0x40,
- XESS_DUMP_EXECUTION_PARAMETERS = 0x80, ///< All parameters passed to xessExecute
- XESS_DUMP_ALL_INPUTS = XESS_DUMP_INPUT_COLOR | XESS_DUMP_INPUT_VELOCITY |
- XESS_DUMP_INPUT_DEPTH | XESS_DUMP_INPUT_EXPOSURE_SCALE |
- XESS_DUMP_INPUT_RESPONSIVE_PIXEL_MASK | XESS_DUMP_EXECUTION_PARAMETERS,
- XESS_DUMP_ALL = 0x7FFFFFFF,
-} xess_dump_element_bits_t;
-
-typedef uint32_t xess_dump_elements_mask_t;
-
-XESS_PACK_B()
-typedef struct _xess_dump_parameters_t
-{
- /**
- * NULL-terminated ASCII string to *existing folder* where dump files should be written.
- * Library do not create the folder.
- * Files in provided folder will be overwritten.
- */
- const char *path;
- /** Frame index. Will be used as start for frame sequence. */
- uint32_t frame_idx;
- /** Frame count to dump. Few frames less may be dumped due to possible frames in flight in
- * application
- */
- uint32_t frame_count;
- /** Bitset showing set of elements that must be dumped. Element will be dumped if it exist
- * and corrseponding bit is not 0.
- * Since it's meaningless to call Dump with empty set value of 0 will mean DUMP_ALL_INPUTS
- */
- xess_dump_elements_mask_t dump_elements_mask;
- /** In case of depth render target with TYPELESS format it is not always possible
- * to interpret depth values during dumping process.
- */
-} xess_dump_parameters_t;
-XESS_PACK_E()
-
-/** @addtogroup xess-debug XeSS API debug exports
- * @{
- */
-
-/**
- * @brief Select network to be used by Xe SS
- *
- * Selects network model to use by Xe SS.
- * After call to this function - Xe SS init function *must* be called
- */
-XESS_API xess_result_t xessSelectNetworkModel(xess_context_handle_t hContext, xess_network_model_t network);
-
-/**
- * Dumps sequence of frames to the provided folder
- *
- * Call to this function initiates a dump for selected elements.
- * Xe SS SDK uses RAM cache to reduce dump overhead. Application should provide reasonable
- * value for @ref xess_dump_parameters_t::frame_count frames (about 50 megs needed per cached frame).
- * To enable several dumps per run application should provide correct
- * @ref xess_dump_parameters_t::frame_idx value. This value used as a start index for frame
- * dumping.
- * After call to this function - each call to @ref xessD3D12Execute will result in new frame dumped to
- * RAM cache.
- * After @ref xess_dump_parameters_t::frame_count frames application will be blocked on call to
- * @ref xessD3D12Execute in order to save cached frames to disk. This operation can take long time.
- * Repetetive calls to this function can result in XESS_RESULT_ERROR_OPERATION_IN_PROGRESS which means that
- * frame dump is in progress.
- *
- * @param hContext Xe SS context
- * @param dump_parameters dump configuration
- * @return operation status
- */
-XESS_API xess_result_t xessStartDump(xess_context_handle_t hContext, const xess_dump_parameters_t *dump_parameters);
-
-/** @}*/
-
-// Enum size checks. All enums must be 4 bytes
-typedef char sizecheck__LINE__[ (sizeof(xess_network_model_t) == 4) ? 1 : -1];
-typedef char sizecheck__LINE__[ (sizeof(xess_dump_element_bits_t) == 4) ? 1 : -1];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/xess/licenses/LICENSE.pdf b/xess/licenses/LICENSE.pdf
deleted file mode 100644
index 3d06c30..0000000
Binary files a/xess/licenses/LICENSE.pdf and /dev/null differ
diff --git a/xess/licenses/third-party-programs.txt b/xess/licenses/third-party-programs.txt
deleted file mode 100644
index c043b09..0000000
--- a/xess/licenses/third-party-programs.txt
+++ /dev/null
@@ -1,404 +0,0 @@
-This file is the "third-party-programs.txt" file specified in the associated Intel end user license agreement for the Intel software you are licensing.
-
-Third party programs and their corresponding required notices and/or license terms are listed below.
-
--------------------------------------------------------------------------------------
-1. effcee
- Copyright 2017 The Effcee Authors.
-
- SPIRV-Tools
-
-
-Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-------------------------------------------------------------------------------------
-2. CLIUtils CLI11
- CLI11 1.8 Copyright (c) 2017-2019 University of Cincinnati, developed by Henry
- Schreiner under NSF AWARD 1414736. All rights reserved.
-
- OpenEXR
- Copyright (c) Contributors to the OpenEXR Project. All rights reserved.
-
-BSD 3-Clause
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--------------------------------------------------------------------------------------
-3. Google Test
- Copyright 2008, Google Inc.
- All rights reserved.
-
- RE2
- Copyright (c) 2009 The RE2 Authors. All rights reserved.
-
-BSD 3-Clause (Google customized)
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
- * Neither the name of Google Inc. nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------------
-4. DirectX Shader Compiler
- Copyright (c) 2003-2015 University of Illinois at Urbana-Champaign.
- All rights reserved.
-
-
-LLVM Release License
-
-Developed by:
-
- LLVM Team
-
- University of Illinois at Urbana-Champaign
-
- http://llvm.org
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal with
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimers.
-
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimers in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the names of the LLVM Team, University of Illinois at
- Urbana-Champaign, nor the names of its contributors may be used to
- endorse or promote products derived from this Software without specific
- prior written permission.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
-SOFTWARE.
-
-==============================================================================
-Copyrights and Licenses for Third Party Software Distributed with LLVM:
-==============================================================================
-The LLVM software contains code written by third parties. Such software will
-have its own individual LICENSE.TXT file in the directory in which it appears.
-This file will describe the copyrights, license, and restrictions which apply
-to that code.
-
-The disclaimer of warranty in the University of Illinois Open Source License
-applies to all code in the LLVM Distribution, and nothing in any of the
-other licenses gives permission to use the names of the LLVM Team or the
-University of Illinois to endorse or promote products derived from this
-Software.
-
-The following pieces of software have additional or alternate copyrights,
-licenses, and/or restrictions:
-
-Program Directory
-------- ---------
-Autoconf llvm/autoconf
- llvm/projects/ModuleMaker/autoconf
-Google Test llvm/utils/unittest/googletest
-OpenBSD regex llvm/lib/Support/{reg*, COPYRIGHT.regex}
-pyyaml tests llvm/test/YAMLParser/{*.data, LICENSE.TXT}
-ARM contributions llvm/lib/Target/ARM/LICENSE.TXT
-md5 contributions llvm/lib/Support/MD5.cpp llvm/include/llvm/Support/MD5.h
-miniz llvm/lib/Miniz/miniz.c llvm/include/miniz/miniz.h llvm/lib/Miniz/LICENSE.txt
-
--------------------------------------------------------------------------------------
-5. Dear ImGui
- Copyright (c) 2014-2021 Omar Cornut
-
- Microsoft/DirectX-Graphics-Samples
- Copyright (c) 2015 Microsoft
-
- Microsoft/DirectXMesh
- Copyright (c) 2014-2022 Microsoft Corp
-
- Microsoft/DirectXTex
- Copyright (c) 2011-2022 Microsoft Corp
-
- RapidJSON
- Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
-
- renderdoc
- Copyright (c) 2015-2021 Baldur Karlsson
- Copyright (c) 2014 Crytek
- Copyright (c) 1998-2018 Third party code and tools
-
-
-MIT License
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
--------------------------------------------------------------------------------------
-6. SPIRV Headers
- Copyright (c) 2015-2018 The Khronos Group Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and/or associated documentation files (the
-"Materials"), to deal in the Materials without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Materials, and to
-permit persons to whom the Materials are furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Materials.
-
-MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
-KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
-SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
- https://www.khronos.org/registry/
-
-THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-
--------------------------------------------------------------------------------------
-7. WinPixEventRuntime
- Copyright Microsoft Corp.
-
-Terms for Microsoft “Distributable Code” provided as part of Microsoft’s Visual Studio Enterprise and Professional software under the terms of the MICROSOFT VISUAL STUDIO ENTERPRISE 2017, VISUAL STUDIO PROFESSIONAL 2017, VISUAL STUDIO TEST PROFESSIONAL 2017 AND TRIAL EDITION AGREEMENT
-
-1. License. This software package from Intel (the “Software Package”) contains code from Microsoft (the “Distributable Code”). You are provided a non-transferable, non-exclusive, non-sublicensable, limited right and license only to use and redistribute the Distributable Code as part of this Software Package. You are not allowed to copy, modify, remove the Distributable Code from the Software Package or redistribute the Distributable Code on a stand-alone basis.
-
-2. Restrictions. The Distributable Code is licensed, not sold. You are only provided the above rights to use the Distributable Code. Intel and Microsoft reserve all other rights. Unless applicable law gives you more rights, you may use the Distributable Code only as expressly permitted in these terms. In using the Distributable Code, you must comply with any technical limitations in the Distributable Code that only allow you to use it in certain ways. You may not:
-• work around any technical limitations in the Distributable Code;
-• reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the Distributable Code, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the Distributable Code;
-• remove, minimize, block or modify any notices of Intel, Microsoft or its suppliers in the Distributable Code;
-• use the Distributable Code in any way that is against the law; or
-• share, publish, rent or lease the software, or provide the Distributable Code as a stand-alone offering for others to use.
-
-3. NO WARRANTY. THE DISTRIBUTABLE CODE IS PROVIDED “AS IS” WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE.
-
-4. LIMITATION ON AND EXCLUSION OF DAMAGES. YOU CAN RECOVER FROM INTEL, MICROSOFT OR THEIR SUPPLIERS ONLY DIRECT DAMAGES UP TO $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
-This limitation applies to (a) anything related to the Distributable Code; and (b) claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law. It also applies even if Intel or Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your state or country may not allow the exclusion or limitation of incidental, consequential or other damages.
-
-5. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting.
--------------------------------------------------------------------------------------
-
diff --git a/xess/samples/basic_sample/CMakeLists.txt b/xess/samples/basic_sample/CMakeLists.txt
deleted file mode 100644
index 23f6701..0000000
--- a/xess/samples/basic_sample/CMakeLists.txt
+++ /dev/null
@@ -1,87 +0,0 @@
-################################################################################
-# INTEL CONFIDENTIAL
-#
-# Copyright (C) 2021 Intel Corporation
-#
-# This software and the related documents are Intel copyrighted materials, and
-# your use of them is governed by the express license under which they were
-# provided to you ("License"). Unless the License provides otherwise, you may
-# not use, modify, copy, publish, distribute, disclose or transmit this
-# software or the related documents without Intel's prior written permission.
-#
-# This software and the related documents are provided as is, with no express
-# or implied warranties, other than those that are expressly stated in the
-# License.
-################################################################################
-
-project(BasicSample)
-
-set(SOURCES
- basic_sample.cpp
- basic_sample.h
- DXSample.cpp
- DXSample.h
- DXSampleHelper.h
- Main.cpp
- Win32Application.cpp
- Win32Application.h
- d3dx12.h
- stdafx.cpp
- stdafx.h
- utils.cpp
- utils.h
-)
-
-set(RESOURCES shaders.hlsl)
-
-if (NOT XESS_BUILD_INTERNAL_SAMPLE)
- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
- set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
-endif()
-
-add_executable(BasicSample WIN32 ${SOURCES})
-
-set_target_properties(BasicSample PROPERTIES RESOURCE "${RESOURCES}")
-
-target_link_libraries(BasicSample PRIVATE d3d12 dxgi dxguid d3dcompiler)
-
-if (NOT XESS_BUILD_INTERNAL_SAMPLE)
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../inc)
- target_link_libraries(BasicSample PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../lib/libxess)
-else()
- target_link_libraries(BasicSample PRIVATE project_options project_warnings libxess)
-endif()
-
-target_compile_definitions(BasicSample PRIVATE UNICODE)
-
-# Copy shaders
-if (MSVC AND (NOT (${CMAKE_GENERATOR} STREQUAL "Ninja")))
- set(DEST_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$)
-else ()
- set(DEST_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
-endif()
-
-add_custom_target(CopyBasicSampleRequiredFiles ALL
- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/shaders.hlsl "${DEST_DIR}/shaders.hlsl"
-)
-
-if (NOT XESS_BUILD_INTERNAL_SAMPLE)
-
- set(SRC_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/")
- add_custom_target(CopyRequiredDLLs ALL
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SRC_PATH}/dxcompiler.dll" "${DEST_DIR}/dxcompiler.dll"
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SRC_PATH}/dxil.dll" "${DEST_DIR}/dxil.dll"
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SRC_PATH}/igxess.dll" "${DEST_DIR}/igxess.dll"
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SRC_PATH}/libxess.dll" "${DEST_DIR}/libxess.dll"
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SRC_PATH}/XeFX.dll" "${DEST_DIR}/XeFX.dll"
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SRC_PATH}/XeFX_loader.dll" "${DEST_DIR}/XeFX_loader.dll"
- )
-else ()
- install(TARGETS BasicSample
- RUNTIME DESTINATION bin
- ARCHIVE DESTINATION lib
- PUBLIC_HEADER DESTINATION inc
- RESOURCE DESTINATION bin
- )
-endif()
diff --git a/xess/samples/basic_sample/DXSample.cpp b/xess/samples/basic_sample/DXSample.cpp
deleted file mode 100644
index 8e5c08a..0000000
--- a/xess/samples/basic_sample/DXSample.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-//*********************************************************
-
-#include "stdafx.h"
-#include "DXSample.h"
-
-using namespace Microsoft::WRL;
-
-DXSample::DXSample(UINT width, UINT height, std::wstring name) :
- m_width(width),
- m_height(height),
- m_useWarpDevice(false),
- m_title(name)
-{
- WCHAR assetsPath[512];
- GetAssetsPath(assetsPath, _countof(assetsPath));
- m_assetsPath = assetsPath;
-
- m_aspectRatio = static_cast(width) / static_cast(height);
-}
-
-DXSample::~DXSample()
-{
-}
-
-// Helper function for resolving the full path of assets.
-std::wstring DXSample::GetAssetFullPath(LPCWSTR assetName)
-{
- return m_assetsPath + assetName;
-}
-
-// Helper function for acquiring the first available hardware adapter that supports Direct3D 12.
-// If no such adapter can be found, *ppAdapter will be set to nullptr.
-_Use_decl_annotations_
-void DXSample::GetHardwareAdapter(
- IDXGIFactory1* pFactory,
- IDXGIAdapter1** ppAdapter,
- bool requestHighPerformanceAdapter)
-{
- *ppAdapter = nullptr;
-
- ComPtr adapter;
-
- ComPtr factory6;
- if (SUCCEEDED(pFactory->QueryInterface(IID_PPV_ARGS(&factory6))))
- {
- for (
- UINT adapterIndex = 0;
- DXGI_ERROR_NOT_FOUND != factory6->EnumAdapterByGpuPreference(
- adapterIndex,
- requestHighPerformanceAdapter == true ? DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE : DXGI_GPU_PREFERENCE_UNSPECIFIED,
- IID_PPV_ARGS(&adapter));
- ++adapterIndex)
- {
- DXGI_ADAPTER_DESC1 desc;
- adapter->GetDesc1(&desc);
-
- if (desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE)
- {
- // Don't select the Basic Render Driver adapter.
- // If you want a software adapter, pass in "/warp" on the command line.
- continue;
- }
-
- // Check to see whether the adapter supports Direct3D 12, but don't create the
- // actual device yet.
- if (SUCCEEDED(D3D12CreateDevice(adapter.Get(), D3D_FEATURE_LEVEL_11_0, _uuidof(ID3D12Device), nullptr)))
- {
- break;
- }
- }
- }
- else
- {
- for (UINT adapterIndex = 0; DXGI_ERROR_NOT_FOUND != pFactory->EnumAdapters1(adapterIndex, &adapter); ++adapterIndex)
- {
- DXGI_ADAPTER_DESC1 desc;
- adapter->GetDesc1(&desc);
-
- if (desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE)
- {
- // Don't select the Basic Render Driver adapter.
- // If you want a software adapter, pass in "/warp" on the command line.
- continue;
- }
-
- // Check to see whether the adapter supports Direct3D 12, but don't create the
- // actual device yet.
- if (SUCCEEDED(D3D12CreateDevice(adapter.Get(), D3D_FEATURE_LEVEL_11_0, _uuidof(ID3D12Device), nullptr)))
- {
- break;
- }
- }
- }
-
- *ppAdapter = adapter.Detach();
-}
-
-// Helper function for setting the window's title text.
-void DXSample::SetCustomWindowText(LPCWSTR text)
-{
- std::wstring windowText = m_title + L": " + text;
- SetWindowText(Win32Application::GetHwnd(), windowText.c_str());
-}
-
-// Helper function for parsing any supplied command line args.
-_Use_decl_annotations_
-void DXSample::ParseCommandLineArgs(WCHAR* argv[], int argc)
-{
- for (int i = 1; i < argc; ++i)
- {
- if (_wcsnicmp(argv[i], L"-warp", wcslen(argv[i])) == 0 ||
- _wcsnicmp(argv[i], L"/warp", wcslen(argv[i])) == 0)
- {
- m_useWarpDevice = true;
- m_title = m_title + L" (WARP)";
- }
- }
-}
diff --git a/xess/samples/basic_sample/DXSample.h b/xess/samples/basic_sample/DXSample.h
deleted file mode 100644
index 247677b..0000000
--- a/xess/samples/basic_sample/DXSample.h
+++ /dev/null
@@ -1,64 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-//*********************************************************
-
-#pragma once
-
-#include "DXSampleHelper.h"
-#include "Win32Application.h"
-#include "stdafx.h"
-
-
-class DXSample
-{
-public:
- DXSample(UINT width, UINT height, std::wstring name);
- virtual ~DXSample();
-
- virtual void OnInit() = 0;
- virtual void OnUpdate() = 0;
- virtual void OnRender() = 0;
- virtual void OnDestroy() = 0;
-
- // Samples override the event handlers to handle specific messages.
- virtual void OnKeyDown(UINT8 /*key*/) {}
- virtual void OnKeyUp(UINT8 /*key*/) {}
-
- // Accessors.
- UINT GetWidth() const { return m_width; }
- UINT GetHeight() const { return m_height; }
- const WCHAR* GetTitle() const { return m_title.c_str(); }
-
- void ParseCommandLineArgs(_In_reads_(argc) WCHAR* argv[], int argc);
-
-protected:
- std::wstring GetAssetFullPath(LPCWSTR assetName);
-
- void GetHardwareAdapter(_In_ IDXGIFactory1* pFactory,
- _Outptr_result_maybenull_ IDXGIAdapter1** ppAdapter,
- bool requestHighPerformanceAdapter = false);
-
- void SetCustomWindowText(LPCWSTR text);
-
- // Viewport dimensions.
- UINT m_width;
- UINT m_height;
- float m_aspectRatio;
-
- // Adapter info.
- bool m_useWarpDevice;
-
-private:
- // Root assets path.
- std::wstring m_assetsPath;
-
- // Window title.
- std::wstring m_title;
-};
diff --git a/xess/samples/basic_sample/DXSampleHelper.h b/xess/samples/basic_sample/DXSampleHelper.h
deleted file mode 100644
index 34a1c06..0000000
--- a/xess/samples/basic_sample/DXSampleHelper.h
+++ /dev/null
@@ -1,269 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-//*********************************************************
-
-#pragma once
-
-#include
-
-#include "stdafx.h"
-
-
-// Note that while ComPtr is used to manage the lifetime of resources on the CPU,
-// it has no understanding of the lifetime of resources on the GPU. Apps must account
-// for the GPU lifetime of resources to avoid destroying objects that may still be
-// referenced by the GPU.
-using Microsoft::WRL::ComPtr;
-
-inline std::string HrToString(HRESULT hr)
-{
- char s_str[64] = {};
- sprintf_s(s_str, "HRESULT of 0x%08X", static_cast(hr));
- return std::string(s_str);
-}
-
-class HrException : public std::runtime_error
-{
-public:
- HrException(HRESULT hr) : std::runtime_error(HrToString(hr)), m_hr(hr) {}
- HRESULT Error() const { return m_hr; }
-
-private:
- const HRESULT m_hr;
-};
-
-#define SAFE_RELEASE(p) \
- if (p) \
- (p)->Release()
-
-inline void ThrowIfFailed(HRESULT hr)
-{
- if (FAILED(hr))
- {
- throw HrException(hr);
- }
-}
-
-inline void GetAssetsPath(_Out_writes_(pathSize) WCHAR* path, UINT pathSize)
-{
- if (path == nullptr)
- {
- throw std::exception();
- }
-
- DWORD size = GetModuleFileName(nullptr, path, pathSize);
- if (size == 0 || size == pathSize)
- {
- // Method failed or path was truncated.
- throw std::exception();
- }
-
- WCHAR* lastSlash = wcsrchr(path, L'\\');
- if (lastSlash)
- {
- *(lastSlash + 1) = L'\0';
- }
-}
-
-inline HRESULT ReadDataFromFile(LPCWSTR filename, byte** data, UINT* size)
-{
- using namespace Microsoft::WRL;
-
-#if WINVER >= _WIN32_WINNT_WIN8
- CREATEFILE2_EXTENDED_PARAMETERS extendedParams = {};
- extendedParams.dwSize = sizeof(CREATEFILE2_EXTENDED_PARAMETERS);
- extendedParams.dwFileAttributes = FILE_ATTRIBUTE_NORMAL;
- extendedParams.dwFileFlags = FILE_FLAG_SEQUENTIAL_SCAN;
- extendedParams.dwSecurityQosFlags = SECURITY_ANONYMOUS;
- extendedParams.lpSecurityAttributes = nullptr;
- extendedParams.hTemplateFile = nullptr;
-
- Wrappers::FileHandle file(
- CreateFile2(filename, GENERIC_READ, FILE_SHARE_READ, OPEN_EXISTING, &extendedParams));
-#else
- Wrappers::FileHandle file(CreateFile(filename,
- GENERIC_READ,
- FILE_SHARE_READ,
- nullptr,
- OPEN_EXISTING,
- FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN | SECURITY_SQOS_PRESENT |
- SECURITY_ANONYMOUS,
- nullptr));
-#endif
- if (file.Get() == INVALID_HANDLE_VALUE)
- {
- throw std::exception();
- }
-
- FILE_STANDARD_INFO fileInfo = {};
- if (!GetFileInformationByHandleEx(file.Get(), FileStandardInfo, &fileInfo, sizeof(fileInfo)))
- {
- throw std::exception();
- }
-
- if (fileInfo.EndOfFile.HighPart != 0)
- {
- throw std::exception();
- }
-
- *data = reinterpret_cast(malloc(fileInfo.EndOfFile.LowPart));
- *size = fileInfo.EndOfFile.LowPart;
-
- if (!ReadFile(file.Get(), *data, fileInfo.EndOfFile.LowPart, nullptr, nullptr))
- {
- throw std::exception();
- }
-
- return S_OK;
-}
-
-inline HRESULT ReadDataFromDDSFile(LPCWSTR filename, byte** data, UINT* offset, UINT* size)
-{
- if (FAILED(ReadDataFromFile(filename, data, size)))
- {
- return E_FAIL;
- }
-
- // DDS files always start with the same magic number.
- static const UINT DDS_MAGIC = 0x20534444;
- UINT magicNumber = *reinterpret_cast(*data);
- if (magicNumber != DDS_MAGIC)
- {
- return E_FAIL;
- }
-
- struct DDS_PIXELFORMAT
- {
- UINT size;
- UINT flags;
- UINT fourCC;
- UINT rgbBitCount;
- UINT rBitMask;
- UINT gBitMask;
- UINT bBitMask;
- UINT aBitMask;
- };
-
- struct DDS_HEADER
- {
- UINT size;
- UINT flags;
- UINT height;
- UINT width;
- UINT pitchOrLinearSize;
- UINT depth;
- UINT mipMapCount;
- UINT reserved1[11];
- DDS_PIXELFORMAT ddsPixelFormat;
- UINT caps;
- UINT caps2;
- UINT caps3;
- UINT caps4;
- UINT reserved2;
- };
-
- auto ddsHeader = reinterpret_cast(*data + sizeof(UINT));
- if (ddsHeader->size != sizeof(DDS_HEADER) ||
- ddsHeader->ddsPixelFormat.size != sizeof(DDS_PIXELFORMAT))
- {
- return E_FAIL;
- }
-
- const ptrdiff_t ddsDataOffset = sizeof(UINT) + sizeof(DDS_HEADER);
- *offset = ddsDataOffset;
- *size = *size - ddsDataOffset;
-
- return S_OK;
-}
-
-// Assign a name to the object to aid with debugging.
-#if defined(_DEBUG) || defined(DBG)
-inline void SetName(ID3D12Object* pObject, LPCWSTR name)
-{
- pObject->SetName(name);
-}
-inline void SetNameIndexed(ID3D12Object* pObject, LPCWSTR name, UINT index)
-{
- WCHAR fullName[50];
- if (swprintf_s(fullName, L"%s[%u]", name, index) > 0)
- {
- pObject->SetName(fullName);
- }
-}
-#else
-inline void SetName(ID3D12Object*, LPCWSTR)
-{
-}
-inline void SetNameIndexed(ID3D12Object*, LPCWSTR, UINT)
-{
-}
-#endif
-
-// Naming helper for ComPtr.
-// Assigns the name of the variable as the name of the object.
-// The indexed variant will include the index in the name of the object.
-#define NAME_D3D12_OBJECT(x) SetName((x).Get(), L#x)
-#define NAME_D3D12_OBJECT_INDEXED(x, n) SetNameIndexed((x)[n].Get(), L#x, n)
-
-inline UINT CalculateConstantBufferByteSize(UINT byteSize)
-{
- // Constant buffer size is required to be aligned.
- return (byteSize + ((UINT)D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT - 1)) &
- ~((UINT)D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT - 1);
-}
-
-#ifdef D3D_COMPILE_STANDARD_FILE_INCLUDE
-inline Microsoft::WRL::ComPtr CompileShader(const std::wstring& filename,
- const D3D_SHADER_MACRO* defines,
- const std::string& entrypoint,
- const std::string& target)
-{
- UINT compileFlags = 0;
-#if defined(_DEBUG) || defined(DBG)
- compileFlags = D3DCOMPILE_DEBUG | D3DCOMPILE_SKIP_OPTIMIZATION;
-#endif
-
- HRESULT hr;
-
- Microsoft::WRL::ComPtr byteCode = nullptr;
- Microsoft::WRL::ComPtr errors;
- hr = D3DCompileFromFile(filename.c_str(),
- defines,
- D3D_COMPILE_STANDARD_FILE_INCLUDE,
- entrypoint.c_str(),
- target.c_str(),
- compileFlags,
- 0,
- &byteCode,
- &errors);
-
- if (errors != nullptr)
- {
- OutputDebugStringA((char*)errors->GetBufferPointer());
- }
- ThrowIfFailed(hr);
-
- return byteCode;
-}
-#endif
-
-// Resets all elements in a ComPtr array.
-template
-void ResetComPtrArray(T* comPtrArray)
-{
- for (auto& i : *comPtrArray) { i.Reset(); }
-}
-
-// Resets all elements in a unique_ptr array.
-template
-void ResetUniquePtrArray(T* uniquePtrArray)
-{
- for (auto& i : *uniquePtrArray) { i.reset(); }
-}
diff --git a/xess/samples/basic_sample/Main.cpp b/xess/samples/basic_sample/Main.cpp
deleted file mode 100644
index c3fa975..0000000
--- a/xess/samples/basic_sample/Main.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-//*********************************************************
-
-#include "stdafx.h"
-#include "basic_sample.h"
-
-_Use_decl_annotations_
-int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int nCmdShow)
-{
- SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT_SYSTEM_AWARE);
- BasicSample sample(1920, 1080, L"D3D12 Hello Constant Buffers");
- return Win32Application::Run(&sample, hInstance, nCmdShow);
-}
diff --git a/xess/samples/basic_sample/Win32Application.cpp b/xess/samples/basic_sample/Win32Application.cpp
deleted file mode 100644
index e64b7dc..0000000
--- a/xess/samples/basic_sample/Win32Application.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-//*********************************************************
-
-#include "stdafx.h"
-#include "Win32Application.h"
-
-HWND Win32Application::m_hwnd = nullptr;
-
-int Win32Application::Run(DXSample* pSample, HINSTANCE hInstance, int nCmdShow)
-{
- // Parse the command line parameters
- int argc;
- LPWSTR* argv = CommandLineToArgvW(GetCommandLineW(), &argc);
- pSample->ParseCommandLineArgs(argv, argc);
- LocalFree(argv);
-
- // Initialize the window class.
- WNDCLASSEX windowClass = { };
- windowClass.cbSize = sizeof(WNDCLASSEX);
- windowClass.style = CS_HREDRAW | CS_VREDRAW;
- windowClass.lpfnWndProc = WindowProc;
- windowClass.hInstance = hInstance;
- windowClass.hCursor = LoadCursor(NULL, IDC_ARROW);
- windowClass.lpszClassName = L"DXSampleClass";
- RegisterClassEx(&windowClass);
-
- RECT windowRect = { 0, 0, static_cast(pSample->GetWidth()), static_cast(pSample->GetHeight()) };
- AdjustWindowRect(&windowRect, WS_OVERLAPPEDWINDOW, FALSE);
-
- // Create the window and store a handle to it.
- m_hwnd = CreateWindow(
- windowClass.lpszClassName,
- pSample->GetTitle(),
- WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- windowRect.right - windowRect.left,
- windowRect.bottom - windowRect.top,
- nullptr, // We have no parent window.
- nullptr, // We aren't using menus.
- hInstance,
- pSample);
-
- // Initialize the sample. OnInit is defined in each child-implementation of DXSample.
- pSample->OnInit();
-
- ShowWindow(m_hwnd, nCmdShow);
-
- // Main sample loop.
- MSG msg = {};
- while (msg.message != WM_QUIT)
- {
- // Process any messages in the queue.
- if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- }
-
- pSample->OnDestroy();
-
- // Return this part of the WM_QUIT message to Windows.
- return static_cast(msg.wParam);
-}
-
-// Main message handler for the sample.
-LRESULT CALLBACK Win32Application::WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
-{
- DXSample* pSample = reinterpret_cast(GetWindowLongPtr(hWnd, GWLP_USERDATA));
-
- switch (message)
- {
- case WM_CREATE:
- {
- // Save the DXSample* passed in to CreateWindow.
- LPCREATESTRUCT pCreateStruct = reinterpret_cast(lParam);
- SetWindowLongPtr(hWnd, GWLP_USERDATA, reinterpret_cast(pCreateStruct->lpCreateParams));
- }
- return 0;
-
- case WM_KEYDOWN:
- if (pSample)
- {
- pSample->OnKeyDown(static_cast(wParam));
- }
- return 0;
-
- case WM_KEYUP:
- if (pSample)
- {
- pSample->OnKeyUp(static_cast(wParam));
- }
- return 0;
-
- case WM_PAINT:
- if (pSample)
- {
- pSample->OnUpdate();
- pSample->OnRender();
- }
- return 0;
-
- case WM_DESTROY:
- PostQuitMessage(0);
- return 0;
- }
-
- // Handle any messages the switch statement didn't.
- return DefWindowProc(hWnd, message, wParam, lParam);
-}
diff --git a/xess/samples/basic_sample/Win32Application.h b/xess/samples/basic_sample/Win32Application.h
deleted file mode 100644
index 812a8f8..0000000
--- a/xess/samples/basic_sample/Win32Application.h
+++ /dev/null
@@ -1,29 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-//*********************************************************
-
-#pragma once
-
-#include "DXSample.h"
-
-class DXSample;
-
-class Win32Application
-{
-public:
- static int Run(DXSample* pSample, HINSTANCE hInstance, int nCmdShow);
- static HWND GetHwnd() { return m_hwnd; }
-
-protected:
- static LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
-
-private:
- static HWND m_hwnd;
-};
diff --git a/xess/samples/basic_sample/basic_sample.cpp b/xess/samples/basic_sample/basic_sample.cpp
deleted file mode 100644
index 5150dfe..0000000
--- a/xess/samples/basic_sample/basic_sample.cpp
+++ /dev/null
@@ -1,1002 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-//*********************************************************
-
-#include "basic_sample.h"
-
-#include
-
-#include "stdafx.h"
-#include "utils.h"
-#include "xess/xess_d3d12.h"
-#include "xess/xess_debug.h"
-
-//#define USE_LOWRES_MV 1
-
-void BasicSample::OnKeyUp(UINT8 key)
-{
- switch (key)
- {
- case 0x31: // Key 1
- m_outputIndex = DHI_Color;
- break;
- case 0x32: // Key 2
- m_outputIndex = DHI_Velocity;
- break;
- case 0x33: // Key 3
- m_outputIndex = DHI_XeSSOutputSRV;
- break;
- case 0x34: // Key 4
- {
- xess_dump_parameters_t dump_params{"dump", 0, 200, XESS_DUMP_ALL_INPUTS};
- xessStartDump(m_xessContext, &dump_params);
- break;
- }
- case VK_SPACE:
- m_pause = !m_pause;
- break;
- }
-}
-
-BasicSample::BasicSample(UINT width, UINT height, std::wstring name)
- : DXSample(width, height, name)
- , m_viewport(0.0f, 0.0f, static_cast(width), static_cast(height))
- , m_scissorRect(0, 0, static_cast(width), static_cast(height))
- , m_rtvDescriptorSize(0)
- , m_constantBufferData{}
- , m_pCbvDataBegin(nullptr)
- , m_frameIndex(0)
- , m_desiredOutputResolution{width, height}
-
-{
- m_haltonPointSet = Utils::GenerateHalton(2, 3, 1, 32);
-}
-
-void BasicSample::OnInit()
-{
- InitDx();
- InitXess();
- LoadPipeline();
- LoadAssets();
- CreateFSQPipeline();
- PopulateDescriptorHeap();
-}
-
-void BasicSample::InitDx()
-{
- UINT dxgiFactoryFlags = 0;
-
-#ifdef ENABLE_DX_DEBUG_LAYER
- // Enable the debug layer (requires the Graphics Tools "optional feature").
- // NOTE: Enabling the debug layer after device creation will invalidate the active device.
- {
- ComPtr debugController;
- if (SUCCEEDED(D3D12GetDebugInterface(IID_PPV_ARGS(&debugController))))
- {
- debugController->EnableDebugLayer();
-
- // Enable additional debug layers.
- dxgiFactoryFlags |= DXGI_CREATE_FACTORY_DEBUG;
- }
- }
-#endif
-
- ComPtr factory;
- ThrowIfFailed(CreateDXGIFactory2(dxgiFactoryFlags, IID_PPV_ARGS(&factory)));
-
- if (m_useWarpDevice)
- {
- ComPtr warpAdapter;
- ThrowIfFailed(factory->EnumWarpAdapter(IID_PPV_ARGS(&warpAdapter)));
-
- ThrowIfFailed(
- D3D12CreateDevice(warpAdapter.Get(), D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&m_device)));
- } else
- {
- ComPtr hardwareAdapter;
- GetHardwareAdapter(factory.Get(), &hardwareAdapter, true);
-
- ThrowIfFailed(D3D12CreateDevice(
- hardwareAdapter.Get(), D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&m_device)));
- }
-
- // Describe and create the command queue.
- D3D12_COMMAND_QUEUE_DESC queueDesc = {};
- queueDesc.Flags = D3D12_COMMAND_QUEUE_FLAG_NONE;
- queueDesc.Type = D3D12_COMMAND_LIST_TYPE_DIRECT;
-
- ThrowIfFailed(m_device->CreateCommandQueue(&queueDesc, IID_PPV_ARGS(&m_commandQueue)));
-
- // Describe and create the swap chain.
- DXGI_SWAP_CHAIN_DESC1 swapChainDesc = {};
- swapChainDesc.BufferCount = FrameCount;
- swapChainDesc.Width = m_width;
- swapChainDesc.Height = m_height;
- swapChainDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
- swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
- swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD;
- swapChainDesc.SampleDesc.Count = 1;
-
- ComPtr swapChain;
- ThrowIfFailed(factory->CreateSwapChainForHwnd(
- m_commandQueue.Get(), // Swap chain needs the queue so that it can force a flush on it.
- Win32Application::GetHwnd(), &swapChainDesc, nullptr, nullptr, &swapChain));
-
- // This sample does not support fullscreen transitions.
- ThrowIfFailed(
- factory->MakeWindowAssociation(Win32Application::GetHwnd(), DXGI_MWA_NO_ALT_ENTER));
-
- ThrowIfFailed(swapChain.As(&m_swapChain));
- m_frameIndex = m_swapChain->GetCurrentBackBufferIndex();
-
- D3D12_DESCRIPTOR_HEAP_DESC descriptor_heap_desc{D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV,
- AppDescriptorCount, D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE, 0};
-
- m_device->CreateDescriptorHeap(&descriptor_heap_desc, IID_PPV_ARGS(&m_appDescriptorHeap));
- m_appDescriptorHeap->SetName(L"app_descriptor_heap");
-}
-
-void BasicSample::InitXess()
-{
- auto status = xessD3D12CreateContext(m_device.Get(), &m_xessContext);
- if (status != XESS_RESULT_SUCCESS)
- {
- throw std::runtime_error("Unable to create XeSS context");
- }
-
- xess_properties_t props;
- status = xessGetProperties(m_xessContext, &m_desiredOutputResolution, &props);
- if (status != XESS_RESULT_SUCCESS)
- {
- throw std::runtime_error("Unable to get XeSS props");
- }
-
- xess_version_t xefx_version;
- status = xessGetIntelXeFXVersion(m_xessContext, &xefx_version);
- if (status != XESS_RESULT_SUCCESS)
- {
- throw std::runtime_error("Unable to get XeFX version");
- }
-
- D3D12_HEAP_DESC textures_heap_desc{props.tempTextureHeapSize,
- {D3D12_HEAP_TYPE_DEFAULT, D3D12_CPU_PAGE_PROPERTY_UNKNOWN, D3D12_MEMORY_POOL_UNKNOWN, 0, 0},
- 0, D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES};
-
- m_device->CreateHeap(&textures_heap_desc, IID_PPV_ARGS(&m_texturesHeap));
- m_texturesHeap->SetName(L"xess_textures_heap");
-
- m_uavDescriptorSize =
- m_device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV);
-
- xess_d3d12_init_params_t params = {
- /* Output width and height. */
- m_desiredOutputResolution,
- /* Quality setting */
- m_quality,
- /* Initialization flags. */
- #if defined(USE_LOWRES_MV)
- XESS_INIT_FLAG_NONE,
- #else
- XESS_INIT_FLAG_HIGH_RES_MV,
- #endif
- /* Specfies the node mask for internally created resources on
- * multi-adapter systems. */
- 0,
- /* Specfies the node visibility mask for internally created resources
- * on multi-adapter systems. */
- 0,
- /* Optional externally allocated buffers storage for Xe SS. If NULL the
- * storage is allocated internally. If allocated, the heap type must be
- * D3D12_HEAP_TYPE_DEFAULT. This heap is not accessed by the CPU. */
- nullptr,
- /* Offset in the externally allocated heap for temporary buffers storage. */
- 0,
- /* Optional externally allocated textures storage for Xe SS. If NULL the
- * storage is allocated internally. If allocated, the heap type must be
- * D3D12_HEAP_TYPE_DEFAULT. This heap is not accessed by the CPU. */
- m_texturesHeap.Get(),
- /* Offset in the externally allocated heap for temporary textures storage. */
- 0,
- /* No pipeline library */
- NULL
- };
-
- status = xessD3D12Init(m_xessContext, ¶ms);
- if (status != XESS_RESULT_SUCCESS)
- {
- throw std::runtime_error("Unable to get XeSS props");
- }
-
- // Get optimal input resolution
- status = xessGetInputResolution(
- m_xessContext, &m_desiredOutputResolution, m_quality, &m_renderResolution);
- if (status != XESS_RESULT_SUCCESS)
- {
- throw std::runtime_error("Unable to get XeSS props");
- }
-}
-
-// Load the rendering pipeline dependencies.
-void BasicSample::LoadPipeline()
-{
- // Create descriptor heaps.
- {
- // Describe and create a render target view (RTV) descriptor heap.
- D3D12_DESCRIPTOR_HEAP_DESC rtvHeapDesc = {};
- rtvHeapDesc.NumDescriptors = FrameCount * RTCount;
- rtvHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_RTV;
- rtvHeapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE;
- ThrowIfFailed(m_device->CreateDescriptorHeap(&rtvHeapDesc, IID_PPV_ARGS(&m_rtvHeap)));
-
- m_rtvDescriptorSize =
- m_device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_RTV);
- }
- {
- // Describe and create a depth stencil view (DSV) descriptor heap.
- D3D12_DESCRIPTOR_HEAP_DESC rtvHeapDesc = {};
- rtvHeapDesc.NumDescriptors = FrameCount;
- rtvHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_DSV;
- rtvHeapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE;
- ThrowIfFailed(m_device->CreateDescriptorHeap(&rtvHeapDesc, IID_PPV_ARGS(&m_dsvHeap)));
-
- m_dsvDescriptorSize =
- m_device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_DSV);
- }
-
- constexpr int depth_case = 2; // used to test various depth formats with xess*Dump calls.
- switch (depth_case)
- {
- case 0:
- m_dsvFormat = DXGI_FORMAT_D32_FLOAT;
- m_dsvTypedFormat = DXGI_FORMAT_D32_FLOAT;
- break;
- case 1:
- m_dsvFormat = DXGI_FORMAT_R32_TYPELESS;
- m_dsvTypedFormat = DXGI_FORMAT_D32_FLOAT;
- break;
- case 2:
- m_dsvFormat = DXGI_FORMAT_R32G8X24_TYPELESS;
- m_dsvTypedFormat = DXGI_FORMAT_D32_FLOAT_S8X24_UINT;
- break;
- case 3:
- m_dsvFormat = DXGI_FORMAT_R24G8_TYPELESS;
- m_dsvTypedFormat = DXGI_FORMAT_D24_UNORM_S8_UINT;
- break;
- case 4:
- m_dsvFormat = DXGI_FORMAT_R24_UNORM_X8_TYPELESS;
- m_dsvTypedFormat = DXGI_FORMAT_D24_UNORM_S8_UINT;
- break;
- case 5:
- m_dsvFormat = DXGI_FORMAT_R16_TYPELESS;
- m_dsvTypedFormat = DXGI_FORMAT_D16_UNORM;
- break;
- case 6:
- m_dsvFormat = DXGI_FORMAT_R16_UINT;
- m_dsvTypedFormat = DXGI_FORMAT_D16_UNORM;
- break;
- default:
- throw std::runtime_error("Please select depth format case!");
- break;
- }
-
- // Create frame resources.
- {
- CD3DX12_CPU_DESCRIPTOR_HANDLE rtvHandle(m_rtvHeap->GetCPUDescriptorHandleForHeapStart());
- CD3DX12_CPU_DESCRIPTOR_HANDLE dsvHandle(m_dsvHeap->GetCPUDescriptorHandleForHeapStart());
-
- // Create render targets and xes output for each frame
- for (UINT n = 0; n < FrameCount; n++)
- {
- D3D12_HEAP_PROPERTIES heap_props = CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYPE_DEFAULT);
- DXGI_FORMAT fmt = DXGI_FORMAT_R16G16B16A16_FLOAT;
- D3D12_RESOURCE_DESC tex_desc =
- CD3DX12_RESOURCE_DESC::Tex2D(fmt, m_renderResolution.x, m_renderResolution.y);
- tex_desc.MipLevels = 1;
-
- // Get swapchain
- ThrowIfFailed(m_swapChain->GetBuffer(n, IID_PPV_ARGS(&m_presentRenderTargets[n])));
-
- D3D12_CLEAR_VALUE clear_value;
- clear_value.Color[0] = m_clearColor[0];
- clear_value.Color[1] = m_clearColor[1];
- clear_value.Color[2] = m_clearColor[2];
- clear_value.Color[3] = m_clearColor[3];
- clear_value.Format = fmt;
-
- // Render target
- tex_desc.Flags = D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET;
- ThrowIfFailed(m_device->CreateCommittedResource(&heap_props, D3D12_HEAP_FLAG_NONE,
- &tex_desc, D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE, &clear_value,
- IID_PPV_ARGS(&m_renderTargets[n])));
-
- tex_desc.Flags = D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL;
- tex_desc.Format = m_dsvFormat;
- ThrowIfFailed(m_device->CreateCommittedResource(&heap_props, D3D12_HEAP_FLAG_NONE,
- &tex_desc, D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE, nullptr,
- IID_PPV_ARGS(&m_depthTargets[n])));
-
- // XeSS output
- tex_desc = CD3DX12_RESOURCE_DESC::Tex2D(
- fmt, m_desiredOutputResolution.x, m_desiredOutputResolution.y);
- tex_desc.Flags = D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS;
- ThrowIfFailed(m_device->CreateCommittedResource(&heap_props, D3D12_HEAP_FLAG_NONE,
- &tex_desc, D3D12_RESOURCE_STATE_UNORDERED_ACCESS, nullptr,
- IID_PPV_ARGS(&m_xessOutput[n])));
-
- // Velocity
- fmt = DXGI_FORMAT_R16G16_FLOAT;
- tex_desc = CD3DX12_RESOURCE_DESC::Tex2D(
- fmt, m_desiredOutputResolution.x, m_desiredOutputResolution.y);
- tex_desc.Flags = D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET;
- clear_value.Format = fmt;
- ThrowIfFailed(m_device->CreateCommittedResource(&heap_props, D3D12_HEAP_FLAG_NONE,
- &tex_desc, D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE, &clear_value,
- IID_PPV_ARGS(&m_renderTargetsVelocity[n])));
-
- // Create RTVs
- // RT_Present
- m_device->CreateRenderTargetView(m_presentRenderTargets[n].Get(), nullptr, rtvHandle);
- rtvHandle.Offset(1, m_rtvDescriptorSize);
-
- // RT_Color
- m_device->CreateRenderTargetView(m_renderTargets[n].Get(), nullptr, rtvHandle);
- rtvHandle.Offset(1, m_rtvDescriptorSize);
-
- // RT_Velocity
- m_device->CreateRenderTargetView(m_renderTargetsVelocity[n].Get(), nullptr, rtvHandle);
- rtvHandle.Offset(1, m_rtvDescriptorSize);
-
- // RT_Depth
- auto dsv_desc = D3D12_DEPTH_STENCIL_VIEW_DESC{};
- dsv_desc.Format = m_dsvTypedFormat;
- dsv_desc.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE2D;
- dsv_desc.Flags = D3D12_DSV_FLAG_NONE;
- dsv_desc.Texture2D = D3D12_TEX2D_DSV{};
- dsv_desc.Texture2D.MipSlice = 0;
- m_device->CreateDepthStencilView(m_depthTargets[n].Get(), &dsv_desc, dsvHandle);
- dsvHandle.Offset(1, m_dsvDescriptorSize);
-
- m_presentRenderTargets[n]->SetName(
- (std::wstring(L"Present") + std::to_wstring(n)).c_str());
- m_renderTargets[n]->SetName((std::wstring(L"Color") + std::to_wstring(n)).c_str());
- m_depthTargets[n]->SetName((std::wstring(L"Depth") + std::to_wstring(n)).c_str());
- m_xessOutput[n]->SetName((std::wstring(L"XeSSOutput") + std::to_wstring(n)).c_str());
- m_renderTargetsVelocity[n]->SetName(
- (std::wstring(L"Velocity") + std::to_wstring(n)).c_str());
- }
- }
-
- ThrowIfFailed(m_device->CreateCommandAllocator(
- D3D12_COMMAND_LIST_TYPE_DIRECT, IID_PPV_ARGS(&m_commandAllocator)));
-}
-
-// Load the sample assets.
-void BasicSample::LoadAssets()
-{
- // Create a root signature consisting of a descriptor table with a single CBV.
- {
- D3D12_FEATURE_DATA_ROOT_SIGNATURE featureData = {};
-
- // This is the highest version the sample supports. If CheckFeatureSupport succeeds, the
- // HighestVersion returned will not be greater than this.
- featureData.HighestVersion = D3D_ROOT_SIGNATURE_VERSION_1_1;
-
- if (FAILED(m_device->CheckFeatureSupport(
- D3D12_FEATURE_ROOT_SIGNATURE, &featureData, sizeof(featureData))))
- {
- featureData.HighestVersion = D3D_ROOT_SIGNATURE_VERSION_1_0;
- }
-
- CD3DX12_DESCRIPTOR_RANGE1 ranges[1];
- CD3DX12_ROOT_PARAMETER1 rootParameters[1];
-
- ranges[0].Init(
- D3D12_DESCRIPTOR_RANGE_TYPE_CBV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC);
- rootParameters[0].InitAsDescriptorTable(1, &ranges[0], D3D12_SHADER_VISIBILITY_ALL);
-
- // Allow input layout and deny uneccessary access to certain pipeline stages.
- D3D12_ROOT_SIGNATURE_FLAGS rootSignatureFlags =
- D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT |
- D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS |
- D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS |
- D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS;
-
- CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC rootSignatureDesc;
- rootSignatureDesc.Init_1_1(
- _countof(rootParameters), rootParameters, 0, nullptr, rootSignatureFlags);
-
- ComPtr signature;
- ComPtr error;
- ThrowIfFailed(D3DX12SerializeVersionedRootSignature(
- &rootSignatureDesc, featureData.HighestVersion, &signature, &error));
- ThrowIfFailed(m_device->CreateRootSignature(0, signature->GetBufferPointer(),
- signature->GetBufferSize(), IID_PPV_ARGS(&m_rootSignature)));
- }
-
- // Create the pipeline state, which includes compiling and loading shaders.
- {
- ComPtr vertexShader;
- ComPtr pixelShader;
-
-#if defined(_DEBUG)
- // Enable better shader debugging with the graphics debugging tools.
- UINT compileFlags = D3DCOMPILE_DEBUG | D3DCOMPILE_SKIP_OPTIMIZATION;
-#else
- UINT compileFlags = 0;
-#endif
-
- ThrowIfFailed(D3DCompileFromFile(GetAssetFullPath(L"shaders.hlsl").c_str(), nullptr,
- nullptr, "VSMainColor", "vs_5_0", compileFlags, 0, &vertexShader, nullptr));
- ThrowIfFailed(D3DCompileFromFile(GetAssetFullPath(L"shaders.hlsl").c_str(), nullptr,
- nullptr, "PSMainColor", "ps_5_0", compileFlags, 0, &pixelShader, nullptr));
-
- // Define the vertex input layout.
- D3D12_INPUT_ELEMENT_DESC inputElementDescs[] = {
- {"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0,
- D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0},
- {"COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 12,
- D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0}};
-
- // Describe and create the graphics pipeline state object (PSO).
- D3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = {};
- psoDesc.InputLayout = {inputElementDescs, _countof(inputElementDescs)};
- psoDesc.pRootSignature = m_rootSignature.Get();
- psoDesc.VS = CD3DX12_SHADER_BYTECODE(vertexShader.Get());
- psoDesc.PS = CD3DX12_SHADER_BYTECODE(pixelShader.Get());
- psoDesc.RasterizerState = CD3DX12_RASTERIZER_DESC(D3D12_DEFAULT);
- psoDesc.BlendState = CD3DX12_BLEND_DESC(D3D12_DEFAULT);
- psoDesc.DepthStencilState.DepthEnable = TRUE;
- psoDesc.DepthStencilState.DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ALL;
- psoDesc.DepthStencilState.DepthFunc = D3D12_COMPARISON_FUNC_ALWAYS;
- psoDesc.DepthStencilState.StencilEnable = TRUE;
- psoDesc.DepthStencilState.FrontFace = psoDesc.DepthStencilState.BackFace =
- D3D12_DEPTH_STENCILOP_DESC{D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP,
- D3D12_STENCIL_OP_KEEP, D3D12_COMPARISON_FUNC_ALWAYS};
- psoDesc.DepthStencilState.StencilReadMask = (UINT8)0xff;
- psoDesc.DepthStencilState.StencilWriteMask = (UINT8)0xff;
- psoDesc.SampleMask = UINT_MAX;
- psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
- psoDesc.NumRenderTargets = 1;
- psoDesc.RTVFormats[0] = DXGI_FORMAT_R16G16B16A16_FLOAT;
- psoDesc.DSVFormat = m_dsvTypedFormat;
- psoDesc.SampleDesc.Count = 1;
-
- ThrowIfFailed(m_device->CreateGraphicsPipelineState(
- &psoDesc, IID_PPV_ARGS(&m_pipelineStateColorPass)));
- }
-
- // Create velocity pass
- {
- ComPtr vertexShader;
- ComPtr pixelShader;
-
-#if defined(_DEBUG)
- // Enable better shader debugging with the graphics debugging tools.
- UINT compileFlags = D3DCOMPILE_DEBUG | D3DCOMPILE_SKIP_OPTIMIZATION;
-#else
- UINT compileFlags = 0;
-#endif
-
- ThrowIfFailed(D3DCompileFromFile(GetAssetFullPath(L"shaders.hlsl").c_str(), nullptr,
- nullptr, "VSMainVelocity", "vs_5_0", compileFlags, 0, &vertexShader, nullptr));
- ThrowIfFailed(D3DCompileFromFile(GetAssetFullPath(L"shaders.hlsl").c_str(), nullptr,
- nullptr, "PSMainVelocity", "ps_5_0", compileFlags, 0, &pixelShader, nullptr));
-
- // Define the vertex input layout.
- D3D12_INPUT_ELEMENT_DESC inputElementDescs[] = {
- {"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0,
- D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0},
- {"COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 12,
- D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0}};
-
- // Describe and create the graphics pipeline state object (PSO).
- D3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = {};
- psoDesc.InputLayout = {inputElementDescs, _countof(inputElementDescs)};
- psoDesc.pRootSignature = m_rootSignature.Get();
- psoDesc.VS = CD3DX12_SHADER_BYTECODE(vertexShader.Get());
- psoDesc.PS = CD3DX12_SHADER_BYTECODE(pixelShader.Get());
- psoDesc.RasterizerState = CD3DX12_RASTERIZER_DESC(D3D12_DEFAULT);
- psoDesc.BlendState = CD3DX12_BLEND_DESC(D3D12_DEFAULT);
- psoDesc.DepthStencilState.DepthEnable = FALSE;
- psoDesc.DepthStencilState.StencilEnable = FALSE;
- psoDesc.SampleMask = UINT_MAX;
- psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
- psoDesc.NumRenderTargets = 1;
- psoDesc.RTVFormats[0] = DXGI_FORMAT_R16G16_FLOAT;
- psoDesc.SampleDesc.Count = 1;
-
- ThrowIfFailed(m_device->CreateGraphicsPipelineState(
- &psoDesc, IID_PPV_ARGS(&m_pipelineStateVelocityPass)));
- }
-
- // Create the command list.
- ThrowIfFailed(m_device->CreateCommandList(0, D3D12_COMMAND_LIST_TYPE_DIRECT,
- m_commandAllocator.Get(), m_pipelineStateColorPass.Get(), IID_PPV_ARGS(&m_commandList)));
-
- // Command lists are created in the recording state, but there is nothing
- // to record yet. The main loop expects it to be closed, so close it now.
- ThrowIfFailed(m_commandList->Close());
-
- // Create the vertex buffer.
- {
- // Define the geometry for a triangle.
- Vertex triangleVertices[] = {
- {{0.0f, 0.25f * m_aspectRatio, 0.01f}, {1.0f, 0.0f, 0.0f, 1.0f}},
- {{0.25f, -0.25f * m_aspectRatio, 0.5f}, {0.0f, 1.0f, 0.0f, 1.0f}},
- {{-0.25f, -0.25f * m_aspectRatio, 0.2f}, {0.0f, 0.0f, 1.0f, 1.0f}}};
-
- const UINT vertexBufferSize = sizeof(triangleVertices);
-
- // Note: using upload heaps to transfer static data like vert buffers is not
- // recommended. Every time the GPU needs it, the upload heap will be marshalled
- // over. Please read up on Default Heap usage. An upload heap is used here for
- // code simplicity and because there are very few verts to actually transfer.
- auto heap_props = CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYPE_UPLOAD);
- auto resource_desc = CD3DX12_RESOURCE_DESC::Buffer(vertexBufferSize);
- ThrowIfFailed(
- m_device->CreateCommittedResource(&heap_props, D3D12_HEAP_FLAG_NONE, &resource_desc,
- D3D12_RESOURCE_STATE_GENERIC_READ, nullptr, IID_PPV_ARGS(&m_vertexBuffer)));
-
- // Copy the triangle data to the vertex buffer.
- UINT8* pVertexDataBegin;
- CD3DX12_RANGE readRange(0, 0); // We do not intend to read from this resource on the CPU.
- ThrowIfFailed(
- m_vertexBuffer->Map(0, &readRange, reinterpret_cast(&pVertexDataBegin)));
- memcpy(pVertexDataBegin, triangleVertices, sizeof(triangleVertices));
- m_vertexBuffer->Unmap(0, nullptr);
-
- // Initialize the vertex buffer view.
- m_vertexBufferView.BufferLocation = m_vertexBuffer->GetGPUVirtualAddress();
- m_vertexBufferView.StrideInBytes = sizeof(Vertex);
- m_vertexBufferView.SizeInBytes = vertexBufferSize;
- }
-
- // Create the constant buffer.
- {
- const UINT constantBufferSize =
- sizeof(SceneConstantBuffer); // CB size is required to be 256-byte aligned.
-
- auto heap_props = CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYPE_UPLOAD);
- auto resource_desc = CD3DX12_RESOURCE_DESC::Buffer(constantBufferSize);
- ThrowIfFailed(
- m_device->CreateCommittedResource(&heap_props, D3D12_HEAP_FLAG_NONE, &resource_desc,
- D3D12_RESOURCE_STATE_GENERIC_READ, nullptr, IID_PPV_ARGS(&m_constantBuffer)));
-
- // Describe and create a constant buffer view.
- D3D12_CONSTANT_BUFFER_VIEW_DESC cbvDesc = {};
- cbvDesc.BufferLocation = m_constantBuffer->GetGPUVirtualAddress();
- cbvDesc.SizeInBytes = constantBufferSize;
- m_device->CreateConstantBufferView(
- &cbvDesc, m_appDescriptorHeap->GetCPUDescriptorHandleForHeapStart());
-
- // Map and initialize the constant buffer. We don't unmap this until the
- // app closes. Keeping things mapped for the lifetime of the resource is okay.
- CD3DX12_RANGE readRange(0, 0); // We do not intend to read from this resource on the CPU.
- ThrowIfFailed(
- m_constantBuffer->Map(0, &readRange, reinterpret_cast(&m_pCbvDataBegin)));
- memcpy(m_pCbvDataBegin, &m_constantBufferData, sizeof(m_constantBufferData));
- }
-
- // Create synchronization objects and wait until assets have been uploaded to the GPU.
- {
- ThrowIfFailed(m_device->CreateFence(0, D3D12_FENCE_FLAG_NONE, IID_PPV_ARGS(&m_fence)));
- m_fenceValue = 1;
-
- // Create an event handle to use for frame synchronization.
- m_fenceEvent = CreateEvent(nullptr, FALSE, FALSE, nullptr);
- if (m_fenceEvent == nullptr)
- {
- ThrowIfFailed(HRESULT_FROM_WIN32(GetLastError()));
- }
-
- // Wait for the command list to execute; we are reusing the same command
- // list in our main loop but for now, we just want to wait for setup to
- // complete before continuing.
- WaitForPreviousFrame();
- }
-}
-
-void BasicSample::PopulateDescriptorHeap()
-{
- auto addTexture =
- [&](std::uint32_t index, ID3D12Resource* resource, DXGI_FORMAT fmt, bool is_uav = false)
- {
- CD3DX12_CPU_DESCRIPTOR_HANDLE cpuDescHandle(
- m_appDescriptorHeap->GetCPUDescriptorHandleForHeapStart(), (INT)index, m_uavDescriptorSize);
-
- if (is_uav)
- {
- D3D12_UNORDERED_ACCESS_VIEW_DESC uavDesc = {};
-
- uavDesc.Format = fmt;
- uavDesc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE2D;
- uavDesc.Texture2D.MipSlice = 0;
- uavDesc.Texture2D.PlaneSlice = 0;
-
- m_device->CreateUnorderedAccessView(resource, nullptr, &uavDesc, cpuDescHandle);
- } else
- {
- D3D12_SHADER_RESOURCE_VIEW_DESC srvDesc = {};
-
- srvDesc.Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING;
- srvDesc.Format = fmt;
- srvDesc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2D;
- srvDesc.Texture2D.MipLevels = 1;
- srvDesc.Texture2D.MostDetailedMip = 0;
- srvDesc.Texture2D.PlaneSlice = 0;
- m_device->CreateShaderResourceView(resource, &srvDesc, cpuDescHandle);
- }
- };
-
- for (UINT n = 0; n < FrameCount; ++n)
- {
- addTexture(DescriptorsPerFrame * n + DHI_Color, m_renderTargets[n].Get(),
- DXGI_FORMAT_R16G16B16A16_FLOAT);
- addTexture(DescriptorsPerFrame * n + DHI_Velocity,
- m_renderTargetsVelocity[n].Get(), DXGI_FORMAT_R16G16_FLOAT);
- addTexture(DescriptorsPerFrame * n + DHI_XeSSOutputUAV, m_xessOutput[n].Get(),
- DXGI_FORMAT_R16G16B16A16_FLOAT, true);
- addTexture(DescriptorsPerFrame * n + DHI_XeSSOutputSRV, m_xessOutput[n].Get(),
- DXGI_FORMAT_R16G16B16A16_FLOAT);
- }
-}
-
-void BasicSample::CreateFSQPipeline()
-{
- // Create a root signature
- {
- D3D12_FEATURE_DATA_ROOT_SIGNATURE featureData = {};
-
- // This is the highest version the sample supports. If CheckFeatureSupport succeeds, the
- // HighestVersion returned will not be greater than this.
- featureData.HighestVersion = D3D_ROOT_SIGNATURE_VERSION_1_1;
-
- if (FAILED(m_device->CheckFeatureSupport(
- D3D12_FEATURE_ROOT_SIGNATURE, &featureData, sizeof(featureData))))
- {
- featureData.HighestVersion = D3D_ROOT_SIGNATURE_VERSION_1_0;
- }
-
- CD3DX12_DESCRIPTOR_RANGE1 ranges[1];
- ranges[0].Init(
- D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE);
-
- CD3DX12_ROOT_PARAMETER1 rootParameters[1];
- rootParameters[0].InitAsDescriptorTable(1, &ranges[0], D3D12_SHADER_VISIBILITY_PIXEL);
-
- D3D12_STATIC_SAMPLER_DESC sampler = {};
- sampler.Filter = D3D12_FILTER_MIN_MAG_MIP_POINT;
- sampler.AddressU = D3D12_TEXTURE_ADDRESS_MODE_BORDER;
- sampler.AddressV = D3D12_TEXTURE_ADDRESS_MODE_BORDER;
- sampler.AddressW = D3D12_TEXTURE_ADDRESS_MODE_BORDER;
- sampler.MipLODBias = 0;
- sampler.MaxAnisotropy = 0;
- sampler.ComparisonFunc = D3D12_COMPARISON_FUNC_NEVER;
- sampler.BorderColor = D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK;
- sampler.MinLOD = 0.0f;
- sampler.MaxLOD = D3D12_FLOAT32_MAX;
- sampler.ShaderRegister = 0;
- sampler.RegisterSpace = 0;
- sampler.ShaderVisibility = D3D12_SHADER_VISIBILITY_PIXEL;
-
- CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC rootSignatureDesc;
- rootSignatureDesc.Init_1_1(_countof(rootParameters), rootParameters, 1, &sampler,
- D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT);
-
- ComPtr signature;
- ComPtr error;
- ThrowIfFailed(D3DX12SerializeVersionedRootSignature(
- &rootSignatureDesc, featureData.HighestVersion, &signature, &error));
- ThrowIfFailed(m_device->CreateRootSignature(0, signature->GetBufferPointer(),
- signature->GetBufferSize(), IID_PPV_ARGS(&m_rootSignatureFSQ)));
- }
-
- // Create the pipeline state, which includes compiling and loading shaders.
- {
- ComPtr vertexShader;
- ComPtr pixelShader;
-
-#if defined(_DEBUG)
- // Enable better shader debugging with the graphics debugging tools.
- UINT compileFlags = D3DCOMPILE_DEBUG | D3DCOMPILE_SKIP_OPTIMIZATION;
-#else
- UINT compileFlags = 0;
-#endif
-
- ThrowIfFailed(D3DCompileFromFile(GetAssetFullPath(L"shaders.hlsl").c_str(), nullptr,
- nullptr, "VSMainFSQ", "vs_5_0", compileFlags, 0, &vertexShader, nullptr));
- ThrowIfFailed(D3DCompileFromFile(GetAssetFullPath(L"shaders.hlsl").c_str(), nullptr,
- nullptr, "PSMainFSQ", "ps_5_0", compileFlags, 0, &pixelShader, nullptr));
-
- // Describe and create the graphics pipeline state object (PSO).
- D3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = {};
- psoDesc.InputLayout = {};
- psoDesc.pRootSignature = m_rootSignatureFSQ.Get();
- psoDesc.VS = CD3DX12_SHADER_BYTECODE(vertexShader.Get());
- psoDesc.PS = CD3DX12_SHADER_BYTECODE(pixelShader.Get());
- psoDesc.RasterizerState = CD3DX12_RASTERIZER_DESC(D3D12_DEFAULT);
- psoDesc.BlendState = CD3DX12_BLEND_DESC(D3D12_DEFAULT);
- psoDesc.DepthStencilState.DepthEnable = FALSE;
- psoDesc.DepthStencilState.StencilEnable = FALSE;
- psoDesc.SampleMask = UINT_MAX;
- psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
- psoDesc.NumRenderTargets = 1;
- psoDesc.RTVFormats[0] = DXGI_FORMAT_R8G8B8A8_UNORM;
- psoDesc.SampleDesc.Count = 1;
-
- ThrowIfFailed(
- m_device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&m_pipelineStateFSQPass)));
- }
-}
-
-// Update frame-based values.
-void BasicSample::OnUpdate()
-{
- if (last_time.time_since_epoch().count() == 0)
- {
- last_time = std::chrono::high_resolution_clock::now();
- }
-
- auto current_time = std::chrono::high_resolution_clock::now();
- std::chrono::duration elapsed_seconds = current_time - last_time;
- last_time = current_time;
-
- const double speed = 1. / 2; //4 second for screen
- float translationSpeed = m_pause ? 0.f : (float)(speed * elapsed_seconds.count());
- const float offsetBounds = 1.25f;
-
- m_constantBufferData.offset.x += translationSpeed;
- if (m_constantBufferData.offset.x > offsetBounds)
- {
- m_constantBufferData.offset.x = -offsetBounds;
- }
-
- auto haltonValue = m_haltonPointSet[m_haltonIndex];
- m_haltonIndex = (m_haltonIndex + 1) % m_haltonPointSet.size();
-
- jitter[0] = haltonValue.first;
- jitter[1] = haltonValue.second;
-
- m_constantBufferData.offset.z = jitter[0];
- m_constantBufferData.offset.w = jitter[1];
-
- m_constantBufferData.resolution.x = (float)m_renderResolution.x;
- m_constantBufferData.resolution.y = (float)m_renderResolution.y;
-
- m_constantBufferData.velocity.x = -translationSpeed * ((float)m_desiredOutputResolution.x / 2.f);
-
- memcpy(m_pCbvDataBegin, &m_constantBufferData, sizeof(m_constantBufferData));
-}
-
-// Render the scene.
-void BasicSample::OnRender()
-{
- // Record all the commands we need to render the scene into the command list.
- PopulateCommandList();
-
- // Execute the command list.
- ID3D12CommandList* ppCommandLists[] = {m_commandList.Get()};
- m_commandQueue->ExecuteCommandLists(_countof(ppCommandLists), ppCommandLists);
-
- // Present the frame.
- ThrowIfFailed(m_swapChain->Present(1, 0));
-
- WaitForPreviousFrame();
-}
-
-void BasicSample::OnDestroy()
-{
- // Ensure that the GPU is no longer referencing resources that are about to be
- // cleaned up by the destructor.
- WaitForPreviousFrame();
-
- auto status = xessDestroyContext(m_xessContext);
- if (status != XESS_RESULT_SUCCESS)
- {
- throw std::runtime_error("Unable to destroy XeSS context");
- }
-
- CloseHandle(m_fenceEvent);
-}
-
-// Fill the command list with all the render commands and dependent state.
-void BasicSample::PopulateCommandList()
-{
- // Command list allocators can only be reset when the associated
- // command lists have finished execution on the GPU; apps should use
- // fences to determine GPU execution progress.
- ThrowIfFailed(m_commandAllocator->Reset());
-
- // However, when ExecuteCommandList() is called on a particular command
- // list, that command list can then be reset at any time and must be before
- // re-recording.
- ThrowIfFailed(m_commandList->Reset(m_commandAllocator.Get(), m_pipelineStateColorPass.Get()));
-
- // Run Color pass
- {
- // Set necessary state.
- m_commandList->SetGraphicsRootSignature(m_rootSignature.Get());
-
- ID3D12DescriptorHeap* ppHeaps[] = {m_appDescriptorHeap.Get()};
- m_commandList->SetDescriptorHeaps(_countof(ppHeaps), ppHeaps);
-
- CD3DX12_VIEWPORT render_res_viewport(
- 0.f, 0.f, (float)m_renderResolution.x, (float)m_renderResolution.y);
- CD3DX12_RECT render_res_scissors(0, 0, (LONG)m_renderResolution.x, (LONG)m_renderResolution.y);
-
- m_commandList->SetGraphicsRootDescriptorTable(
- 0, m_appDescriptorHeap->GetGPUDescriptorHandleForHeapStart());
- m_commandList->RSSetViewports(1, &render_res_viewport);
- m_commandList->RSSetScissorRects(1, &render_res_scissors);
-
- // Transition Color buffer to render target
- std::vector transition =
- { CD3DX12_RESOURCE_BARRIER::Transition(m_renderTargets[m_frameIndex].Get(),
- D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE, D3D12_RESOURCE_STATE_RENDER_TARGET),
- CD3DX12_RESOURCE_BARRIER::Transition(m_depthTargets[m_frameIndex].Get(),
- D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE, D3D12_RESOURCE_STATE_DEPTH_WRITE),
-
- };
- m_commandList->ResourceBarrier((UINT)transition.size(), transition.data());
-
- CD3DX12_CPU_DESCRIPTOR_HANDLE rtvHandle =
- CD3DX12_CPU_DESCRIPTOR_HANDLE(m_rtvHeap->GetCPUDescriptorHandleForHeapStart(),
- (INT)(m_frameIndex * RTCount + RT_Color), m_rtvDescriptorSize);
- CD3DX12_CPU_DESCRIPTOR_HANDLE dsvHandle =
- CD3DX12_CPU_DESCRIPTOR_HANDLE(m_dsvHeap->GetCPUDescriptorHandleForHeapStart(),
- (INT)(m_frameIndex), m_dsvDescriptorSize);
- m_commandList->OMSetRenderTargets(1, &rtvHandle, FALSE, &dsvHandle);
-
- // Record commands.
- m_commandList->ClearRenderTargetView(rtvHandle, m_clearColor, 0, nullptr);
- m_commandList->ClearDepthStencilView(
- dsvHandle, D3D12_CLEAR_FLAG_DEPTH | D3D12_CLEAR_FLAG_STENCIL, 0.0f, 0, 0, nullptr);
- m_commandList->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
- m_commandList->IASetVertexBuffers(0, 1, &m_vertexBufferView);
- m_commandList->DrawInstanced(3, 1, 0, 0);
- }
-
- // Run velocity pass
- {
- m_commandList->SetPipelineState(m_pipelineStateVelocityPass.Get());
-
- m_commandList->RSSetViewports(1, &m_viewport);
- m_commandList->RSSetScissorRects(1, &m_scissorRect);
-
- // Indicate that the back buffer will be used as a render target.
- CD3DX12_RESOURCE_BARRIER transition =
- CD3DX12_RESOURCE_BARRIER::Transition(m_renderTargetsVelocity[m_frameIndex].Get(),
- D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE, D3D12_RESOURCE_STATE_RENDER_TARGET);
- m_commandList->ResourceBarrier(1, &transition);
-
- CD3DX12_CPU_DESCRIPTOR_HANDLE rtvHandle =
- CD3DX12_CPU_DESCRIPTOR_HANDLE(m_rtvHeap->GetCPUDescriptorHandleForHeapStart(),
- (INT)(m_frameIndex * RTCount + RT_Velocity), m_rtvDescriptorSize);
- m_commandList->OMSetRenderTargets(1, &rtvHandle, FALSE, nullptr);
-
- // Record commands.
- m_commandList->ClearRenderTargetView(rtvHandle, m_clearColor, 0, nullptr);
- m_commandList->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
- m_commandList->IASetVertexBuffers(0, 1, &m_vertexBufferView);
- m_commandList->DrawInstanced(3, 1, 0, 0);
- }
-
- // Transition render targets D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE for XeSS
- std::vector transitions = {
- CD3DX12_RESOURCE_BARRIER::Transition(m_renderTargets[m_frameIndex].Get(),
- D3D12_RESOURCE_STATE_RENDER_TARGET, D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE),
- CD3DX12_RESOURCE_BARRIER::Transition(m_renderTargetsVelocity[m_frameIndex].Get(),
- D3D12_RESOURCE_STATE_RENDER_TARGET, D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE),
- CD3DX12_RESOURCE_BARRIER::Transition(m_depthTargets[m_frameIndex].Get(),
- D3D12_RESOURCE_STATE_DEPTH_WRITE, D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE),
- };
- m_commandList->ResourceBarrier((UINT)transitions.size(), transitions.data());
-
- // Run XeSS
- {
- xess_d3d12_execute_params_t exec_params{};
- exec_params.inputWidth = m_renderResolution.x;
- exec_params.inputHeight = m_renderResolution.y;
- exec_params.jitterOffsetX = jitter[0];
- exec_params.jitterOffsetY = -jitter[1];
- exec_params.exposureScale = 1.0f;
-
- exec_params.pColorTexture = m_renderTargets[m_frameIndex].Get();
- exec_params.pVelocityTexture = m_renderTargetsVelocity[m_frameIndex].Get();
- exec_params.pOutputTexture = m_xessOutput[m_frameIndex].Get();
- #if defined(USE_LOWRES_MV)
- exec_params.pDepthTexture = m_depthTargets[m_frameIndex].Get();
- #else
- exec_params.pDepthTexture = nullptr;
- #endif
- exec_params.pExposureScaleTexture = 0;
- auto status = xessD3D12Execute(m_xessContext, m_commandList.Get(), &exec_params);
- if (status != XESS_RESULT_SUCCESS)
- {
- throw std::runtime_error("Unable to run XeSS");
- }
- }
-
- // Render XeSS output using full screen quad
- {
- ID3D12DescriptorHeap* ppHeaps[] = {m_appDescriptorHeap.Get()};
- m_commandList->SetDescriptorHeaps(_countof(ppHeaps), ppHeaps);
-
- // Transition XeSS output is in UAV so we need to transition it to SRV
- CD3DX12_RESOURCE_BARRIER transition = CD3DX12_RESOURCE_BARRIER::Transition(
- m_xessOutput[m_frameIndex].Get(), D3D12_RESOURCE_STATE_UNORDERED_ACCESS,
- D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE);
- m_commandList->ResourceBarrier(1, &transition);
-
- m_commandList->SetPipelineState(m_pipelineStateFSQPass.Get());
-
- m_commandList->SetGraphicsRootSignature(m_rootSignatureFSQ.Get());
-
- // Use selected output (DHI_XeSSOutputSRV by default)
- CD3DX12_GPU_DESCRIPTOR_HANDLE gpuDescHandle(
- m_appDescriptorHeap->GetGPUDescriptorHandleForHeapStart(),
- (INT)((DescriptorsPerFrame * m_frameIndex) + m_outputIndex), m_uavDescriptorSize);
- m_commandList->SetGraphicsRootDescriptorTable(0, gpuDescHandle);
- m_commandList->RSSetViewports(1, &m_viewport);
- m_commandList->RSSetScissorRects(1, &m_scissorRect);
-
- // Indicate that the back buffer will be used as a render target.
- transition =
- CD3DX12_RESOURCE_BARRIER::Transition(m_presentRenderTargets[m_frameIndex].Get(),
- D3D12_RESOURCE_STATE_PRESENT, D3D12_RESOURCE_STATE_RENDER_TARGET);
- m_commandList->ResourceBarrier(1, &transition);
-
- CD3DX12_CPU_DESCRIPTOR_HANDLE rtvHandle =
- CD3DX12_CPU_DESCRIPTOR_HANDLE(m_rtvHeap->GetCPUDescriptorHandleForHeapStart(),
- (INT)(m_frameIndex * RTCount), m_rtvDescriptorSize);
- m_commandList->OMSetRenderTargets(1, &rtvHandle, FALSE, nullptr);
-
- // Record commands.
- m_commandList->ClearRenderTargetView(rtvHandle, m_clearColor, 0, nullptr);
- m_commandList->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
- m_commandList->IASetVertexBuffers(0, 1, &m_vertexBufferView);
- m_commandList->DrawInstanced(3, 1, 0, 0);
-
- // Transition RT to present
- transition =
- CD3DX12_RESOURCE_BARRIER::Transition(m_presentRenderTargets[m_frameIndex].Get(),
- D3D12_RESOURCE_STATE_RENDER_TARGET, D3D12_RESOURCE_STATE_PRESENT);
- m_commandList->ResourceBarrier(1, &transition);
-
- // Transition XeSS output to UAV for future use
- transition = CD3DX12_RESOURCE_BARRIER::Transition(m_xessOutput[m_frameIndex].Get(),
- D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE, D3D12_RESOURCE_STATE_UNORDERED_ACCESS);
- m_commandList->ResourceBarrier(1, &transition);
- }
-
- ThrowIfFailed(m_commandList->Close());
-}
-
-void BasicSample::WaitForPreviousFrame()
-{
- // WAITING FOR THE FRAME TO COMPLETE BEFORE CONTINUING IS NOT BEST PRACTICE.
- // This is code implemented as such for simplicity. The D3D12HelloFrameBuffering
- // sample illustrates how to use fences for efficient resource usage and to
- // maximize GPU utilization.
-
- // Signal and increment the fence value.
- const UINT64 fence = m_fenceValue;
- ThrowIfFailed(m_commandQueue->Signal(m_fence.Get(), fence));
- m_fenceValue++;
-
- // Wait until the previous frame is finished.
- if (m_fence->GetCompletedValue() < fence)
- {
- ThrowIfFailed(m_fence->SetEventOnCompletion(fence, m_fenceEvent));
- WaitForSingleObject(m_fenceEvent, INFINITE);
- }
-
- m_frameIndex = m_swapChain->GetCurrentBackBufferIndex();
-}
diff --git a/xess/samples/basic_sample/basic_sample.h b/xess/samples/basic_sample/basic_sample.h
deleted file mode 100644
index 215f409..0000000
--- a/xess/samples/basic_sample/basic_sample.h
+++ /dev/null
@@ -1,151 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-//*********************************************************
-
-#pragma once
-
-#include "DXSample.h"
-#include "xess/xess_d3d12.h"
-
-#include
-
-using namespace DirectX;
-
-// Note that while ComPtr is used to manage the lifetime of resources on the CPU,
-// it has no understanding of the lifetime of resources on the GPU. Apps must account
-// for the GPU lifetime of resources to avoid destroying objects that may still be
-// referenced by the GPU.
-// An example of this can be found in the class method: OnDestroy().
-using Microsoft::WRL::ComPtr;
-
-class BasicSample : public DXSample
-{
-public:
- BasicSample(UINT width, UINT height, std::wstring name);
-
- virtual void OnInit();
- virtual void OnUpdate();
- virtual void OnRender();
- virtual void OnDestroy();
-
- virtual void OnKeyUp(UINT8 key);
-
-private:
- enum DescriptorHeapIndices
- {
- DHI_Scene = 0,
- DHI_Color = 1,
- DHI_Velocity = 2,
- DHI_Depth = 3,
- DHI_XeSSOutputUAV = 4,
- DHI_XeSSOutputSRV = 5
- };
-
- enum RTIndices
- {
- RT_Present = 0,
- RT_Color = 1,
- RT_Velocity = 2,
- RT_Depth = 3,
- };
-
- static const UINT DescriptorsPerFrame = 5;
- static const UINT FrameCount = 2;
- static const uint32_t AppDescriptorCount = 64;
- static const UINT RTCount = 3;
-
- virtual void InitDx();
- virtual void InitXess();
- virtual void CreateFSQPipeline();
- virtual void PopulateDescriptorHeap();
-
- struct Vertex
- {
- XMFLOAT3 position;
- XMFLOAT4 color;
- };
-
- struct SceneConstantBuffer
- {
- XMFLOAT4 offset; // X, Y - offset, Z, W - jitter
- XMFLOAT4 velocity;
- XMFLOAT4 resolution;
- float padding[52]; // Padding so the constant buffer is 256-byte aligned.
- };
- static_assert((sizeof(SceneConstantBuffer) % 256) == 0,
- "Constant Buffer size must be 256-byte aligned");
-
- // Pipeline objects.
- CD3DX12_VIEWPORT m_viewport;
- CD3DX12_RECT m_scissorRect;
- ComPtr m_swapChain;
- ComPtr m_device;
- ComPtr m_renderTargets[FrameCount];
- ComPtr m_depthTargets[FrameCount];
- ComPtr m_renderTargetsVelocity[FrameCount];
- ComPtr m_presentRenderTargets[FrameCount];
- ComPtr m_commandAllocator;
- ComPtr m_commandQueue;
- ComPtr m_rootSignature;
- ComPtr m_rtvHeap;
- ComPtr m_dsvHeap;
- ComPtr m_appDescriptorHeap;
- ComPtr m_pipelineStateColorPass;
- ComPtr m_pipelineStateVelocityPass;
- ComPtr m_commandList;
- DXGI_FORMAT m_dsvFormat;
- DXGI_FORMAT m_dsvTypedFormat;
-
- std::uint32_t m_outputIndex = DHI_XeSSOutputSRV;
- UINT m_rtvDescriptorSize;
- UINT m_dsvDescriptorSize;
- UINT m_uavDescriptorSize;
-
- ComPtr m_rootSignatureFSQ;
- ComPtr m_pipelineStateFSQPass;
- ComPtr m_sapmlerFSQ;
-
- const float m_clearColor[4] = {0.0f, 0.0f, 0.0f, 0.0f};
-
- // App resources.
- ComPtr m_vertexBuffer;
- D3D12_VERTEX_BUFFER_VIEW m_vertexBufferView;
- ComPtr m_constantBuffer;
- SceneConstantBuffer m_constantBufferData;
- UINT8* m_pCbvDataBegin;
-
- // Synchronization objects.
- UINT m_frameIndex;
- HANDLE m_fenceEvent;
- ComPtr m_fence;
- UINT64 m_fenceValue;
-
- bool m_pause = false;
-
- // Jitter
- std::vector> m_haltonPointSet;
- std::size_t m_haltonIndex = 0;
- float jitter[2];
-
- // XeSS
- xess_context_handle_t m_xessContext = nullptr;
- xess_2d_t m_desiredOutputResolution;
- xess_2d_t m_renderResolution;
- ComPtr m_texturesHeap;
- ComPtr m_xessOutput[FrameCount];
- const xess_quality_settings_t m_quality = XESS_QUALITY_SETTING_PERFORMANCE;
-
- std::chrono::time_point last_time;
-
- void LoadPipeline();
- void LoadAssets();
- void PopulateCommandList();
- void WaitForPreviousFrame();
-};
diff --git a/xess/samples/basic_sample/d3dx12.h b/xess/samples/basic_sample/d3dx12.h
deleted file mode 100644
index 3959e94..0000000
--- a/xess/samples/basic_sample/d3dx12.h
+++ /dev/null
@@ -1,3905 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-//*********************************************************
-
-#ifndef __D3DX12_H__
-#define __D3DX12_H__
-
-#include "d3d12.h"
-
-#if defined( __cplusplus )
-
-struct CD3DX12_DEFAULT {};
-extern const DECLSPEC_SELECTANY CD3DX12_DEFAULT D3D12_DEFAULT;
-
-//------------------------------------------------------------------------------------------------
-inline bool operator==( const D3D12_VIEWPORT& l, const D3D12_VIEWPORT& r ) noexcept
-{
- return l.TopLeftX == r.TopLeftX && l.TopLeftY == r.TopLeftY && l.Width == r.Width &&
- l.Height == r.Height && l.MinDepth == r.MinDepth && l.MaxDepth == r.MaxDepth;
-}
-
-//------------------------------------------------------------------------------------------------
-inline bool operator!=( const D3D12_VIEWPORT& l, const D3D12_VIEWPORT& r ) noexcept
-{ return !( l == r ); }
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RECT : public D3D12_RECT
-{
- CD3DX12_RECT() = default;
- explicit CD3DX12_RECT( const D3D12_RECT& o ) noexcept :
- D3D12_RECT( o )
- {}
- explicit CD3DX12_RECT(
- LONG Left,
- LONG Top,
- LONG Right,
- LONG Bottom ) noexcept
- {
- left = Left;
- top = Top;
- right = Right;
- bottom = Bottom;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_VIEWPORT : public D3D12_VIEWPORT
-{
- CD3DX12_VIEWPORT() = default;
- explicit CD3DX12_VIEWPORT( const D3D12_VIEWPORT& o ) noexcept :
- D3D12_VIEWPORT( o )
- {}
- explicit CD3DX12_VIEWPORT(
- FLOAT topLeftX,
- FLOAT topLeftY,
- FLOAT width,
- FLOAT height,
- FLOAT minDepth = D3D12_MIN_DEPTH,
- FLOAT maxDepth = D3D12_MAX_DEPTH ) noexcept
- {
- TopLeftX = topLeftX;
- TopLeftY = topLeftY;
- Width = width;
- Height = height;
- MinDepth = minDepth;
- MaxDepth = maxDepth;
- }
- explicit CD3DX12_VIEWPORT(
- _In_ ID3D12Resource* pResource,
- UINT mipSlice = 0,
- FLOAT topLeftX = 0.0f,
- FLOAT topLeftY = 0.0f,
- FLOAT minDepth = D3D12_MIN_DEPTH,
- FLOAT maxDepth = D3D12_MAX_DEPTH ) noexcept
- {
- auto Desc = pResource->GetDesc();
- const UINT64 SubresourceWidth = Desc.Width >> mipSlice;
- const UINT64 SubresourceHeight = Desc.Height >> mipSlice;
- switch (Desc.Dimension)
- {
- case D3D12_RESOURCE_DIMENSION_BUFFER:
- TopLeftX = topLeftX;
- TopLeftY = 0.0f;
- Width = float(Desc.Width) - topLeftX;
- Height = 1.0f;
- break;
- case D3D12_RESOURCE_DIMENSION_TEXTURE1D:
- TopLeftX = topLeftX;
- TopLeftY = 0.0f;
- Width = (SubresourceWidth ? float(SubresourceWidth) : 1.0f) - topLeftX;
- Height = 1.0f;
- break;
- case D3D12_RESOURCE_DIMENSION_TEXTURE2D:
- case D3D12_RESOURCE_DIMENSION_TEXTURE3D:
- TopLeftX = topLeftX;
- TopLeftY = topLeftY;
- Width = (SubresourceWidth ? float(SubresourceWidth) : 1.0f) - topLeftX;
- Height = (SubresourceHeight ? float(SubresourceHeight) : 1.0f) - topLeftY;
- break;
- default: break;
- }
-
- MinDepth = minDepth;
- MaxDepth = maxDepth;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_BOX : public D3D12_BOX
-{
- CD3DX12_BOX() = default;
- explicit CD3DX12_BOX( const D3D12_BOX& o ) noexcept :
- D3D12_BOX( o )
- {}
- explicit CD3DX12_BOX(
- LONG Left,
- LONG Right ) noexcept
- {
- left = static_cast(Left);
- top = 0;
- front = 0;
- right = static_cast(Right);
- bottom = 1;
- back = 1;
- }
- explicit CD3DX12_BOX(
- LONG Left,
- LONG Top,
- LONG Right,
- LONG Bottom ) noexcept
- {
- left = static_cast(Left);
- top = static_cast(Top);
- front = 0;
- right = static_cast(Right);
- bottom = static_cast(Bottom);
- back = 1;
- }
- explicit CD3DX12_BOX(
- LONG Left,
- LONG Top,
- LONG Front,
- LONG Right,
- LONG Bottom,
- LONG Back ) noexcept
- {
- left = static_cast(Left);
- top = static_cast(Top);
- front = static_cast(Front);
- right = static_cast(Right);
- bottom = static_cast(Bottom);
- back = static_cast(Back);
- }
-};
-inline bool operator==( const D3D12_BOX& l, const D3D12_BOX& r ) noexcept
-{
- return l.left == r.left && l.top == r.top && l.front == r.front &&
- l.right == r.right && l.bottom == r.bottom && l.back == r.back;
-}
-inline bool operator!=( const D3D12_BOX& l, const D3D12_BOX& r ) noexcept
-{ return !( l == r ); }
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_DEPTH_STENCIL_DESC : public D3D12_DEPTH_STENCIL_DESC
-{
- CD3DX12_DEPTH_STENCIL_DESC() = default;
- explicit CD3DX12_DEPTH_STENCIL_DESC( const D3D12_DEPTH_STENCIL_DESC& o ) noexcept :
- D3D12_DEPTH_STENCIL_DESC( o )
- {}
- explicit CD3DX12_DEPTH_STENCIL_DESC( CD3DX12_DEFAULT ) noexcept
- {
- DepthEnable = TRUE;
- DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ALL;
- DepthFunc = D3D12_COMPARISON_FUNC_LESS;
- StencilEnable = FALSE;
- StencilReadMask = D3D12_DEFAULT_STENCIL_READ_MASK;
- StencilWriteMask = D3D12_DEFAULT_STENCIL_WRITE_MASK;
- const D3D12_DEPTH_STENCILOP_DESC defaultStencilOp =
- { D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_COMPARISON_FUNC_ALWAYS };
- FrontFace = defaultStencilOp;
- BackFace = defaultStencilOp;
- }
- explicit CD3DX12_DEPTH_STENCIL_DESC(
- BOOL depthEnable,
- D3D12_DEPTH_WRITE_MASK depthWriteMask,
- D3D12_COMPARISON_FUNC depthFunc,
- BOOL stencilEnable,
- UINT8 stencilReadMask,
- UINT8 stencilWriteMask,
- D3D12_STENCIL_OP frontStencilFailOp,
- D3D12_STENCIL_OP frontStencilDepthFailOp,
- D3D12_STENCIL_OP frontStencilPassOp,
- D3D12_COMPARISON_FUNC frontStencilFunc,
- D3D12_STENCIL_OP backStencilFailOp,
- D3D12_STENCIL_OP backStencilDepthFailOp,
- D3D12_STENCIL_OP backStencilPassOp,
- D3D12_COMPARISON_FUNC backStencilFunc ) noexcept
- {
- DepthEnable = depthEnable;
- DepthWriteMask = depthWriteMask;
- DepthFunc = depthFunc;
- StencilEnable = stencilEnable;
- StencilReadMask = stencilReadMask;
- StencilWriteMask = stencilWriteMask;
- FrontFace.StencilFailOp = frontStencilFailOp;
- FrontFace.StencilDepthFailOp = frontStencilDepthFailOp;
- FrontFace.StencilPassOp = frontStencilPassOp;
- FrontFace.StencilFunc = frontStencilFunc;
- BackFace.StencilFailOp = backStencilFailOp;
- BackFace.StencilDepthFailOp = backStencilDepthFailOp;
- BackFace.StencilPassOp = backStencilPassOp;
- BackFace.StencilFunc = backStencilFunc;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_DEPTH_STENCIL_DESC1 : public D3D12_DEPTH_STENCIL_DESC1
-{
- CD3DX12_DEPTH_STENCIL_DESC1() = default;
- explicit CD3DX12_DEPTH_STENCIL_DESC1( const D3D12_DEPTH_STENCIL_DESC1& o ) noexcept :
- D3D12_DEPTH_STENCIL_DESC1( o )
- {}
- explicit CD3DX12_DEPTH_STENCIL_DESC1( const D3D12_DEPTH_STENCIL_DESC& o ) noexcept
- {
- DepthEnable = o.DepthEnable;
- DepthWriteMask = o.DepthWriteMask;
- DepthFunc = o.DepthFunc;
- StencilEnable = o.StencilEnable;
- StencilReadMask = o.StencilReadMask;
- StencilWriteMask = o.StencilWriteMask;
- FrontFace.StencilFailOp = o.FrontFace.StencilFailOp;
- FrontFace.StencilDepthFailOp = o.FrontFace.StencilDepthFailOp;
- FrontFace.StencilPassOp = o.FrontFace.StencilPassOp;
- FrontFace.StencilFunc = o.FrontFace.StencilFunc;
- BackFace.StencilFailOp = o.BackFace.StencilFailOp;
- BackFace.StencilDepthFailOp = o.BackFace.StencilDepthFailOp;
- BackFace.StencilPassOp = o.BackFace.StencilPassOp;
- BackFace.StencilFunc = o.BackFace.StencilFunc;
- DepthBoundsTestEnable = FALSE;
- }
- explicit CD3DX12_DEPTH_STENCIL_DESC1( CD3DX12_DEFAULT ) noexcept
- {
- DepthEnable = TRUE;
- DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ALL;
- DepthFunc = D3D12_COMPARISON_FUNC_LESS;
- StencilEnable = FALSE;
- StencilReadMask = D3D12_DEFAULT_STENCIL_READ_MASK;
- StencilWriteMask = D3D12_DEFAULT_STENCIL_WRITE_MASK;
- const D3D12_DEPTH_STENCILOP_DESC defaultStencilOp =
- { D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_COMPARISON_FUNC_ALWAYS };
- FrontFace = defaultStencilOp;
- BackFace = defaultStencilOp;
- DepthBoundsTestEnable = FALSE;
- }
- explicit CD3DX12_DEPTH_STENCIL_DESC1(
- BOOL depthEnable,
- D3D12_DEPTH_WRITE_MASK depthWriteMask,
- D3D12_COMPARISON_FUNC depthFunc,
- BOOL stencilEnable,
- UINT8 stencilReadMask,
- UINT8 stencilWriteMask,
- D3D12_STENCIL_OP frontStencilFailOp,
- D3D12_STENCIL_OP frontStencilDepthFailOp,
- D3D12_STENCIL_OP frontStencilPassOp,
- D3D12_COMPARISON_FUNC frontStencilFunc,
- D3D12_STENCIL_OP backStencilFailOp,
- D3D12_STENCIL_OP backStencilDepthFailOp,
- D3D12_STENCIL_OP backStencilPassOp,
- D3D12_COMPARISON_FUNC backStencilFunc,
- BOOL depthBoundsTestEnable ) noexcept
- {
- DepthEnable = depthEnable;
- DepthWriteMask = depthWriteMask;
- DepthFunc = depthFunc;
- StencilEnable = stencilEnable;
- StencilReadMask = stencilReadMask;
- StencilWriteMask = stencilWriteMask;
- FrontFace.StencilFailOp = frontStencilFailOp;
- FrontFace.StencilDepthFailOp = frontStencilDepthFailOp;
- FrontFace.StencilPassOp = frontStencilPassOp;
- FrontFace.StencilFunc = frontStencilFunc;
- BackFace.StencilFailOp = backStencilFailOp;
- BackFace.StencilDepthFailOp = backStencilDepthFailOp;
- BackFace.StencilPassOp = backStencilPassOp;
- BackFace.StencilFunc = backStencilFunc;
- DepthBoundsTestEnable = depthBoundsTestEnable;
- }
- operator D3D12_DEPTH_STENCIL_DESC() const noexcept
- {
- D3D12_DEPTH_STENCIL_DESC D;
- D.DepthEnable = DepthEnable;
- D.DepthWriteMask = DepthWriteMask;
- D.DepthFunc = DepthFunc;
- D.StencilEnable = StencilEnable;
- D.StencilReadMask = StencilReadMask;
- D.StencilWriteMask = StencilWriteMask;
- D.FrontFace.StencilFailOp = FrontFace.StencilFailOp;
- D.FrontFace.StencilDepthFailOp = FrontFace.StencilDepthFailOp;
- D.FrontFace.StencilPassOp = FrontFace.StencilPassOp;
- D.FrontFace.StencilFunc = FrontFace.StencilFunc;
- D.BackFace.StencilFailOp = BackFace.StencilFailOp;
- D.BackFace.StencilDepthFailOp = BackFace.StencilDepthFailOp;
- D.BackFace.StencilPassOp = BackFace.StencilPassOp;
- D.BackFace.StencilFunc = BackFace.StencilFunc;
- return D;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_BLEND_DESC : public D3D12_BLEND_DESC
-{
- CD3DX12_BLEND_DESC() = default;
- explicit CD3DX12_BLEND_DESC( const D3D12_BLEND_DESC& o ) noexcept :
- D3D12_BLEND_DESC( o )
- {}
- explicit CD3DX12_BLEND_DESC( CD3DX12_DEFAULT ) noexcept
- {
- AlphaToCoverageEnable = FALSE;
- IndependentBlendEnable = FALSE;
- const D3D12_RENDER_TARGET_BLEND_DESC defaultRenderTargetBlendDesc =
- {
- FALSE,FALSE,
- D3D12_BLEND_ONE, D3D12_BLEND_ZERO, D3D12_BLEND_OP_ADD,
- D3D12_BLEND_ONE, D3D12_BLEND_ZERO, D3D12_BLEND_OP_ADD,
- D3D12_LOGIC_OP_NOOP,
- D3D12_COLOR_WRITE_ENABLE_ALL,
- };
- for (UINT i = 0; i < D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT; ++i)
- RenderTarget[ i ] = defaultRenderTargetBlendDesc;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RASTERIZER_DESC : public D3D12_RASTERIZER_DESC
-{
- CD3DX12_RASTERIZER_DESC() = default;
- explicit CD3DX12_RASTERIZER_DESC( const D3D12_RASTERIZER_DESC& o ) noexcept :
- D3D12_RASTERIZER_DESC( o )
- {}
- explicit CD3DX12_RASTERIZER_DESC( CD3DX12_DEFAULT ) noexcept
- {
- FillMode = D3D12_FILL_MODE_SOLID;
- CullMode = D3D12_CULL_MODE_BACK;
- FrontCounterClockwise = FALSE;
- DepthBias = D3D12_DEFAULT_DEPTH_BIAS;
- DepthBiasClamp = D3D12_DEFAULT_DEPTH_BIAS_CLAMP;
- SlopeScaledDepthBias = D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;
- DepthClipEnable = TRUE;
- MultisampleEnable = FALSE;
- AntialiasedLineEnable = FALSE;
- ForcedSampleCount = 0;
- ConservativeRaster = D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF;
- }
- explicit CD3DX12_RASTERIZER_DESC(
- D3D12_FILL_MODE fillMode,
- D3D12_CULL_MODE cullMode,
- BOOL frontCounterClockwise,
- INT depthBias,
- FLOAT depthBiasClamp,
- FLOAT slopeScaledDepthBias,
- BOOL depthClipEnable,
- BOOL multisampleEnable,
- BOOL antialiasedLineEnable,
- UINT forcedSampleCount,
- D3D12_CONSERVATIVE_RASTERIZATION_MODE conservativeRaster) noexcept
- {
- FillMode = fillMode;
- CullMode = cullMode;
- FrontCounterClockwise = frontCounterClockwise;
- DepthBias = depthBias;
- DepthBiasClamp = depthBiasClamp;
- SlopeScaledDepthBias = slopeScaledDepthBias;
- DepthClipEnable = depthClipEnable;
- MultisampleEnable = multisampleEnable;
- AntialiasedLineEnable = antialiasedLineEnable;
- ForcedSampleCount = forcedSampleCount;
- ConservativeRaster = conservativeRaster;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RESOURCE_ALLOCATION_INFO : public D3D12_RESOURCE_ALLOCATION_INFO
-{
- CD3DX12_RESOURCE_ALLOCATION_INFO() = default;
- explicit CD3DX12_RESOURCE_ALLOCATION_INFO( const D3D12_RESOURCE_ALLOCATION_INFO& o ) noexcept :
- D3D12_RESOURCE_ALLOCATION_INFO( o )
- {}
- CD3DX12_RESOURCE_ALLOCATION_INFO(
- UINT64 size,
- UINT64 alignment ) noexcept
- {
- SizeInBytes = size;
- Alignment = alignment;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_HEAP_PROPERTIES : public D3D12_HEAP_PROPERTIES
-{
- CD3DX12_HEAP_PROPERTIES() = default;
- explicit CD3DX12_HEAP_PROPERTIES(const D3D12_HEAP_PROPERTIES &o) noexcept :
- D3D12_HEAP_PROPERTIES(o)
- {}
- CD3DX12_HEAP_PROPERTIES(
- D3D12_CPU_PAGE_PROPERTY cpuPageProperty,
- D3D12_MEMORY_POOL memoryPoolPreference,
- UINT creationNodeMask = 1,
- UINT nodeMask = 1 ) noexcept
- {
- Type = D3D12_HEAP_TYPE_CUSTOM;
- CPUPageProperty = cpuPageProperty;
- MemoryPoolPreference = memoryPoolPreference;
- CreationNodeMask = creationNodeMask;
- VisibleNodeMask = nodeMask;
- }
- explicit CD3DX12_HEAP_PROPERTIES(
- D3D12_HEAP_TYPE type,
- UINT creationNodeMask = 1,
- UINT nodeMask = 1 ) noexcept
- {
- Type = type;
- CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;
- MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;
- CreationNodeMask = creationNodeMask;
- VisibleNodeMask = nodeMask;
- }
- bool IsCPUAccessible() const noexcept
- {
- return Type == D3D12_HEAP_TYPE_UPLOAD || Type == D3D12_HEAP_TYPE_READBACK || (Type == D3D12_HEAP_TYPE_CUSTOM &&
- (CPUPageProperty == D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE || CPUPageProperty == D3D12_CPU_PAGE_PROPERTY_WRITE_BACK));
- }
-};
-inline bool operator==( const D3D12_HEAP_PROPERTIES& l, const D3D12_HEAP_PROPERTIES& r ) noexcept
-{
- return l.Type == r.Type && l.CPUPageProperty == r.CPUPageProperty &&
- l.MemoryPoolPreference == r.MemoryPoolPreference &&
- l.CreationNodeMask == r.CreationNodeMask &&
- l.VisibleNodeMask == r.VisibleNodeMask;
-}
-inline bool operator!=( const D3D12_HEAP_PROPERTIES& l, const D3D12_HEAP_PROPERTIES& r ) noexcept
-{ return !( l == r ); }
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_HEAP_DESC : public D3D12_HEAP_DESC
-{
- CD3DX12_HEAP_DESC() = default;
- explicit CD3DX12_HEAP_DESC(const D3D12_HEAP_DESC &o) noexcept :
- D3D12_HEAP_DESC(o)
- {}
- CD3DX12_HEAP_DESC(
- UINT64 size,
- D3D12_HEAP_PROPERTIES properties,
- UINT64 alignment = 0,
- D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept
- {
- SizeInBytes = size;
- Properties = properties;
- Alignment = alignment;
- Flags = flags;
- }
- CD3DX12_HEAP_DESC(
- UINT64 size,
- D3D12_HEAP_TYPE type,
- UINT64 alignment = 0,
- D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept
- {
- SizeInBytes = size;
- Properties = CD3DX12_HEAP_PROPERTIES( type );
- Alignment = alignment;
- Flags = flags;
- }
- CD3DX12_HEAP_DESC(
- UINT64 size,
- D3D12_CPU_PAGE_PROPERTY cpuPageProperty,
- D3D12_MEMORY_POOL memoryPoolPreference,
- UINT64 alignment = 0,
- D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept
- {
- SizeInBytes = size;
- Properties = CD3DX12_HEAP_PROPERTIES( cpuPageProperty, memoryPoolPreference );
- Alignment = alignment;
- Flags = flags;
- }
- CD3DX12_HEAP_DESC(
- const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,
- D3D12_HEAP_PROPERTIES properties,
- D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept
- {
- SizeInBytes = resAllocInfo.SizeInBytes;
- Properties = properties;
- Alignment = resAllocInfo.Alignment;
- Flags = flags;
- }
- CD3DX12_HEAP_DESC(
- const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,
- D3D12_HEAP_TYPE type,
- D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept
- {
- SizeInBytes = resAllocInfo.SizeInBytes;
- Properties = CD3DX12_HEAP_PROPERTIES( type );
- Alignment = resAllocInfo.Alignment;
- Flags = flags;
- }
- CD3DX12_HEAP_DESC(
- const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,
- D3D12_CPU_PAGE_PROPERTY cpuPageProperty,
- D3D12_MEMORY_POOL memoryPoolPreference,
- D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept
- {
- SizeInBytes = resAllocInfo.SizeInBytes;
- Properties = CD3DX12_HEAP_PROPERTIES( cpuPageProperty, memoryPoolPreference );
- Alignment = resAllocInfo.Alignment;
- Flags = flags;
- }
- bool IsCPUAccessible() const noexcept
- { return static_cast< const CD3DX12_HEAP_PROPERTIES* >( &Properties )->IsCPUAccessible(); }
-};
-inline bool operator==( const D3D12_HEAP_DESC& l, const D3D12_HEAP_DESC& r ) noexcept
-{
- return l.SizeInBytes == r.SizeInBytes &&
- l.Properties == r.Properties &&
- l.Alignment == r.Alignment &&
- l.Flags == r.Flags;
-}
-inline bool operator!=( const D3D12_HEAP_DESC& l, const D3D12_HEAP_DESC& r ) noexcept
-{ return !( l == r ); }
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_CLEAR_VALUE : public D3D12_CLEAR_VALUE
-{
- CD3DX12_CLEAR_VALUE() = default;
- explicit CD3DX12_CLEAR_VALUE(const D3D12_CLEAR_VALUE &o) noexcept :
- D3D12_CLEAR_VALUE(o)
- {}
- CD3DX12_CLEAR_VALUE(
- DXGI_FORMAT format,
- const FLOAT color[4] ) noexcept
- {
- Format = format;
- memcpy( Color, color, sizeof( Color ) );
- }
- CD3DX12_CLEAR_VALUE(
- DXGI_FORMAT format,
- FLOAT depth,
- UINT8 stencil ) noexcept
- {
- Format = format;
- memset( &Color, 0, sizeof( Color ) );
- /* Use memcpy to preserve NAN values */
- memcpy( &DepthStencil.Depth, &depth, sizeof( depth ) );
- DepthStencil.Stencil = stencil;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RANGE : public D3D12_RANGE
-{
- CD3DX12_RANGE() = default;
- explicit CD3DX12_RANGE(const D3D12_RANGE &o) noexcept :
- D3D12_RANGE(o)
- {}
- CD3DX12_RANGE(
- SIZE_T begin,
- SIZE_T end ) noexcept
- {
- Begin = begin;
- End = end;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RANGE_UINT64 : public D3D12_RANGE_UINT64
-{
- CD3DX12_RANGE_UINT64() = default;
- explicit CD3DX12_RANGE_UINT64(const D3D12_RANGE_UINT64 &o) noexcept :
- D3D12_RANGE_UINT64(o)
- {}
- CD3DX12_RANGE_UINT64(
- UINT64 begin,
- UINT64 end ) noexcept
- {
- Begin = begin;
- End = end;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_SUBRESOURCE_RANGE_UINT64 : public D3D12_SUBRESOURCE_RANGE_UINT64
-{
- CD3DX12_SUBRESOURCE_RANGE_UINT64() = default;
- explicit CD3DX12_SUBRESOURCE_RANGE_UINT64(const D3D12_SUBRESOURCE_RANGE_UINT64 &o) noexcept :
- D3D12_SUBRESOURCE_RANGE_UINT64(o)
- {}
- CD3DX12_SUBRESOURCE_RANGE_UINT64(
- UINT subresource,
- const D3D12_RANGE_UINT64& range ) noexcept
- {
- Subresource = subresource;
- Range = range;
- }
- CD3DX12_SUBRESOURCE_RANGE_UINT64(
- UINT subresource,
- UINT64 begin,
- UINT64 end ) noexcept
- {
- Subresource = subresource;
- Range.Begin = begin;
- Range.End = end;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_SHADER_BYTECODE : public D3D12_SHADER_BYTECODE
-{
- CD3DX12_SHADER_BYTECODE() = default;
- explicit CD3DX12_SHADER_BYTECODE(const D3D12_SHADER_BYTECODE &o) noexcept :
- D3D12_SHADER_BYTECODE(o)
- {}
- CD3DX12_SHADER_BYTECODE(
- _In_ ID3DBlob* pShaderBlob ) noexcept
- {
- pShaderBytecode = pShaderBlob->GetBufferPointer();
- BytecodeLength = pShaderBlob->GetBufferSize();
- }
- CD3DX12_SHADER_BYTECODE(
- const void* _pShaderBytecode,
- SIZE_T bytecodeLength ) noexcept
- {
- pShaderBytecode = _pShaderBytecode;
- BytecodeLength = bytecodeLength;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_TILED_RESOURCE_COORDINATE : public D3D12_TILED_RESOURCE_COORDINATE
-{
- CD3DX12_TILED_RESOURCE_COORDINATE() = default;
- explicit CD3DX12_TILED_RESOURCE_COORDINATE(const D3D12_TILED_RESOURCE_COORDINATE &o) noexcept :
- D3D12_TILED_RESOURCE_COORDINATE(o)
- {}
- CD3DX12_TILED_RESOURCE_COORDINATE(
- UINT x,
- UINT y,
- UINT z,
- UINT subresource ) noexcept
- {
- X = x;
- Y = y;
- Z = z;
- Subresource = subresource;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_TILE_REGION_SIZE : public D3D12_TILE_REGION_SIZE
-{
- CD3DX12_TILE_REGION_SIZE() = default;
- explicit CD3DX12_TILE_REGION_SIZE(const D3D12_TILE_REGION_SIZE &o) noexcept :
- D3D12_TILE_REGION_SIZE(o)
- {}
- CD3DX12_TILE_REGION_SIZE(
- UINT numTiles,
- BOOL useBox,
- UINT width,
- UINT16 height,
- UINT16 depth ) noexcept
- {
- NumTiles = numTiles;
- UseBox = useBox;
- Width = width;
- Height = height;
- Depth = depth;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_SUBRESOURCE_TILING : public D3D12_SUBRESOURCE_TILING
-{
- CD3DX12_SUBRESOURCE_TILING() = default;
- explicit CD3DX12_SUBRESOURCE_TILING(const D3D12_SUBRESOURCE_TILING &o) noexcept :
- D3D12_SUBRESOURCE_TILING(o)
- {}
- CD3DX12_SUBRESOURCE_TILING(
- UINT widthInTiles,
- UINT16 heightInTiles,
- UINT16 depthInTiles,
- UINT startTileIndexInOverallResource ) noexcept
- {
- WidthInTiles = widthInTiles;
- HeightInTiles = heightInTiles;
- DepthInTiles = depthInTiles;
- StartTileIndexInOverallResource = startTileIndexInOverallResource;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_TILE_SHAPE : public D3D12_TILE_SHAPE
-{
- CD3DX12_TILE_SHAPE() = default;
- explicit CD3DX12_TILE_SHAPE(const D3D12_TILE_SHAPE &o) noexcept :
- D3D12_TILE_SHAPE(o)
- {}
- CD3DX12_TILE_SHAPE(
- UINT widthInTexels,
- UINT heightInTexels,
- UINT depthInTexels ) noexcept
- {
- WidthInTexels = widthInTexels;
- HeightInTexels = heightInTexels;
- DepthInTexels = depthInTexels;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RESOURCE_BARRIER : public D3D12_RESOURCE_BARRIER
-{
- CD3DX12_RESOURCE_BARRIER() = default;
- explicit CD3DX12_RESOURCE_BARRIER(const D3D12_RESOURCE_BARRIER &o) noexcept :
- D3D12_RESOURCE_BARRIER(o)
- {}
- static inline CD3DX12_RESOURCE_BARRIER Transition(
- _In_ ID3D12Resource* pResource,
- D3D12_RESOURCE_STATES stateBefore,
- D3D12_RESOURCE_STATES stateAfter,
- UINT subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES,
- D3D12_RESOURCE_BARRIER_FLAGS flags = D3D12_RESOURCE_BARRIER_FLAG_NONE) noexcept
- {
- CD3DX12_RESOURCE_BARRIER result = {};
- D3D12_RESOURCE_BARRIER &barrier = result;
- result.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;
- result.Flags = flags;
- barrier.Transition.pResource = pResource;
- barrier.Transition.StateBefore = stateBefore;
- barrier.Transition.StateAfter = stateAfter;
- barrier.Transition.Subresource = subresource;
- return result;
- }
- static inline CD3DX12_RESOURCE_BARRIER Aliasing(
- _In_ ID3D12Resource* pResourceBefore,
- _In_ ID3D12Resource* pResourceAfter) noexcept
- {
- CD3DX12_RESOURCE_BARRIER result = {};
- D3D12_RESOURCE_BARRIER &barrier = result;
- result.Type = D3D12_RESOURCE_BARRIER_TYPE_ALIASING;
- barrier.Aliasing.pResourceBefore = pResourceBefore;
- barrier.Aliasing.pResourceAfter = pResourceAfter;
- return result;
- }
- static inline CD3DX12_RESOURCE_BARRIER UAV(
- _In_ ID3D12Resource* pResource) noexcept
- {
- CD3DX12_RESOURCE_BARRIER result = {};
- D3D12_RESOURCE_BARRIER &barrier = result;
- result.Type = D3D12_RESOURCE_BARRIER_TYPE_UAV;
- barrier.UAV.pResource = pResource;
- return result;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_PACKED_MIP_INFO : public D3D12_PACKED_MIP_INFO
-{
- CD3DX12_PACKED_MIP_INFO() = default;
- explicit CD3DX12_PACKED_MIP_INFO(const D3D12_PACKED_MIP_INFO &o) noexcept :
- D3D12_PACKED_MIP_INFO(o)
- {}
- CD3DX12_PACKED_MIP_INFO(
- UINT8 numStandardMips,
- UINT8 numPackedMips,
- UINT numTilesForPackedMips,
- UINT startTileIndexInOverallResource ) noexcept
- {
- NumStandardMips = numStandardMips;
- NumPackedMips = numPackedMips;
- NumTilesForPackedMips = numTilesForPackedMips;
- StartTileIndexInOverallResource = startTileIndexInOverallResource;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_SUBRESOURCE_FOOTPRINT : public D3D12_SUBRESOURCE_FOOTPRINT
-{
- CD3DX12_SUBRESOURCE_FOOTPRINT() = default;
- explicit CD3DX12_SUBRESOURCE_FOOTPRINT(const D3D12_SUBRESOURCE_FOOTPRINT &o) noexcept :
- D3D12_SUBRESOURCE_FOOTPRINT(o)
- {}
- CD3DX12_SUBRESOURCE_FOOTPRINT(
- DXGI_FORMAT format,
- UINT width,
- UINT height,
- UINT depth,
- UINT rowPitch ) noexcept
- {
- Format = format;
- Width = width;
- Height = height;
- Depth = depth;
- RowPitch = rowPitch;
- }
- explicit CD3DX12_SUBRESOURCE_FOOTPRINT(
- const D3D12_RESOURCE_DESC& resDesc,
- UINT rowPitch ) noexcept
- {
- Format = resDesc.Format;
- Width = UINT( resDesc.Width );
- Height = resDesc.Height;
- Depth = (resDesc.Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE3D ? resDesc.DepthOrArraySize : 1);
- RowPitch = rowPitch;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_TEXTURE_COPY_LOCATION : public D3D12_TEXTURE_COPY_LOCATION
-{
- CD3DX12_TEXTURE_COPY_LOCATION() = default;
- explicit CD3DX12_TEXTURE_COPY_LOCATION(const D3D12_TEXTURE_COPY_LOCATION &o) noexcept :
- D3D12_TEXTURE_COPY_LOCATION(o)
- {}
- CD3DX12_TEXTURE_COPY_LOCATION(_In_ ID3D12Resource* pRes) noexcept
- {
- pResource = pRes;
- Type = D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX;
- PlacedFootprint = {};
- }
- CD3DX12_TEXTURE_COPY_LOCATION(_In_ ID3D12Resource* pRes, D3D12_PLACED_SUBRESOURCE_FOOTPRINT const& Footprint) noexcept
- {
- pResource = pRes;
- Type = D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT;
- PlacedFootprint = Footprint;
- }
- CD3DX12_TEXTURE_COPY_LOCATION(_In_ ID3D12Resource* pRes, UINT Sub) noexcept
- {
- pResource = pRes;
- Type = D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX;
- PlacedFootprint = {};
- SubresourceIndex = Sub;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_DESCRIPTOR_RANGE : public D3D12_DESCRIPTOR_RANGE
-{
- CD3DX12_DESCRIPTOR_RANGE() = default;
- explicit CD3DX12_DESCRIPTOR_RANGE(const D3D12_DESCRIPTOR_RANGE &o) noexcept :
- D3D12_DESCRIPTOR_RANGE(o)
- {}
- CD3DX12_DESCRIPTOR_RANGE(
- D3D12_DESCRIPTOR_RANGE_TYPE rangeType,
- UINT numDescriptors,
- UINT baseShaderRegister,
- UINT registerSpace = 0,
- UINT offsetInDescriptorsFromTableStart =
- D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND) noexcept
- {
- Init(rangeType, numDescriptors, baseShaderRegister, registerSpace, offsetInDescriptorsFromTableStart);
- }
-
- inline void Init(
- D3D12_DESCRIPTOR_RANGE_TYPE rangeType,
- UINT numDescriptors,
- UINT baseShaderRegister,
- UINT registerSpace = 0,
- UINT offsetInDescriptorsFromTableStart =
- D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND) noexcept
- {
- Init(*this, rangeType, numDescriptors, baseShaderRegister, registerSpace, offsetInDescriptorsFromTableStart);
- }
-
- static inline void Init(
- _Out_ D3D12_DESCRIPTOR_RANGE &range,
- D3D12_DESCRIPTOR_RANGE_TYPE rangeType,
- UINT numDescriptors,
- UINT baseShaderRegister,
- UINT registerSpace = 0,
- UINT offsetInDescriptorsFromTableStart =
- D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND) noexcept
- {
- range.RangeType = rangeType;
- range.NumDescriptors = numDescriptors;
- range.BaseShaderRegister = baseShaderRegister;
- range.RegisterSpace = registerSpace;
- range.OffsetInDescriptorsFromTableStart = offsetInDescriptorsFromTableStart;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_ROOT_DESCRIPTOR_TABLE : public D3D12_ROOT_DESCRIPTOR_TABLE
-{
- CD3DX12_ROOT_DESCRIPTOR_TABLE() = default;
- explicit CD3DX12_ROOT_DESCRIPTOR_TABLE(const D3D12_ROOT_DESCRIPTOR_TABLE &o) noexcept :
- D3D12_ROOT_DESCRIPTOR_TABLE(o)
- {}
- CD3DX12_ROOT_DESCRIPTOR_TABLE(
- UINT numDescriptorRanges,
- _In_reads_opt_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE* _pDescriptorRanges) noexcept
- {
- Init(numDescriptorRanges, _pDescriptorRanges);
- }
-
- inline void Init(
- UINT numDescriptorRanges,
- _In_reads_opt_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE* _pDescriptorRanges) noexcept
- {
- Init(*this, numDescriptorRanges, _pDescriptorRanges);
- }
-
- static inline void Init(
- _Out_ D3D12_ROOT_DESCRIPTOR_TABLE &rootDescriptorTable,
- UINT numDescriptorRanges,
- _In_reads_opt_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE* _pDescriptorRanges) noexcept
- {
- rootDescriptorTable.NumDescriptorRanges = numDescriptorRanges;
- rootDescriptorTable.pDescriptorRanges = _pDescriptorRanges;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_ROOT_CONSTANTS : public D3D12_ROOT_CONSTANTS
-{
- CD3DX12_ROOT_CONSTANTS() = default;
- explicit CD3DX12_ROOT_CONSTANTS(const D3D12_ROOT_CONSTANTS &o) noexcept :
- D3D12_ROOT_CONSTANTS(o)
- {}
- CD3DX12_ROOT_CONSTANTS(
- UINT num32BitValues,
- UINT shaderRegister,
- UINT registerSpace = 0) noexcept
- {
- Init(num32BitValues, shaderRegister, registerSpace);
- }
-
- inline void Init(
- UINT num32BitValues,
- UINT shaderRegister,
- UINT registerSpace = 0) noexcept
- {
- Init(*this, num32BitValues, shaderRegister, registerSpace);
- }
-
- static inline void Init(
- _Out_ D3D12_ROOT_CONSTANTS &rootConstants,
- UINT num32BitValues,
- UINT shaderRegister,
- UINT registerSpace = 0) noexcept
- {
- rootConstants.Num32BitValues = num32BitValues;
- rootConstants.ShaderRegister = shaderRegister;
- rootConstants.RegisterSpace = registerSpace;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_ROOT_DESCRIPTOR : public D3D12_ROOT_DESCRIPTOR
-{
- CD3DX12_ROOT_DESCRIPTOR() = default;
- explicit CD3DX12_ROOT_DESCRIPTOR(const D3D12_ROOT_DESCRIPTOR &o) noexcept :
- D3D12_ROOT_DESCRIPTOR(o)
- {}
- CD3DX12_ROOT_DESCRIPTOR(
- UINT shaderRegister,
- UINT registerSpace = 0) noexcept
- {
- Init(shaderRegister, registerSpace);
- }
-
- inline void Init(
- UINT shaderRegister,
- UINT registerSpace = 0) noexcept
- {
- Init(*this, shaderRegister, registerSpace);
- }
-
- static inline void Init(_Out_ D3D12_ROOT_DESCRIPTOR &table, UINT shaderRegister, UINT registerSpace = 0) noexcept
- {
- table.ShaderRegister = shaderRegister;
- table.RegisterSpace = registerSpace;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_ROOT_PARAMETER : public D3D12_ROOT_PARAMETER
-{
- CD3DX12_ROOT_PARAMETER() = default;
- explicit CD3DX12_ROOT_PARAMETER(const D3D12_ROOT_PARAMETER &o) noexcept :
- D3D12_ROOT_PARAMETER(o)
- {}
-
- static inline void InitAsDescriptorTable(
- _Out_ D3D12_ROOT_PARAMETER &rootParam,
- UINT numDescriptorRanges,
- _In_reads_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE* pDescriptorRanges,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE;
- rootParam.ShaderVisibility = visibility;
- CD3DX12_ROOT_DESCRIPTOR_TABLE::Init(rootParam.DescriptorTable, numDescriptorRanges, pDescriptorRanges);
- }
-
- static inline void InitAsConstants(
- _Out_ D3D12_ROOT_PARAMETER &rootParam,
- UINT num32BitValues,
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS;
- rootParam.ShaderVisibility = visibility;
- CD3DX12_ROOT_CONSTANTS::Init(rootParam.Constants, num32BitValues, shaderRegister, registerSpace);
- }
-
- static inline void InitAsConstantBufferView(
- _Out_ D3D12_ROOT_PARAMETER &rootParam,
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV;
- rootParam.ShaderVisibility = visibility;
- CD3DX12_ROOT_DESCRIPTOR::Init(rootParam.Descriptor, shaderRegister, registerSpace);
- }
-
- static inline void InitAsShaderResourceView(
- _Out_ D3D12_ROOT_PARAMETER &rootParam,
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_SRV;
- rootParam.ShaderVisibility = visibility;
- CD3DX12_ROOT_DESCRIPTOR::Init(rootParam.Descriptor, shaderRegister, registerSpace);
- }
-
- static inline void InitAsUnorderedAccessView(
- _Out_ D3D12_ROOT_PARAMETER &rootParam,
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_UAV;
- rootParam.ShaderVisibility = visibility;
- CD3DX12_ROOT_DESCRIPTOR::Init(rootParam.Descriptor, shaderRegister, registerSpace);
- }
-
- inline void InitAsDescriptorTable(
- UINT numDescriptorRanges,
- _In_reads_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE* pDescriptorRanges,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- InitAsDescriptorTable(*this, numDescriptorRanges, pDescriptorRanges, visibility);
- }
-
- inline void InitAsConstants(
- UINT num32BitValues,
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- InitAsConstants(*this, num32BitValues, shaderRegister, registerSpace, visibility);
- }
-
- inline void InitAsConstantBufferView(
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- InitAsConstantBufferView(*this, shaderRegister, registerSpace, visibility);
- }
-
- inline void InitAsShaderResourceView(
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- InitAsShaderResourceView(*this, shaderRegister, registerSpace, visibility);
- }
-
- inline void InitAsUnorderedAccessView(
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- InitAsUnorderedAccessView(*this, shaderRegister, registerSpace, visibility);
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_STATIC_SAMPLER_DESC : public D3D12_STATIC_SAMPLER_DESC
-{
- CD3DX12_STATIC_SAMPLER_DESC() = default;
- explicit CD3DX12_STATIC_SAMPLER_DESC(const D3D12_STATIC_SAMPLER_DESC &o) noexcept :
- D3D12_STATIC_SAMPLER_DESC(o)
- {}
- CD3DX12_STATIC_SAMPLER_DESC(
- UINT shaderRegister,
- D3D12_FILTER filter = D3D12_FILTER_ANISOTROPIC,
- D3D12_TEXTURE_ADDRESS_MODE addressU = D3D12_TEXTURE_ADDRESS_MODE_WRAP,
- D3D12_TEXTURE_ADDRESS_MODE addressV = D3D12_TEXTURE_ADDRESS_MODE_WRAP,
- D3D12_TEXTURE_ADDRESS_MODE addressW = D3D12_TEXTURE_ADDRESS_MODE_WRAP,
- FLOAT mipLODBias = 0,
- UINT maxAnisotropy = 16,
- D3D12_COMPARISON_FUNC comparisonFunc = D3D12_COMPARISON_FUNC_LESS_EQUAL,
- D3D12_STATIC_BORDER_COLOR borderColor = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE,
- FLOAT minLOD = 0.f,
- FLOAT maxLOD = D3D12_FLOAT32_MAX,
- D3D12_SHADER_VISIBILITY shaderVisibility = D3D12_SHADER_VISIBILITY_ALL,
- UINT registerSpace = 0) noexcept
- {
- Init(
- shaderRegister,
- filter,
- addressU,
- addressV,
- addressW,
- mipLODBias,
- maxAnisotropy,
- comparisonFunc,
- borderColor,
- minLOD,
- maxLOD,
- shaderVisibility,
- registerSpace);
- }
-
- static inline void Init(
- _Out_ D3D12_STATIC_SAMPLER_DESC &samplerDesc,
- UINT shaderRegister,
- D3D12_FILTER filter = D3D12_FILTER_ANISOTROPIC,
- D3D12_TEXTURE_ADDRESS_MODE addressU = D3D12_TEXTURE_ADDRESS_MODE_WRAP,
- D3D12_TEXTURE_ADDRESS_MODE addressV = D3D12_TEXTURE_ADDRESS_MODE_WRAP,
- D3D12_TEXTURE_ADDRESS_MODE addressW = D3D12_TEXTURE_ADDRESS_MODE_WRAP,
- FLOAT mipLODBias = 0,
- UINT maxAnisotropy = 16,
- D3D12_COMPARISON_FUNC comparisonFunc = D3D12_COMPARISON_FUNC_LESS_EQUAL,
- D3D12_STATIC_BORDER_COLOR borderColor = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE,
- FLOAT minLOD = 0.f,
- FLOAT maxLOD = D3D12_FLOAT32_MAX,
- D3D12_SHADER_VISIBILITY shaderVisibility = D3D12_SHADER_VISIBILITY_ALL,
- UINT registerSpace = 0) noexcept
- {
- samplerDesc.ShaderRegister = shaderRegister;
- samplerDesc.Filter = filter;
- samplerDesc.AddressU = addressU;
- samplerDesc.AddressV = addressV;
- samplerDesc.AddressW = addressW;
- samplerDesc.MipLODBias = mipLODBias;
- samplerDesc.MaxAnisotropy = maxAnisotropy;
- samplerDesc.ComparisonFunc = comparisonFunc;
- samplerDesc.BorderColor = borderColor;
- samplerDesc.MinLOD = minLOD;
- samplerDesc.MaxLOD = maxLOD;
- samplerDesc.ShaderVisibility = shaderVisibility;
- samplerDesc.RegisterSpace = registerSpace;
- }
- inline void Init(
- UINT shaderRegister,
- D3D12_FILTER filter = D3D12_FILTER_ANISOTROPIC,
- D3D12_TEXTURE_ADDRESS_MODE addressU = D3D12_TEXTURE_ADDRESS_MODE_WRAP,
- D3D12_TEXTURE_ADDRESS_MODE addressV = D3D12_TEXTURE_ADDRESS_MODE_WRAP,
- D3D12_TEXTURE_ADDRESS_MODE addressW = D3D12_TEXTURE_ADDRESS_MODE_WRAP,
- FLOAT mipLODBias = 0,
- UINT maxAnisotropy = 16,
- D3D12_COMPARISON_FUNC comparisonFunc = D3D12_COMPARISON_FUNC_LESS_EQUAL,
- D3D12_STATIC_BORDER_COLOR borderColor = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE,
- FLOAT minLOD = 0.f,
- FLOAT maxLOD = D3D12_FLOAT32_MAX,
- D3D12_SHADER_VISIBILITY shaderVisibility = D3D12_SHADER_VISIBILITY_ALL,
- UINT registerSpace = 0) noexcept
- {
- Init(
- *this,
- shaderRegister,
- filter,
- addressU,
- addressV,
- addressW,
- mipLODBias,
- maxAnisotropy,
- comparisonFunc,
- borderColor,
- minLOD,
- maxLOD,
- shaderVisibility,
- registerSpace);
- }
-
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_ROOT_SIGNATURE_DESC : public D3D12_ROOT_SIGNATURE_DESC
-{
- CD3DX12_ROOT_SIGNATURE_DESC() = default;
- explicit CD3DX12_ROOT_SIGNATURE_DESC(const D3D12_ROOT_SIGNATURE_DESC &o) noexcept :
- D3D12_ROOT_SIGNATURE_DESC(o)
- {}
- CD3DX12_ROOT_SIGNATURE_DESC(
- UINT numParameters,
- _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER* _pParameters,
- UINT numStaticSamplers = 0,
- _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr,
- D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept
- {
- Init(numParameters, _pParameters, numStaticSamplers, _pStaticSamplers, flags);
- }
- CD3DX12_ROOT_SIGNATURE_DESC(CD3DX12_DEFAULT) noexcept
- {
- Init(0, nullptr, 0, nullptr, D3D12_ROOT_SIGNATURE_FLAG_NONE);
- }
-
- inline void Init(
- UINT numParameters,
- _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER* _pParameters,
- UINT numStaticSamplers = 0,
- _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr,
- D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept
- {
- Init(*this, numParameters, _pParameters, numStaticSamplers, _pStaticSamplers, flags);
- }
-
- static inline void Init(
- _Out_ D3D12_ROOT_SIGNATURE_DESC &desc,
- UINT numParameters,
- _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER* _pParameters,
- UINT numStaticSamplers = 0,
- _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr,
- D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept
- {
- desc.NumParameters = numParameters;
- desc.pParameters = _pParameters;
- desc.NumStaticSamplers = numStaticSamplers;
- desc.pStaticSamplers = _pStaticSamplers;
- desc.Flags = flags;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_DESCRIPTOR_RANGE1 : public D3D12_DESCRIPTOR_RANGE1
-{
- CD3DX12_DESCRIPTOR_RANGE1() = default;
- explicit CD3DX12_DESCRIPTOR_RANGE1(const D3D12_DESCRIPTOR_RANGE1 &o) noexcept :
- D3D12_DESCRIPTOR_RANGE1(o)
- {}
- CD3DX12_DESCRIPTOR_RANGE1(
- D3D12_DESCRIPTOR_RANGE_TYPE rangeType,
- UINT numDescriptors,
- UINT baseShaderRegister,
- UINT registerSpace = 0,
- D3D12_DESCRIPTOR_RANGE_FLAGS flags = D3D12_DESCRIPTOR_RANGE_FLAG_NONE,
- UINT offsetInDescriptorsFromTableStart =
- D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND) noexcept
- {
- Init(rangeType, numDescriptors, baseShaderRegister, registerSpace, flags, offsetInDescriptorsFromTableStart);
- }
-
- inline void Init(
- D3D12_DESCRIPTOR_RANGE_TYPE rangeType,
- UINT numDescriptors,
- UINT baseShaderRegister,
- UINT registerSpace = 0,
- D3D12_DESCRIPTOR_RANGE_FLAGS flags = D3D12_DESCRIPTOR_RANGE_FLAG_NONE,
- UINT offsetInDescriptorsFromTableStart =
- D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND) noexcept
- {
- Init(*this, rangeType, numDescriptors, baseShaderRegister, registerSpace, flags, offsetInDescriptorsFromTableStart);
- }
-
- static inline void Init(
- _Out_ D3D12_DESCRIPTOR_RANGE1 &range,
- D3D12_DESCRIPTOR_RANGE_TYPE rangeType,
- UINT numDescriptors,
- UINT baseShaderRegister,
- UINT registerSpace = 0,
- D3D12_DESCRIPTOR_RANGE_FLAGS flags = D3D12_DESCRIPTOR_RANGE_FLAG_NONE,
- UINT offsetInDescriptorsFromTableStart =
- D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND) noexcept
- {
- range.RangeType = rangeType;
- range.NumDescriptors = numDescriptors;
- range.BaseShaderRegister = baseShaderRegister;
- range.RegisterSpace = registerSpace;
- range.Flags = flags;
- range.OffsetInDescriptorsFromTableStart = offsetInDescriptorsFromTableStart;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_ROOT_DESCRIPTOR_TABLE1 : public D3D12_ROOT_DESCRIPTOR_TABLE1
-{
- CD3DX12_ROOT_DESCRIPTOR_TABLE1() = default;
- explicit CD3DX12_ROOT_DESCRIPTOR_TABLE1(const D3D12_ROOT_DESCRIPTOR_TABLE1 &o) noexcept :
- D3D12_ROOT_DESCRIPTOR_TABLE1(o)
- {}
- CD3DX12_ROOT_DESCRIPTOR_TABLE1(
- UINT numDescriptorRanges,
- _In_reads_opt_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1* _pDescriptorRanges) noexcept
- {
- Init(numDescriptorRanges, _pDescriptorRanges);
- }
-
- inline void Init(
- UINT numDescriptorRanges,
- _In_reads_opt_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1* _pDescriptorRanges) noexcept
- {
- Init(*this, numDescriptorRanges, _pDescriptorRanges);
- }
-
- static inline void Init(
- _Out_ D3D12_ROOT_DESCRIPTOR_TABLE1 &rootDescriptorTable,
- UINT numDescriptorRanges,
- _In_reads_opt_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1* _pDescriptorRanges) noexcept
- {
- rootDescriptorTable.NumDescriptorRanges = numDescriptorRanges;
- rootDescriptorTable.pDescriptorRanges = _pDescriptorRanges;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_ROOT_DESCRIPTOR1 : public D3D12_ROOT_DESCRIPTOR1
-{
- CD3DX12_ROOT_DESCRIPTOR1() = default;
- explicit CD3DX12_ROOT_DESCRIPTOR1(const D3D12_ROOT_DESCRIPTOR1 &o) noexcept :
- D3D12_ROOT_DESCRIPTOR1(o)
- {}
- CD3DX12_ROOT_DESCRIPTOR1(
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE) noexcept
- {
- Init(shaderRegister, registerSpace, flags);
- }
-
- inline void Init(
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE) noexcept
- {
- Init(*this, shaderRegister, registerSpace, flags);
- }
-
- static inline void Init(
- _Out_ D3D12_ROOT_DESCRIPTOR1 &table,
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE) noexcept
- {
- table.ShaderRegister = shaderRegister;
- table.RegisterSpace = registerSpace;
- table.Flags = flags;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_ROOT_PARAMETER1 : public D3D12_ROOT_PARAMETER1
-{
- CD3DX12_ROOT_PARAMETER1() = default;
- explicit CD3DX12_ROOT_PARAMETER1(const D3D12_ROOT_PARAMETER1 &o) noexcept :
- D3D12_ROOT_PARAMETER1(o)
- {}
-
- static inline void InitAsDescriptorTable(
- _Out_ D3D12_ROOT_PARAMETER1 &rootParam,
- UINT numDescriptorRanges,
- _In_reads_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1* pDescriptorRanges,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE;
- rootParam.ShaderVisibility = visibility;
- CD3DX12_ROOT_DESCRIPTOR_TABLE1::Init(rootParam.DescriptorTable, numDescriptorRanges, pDescriptorRanges);
- }
-
- static inline void InitAsConstants(
- _Out_ D3D12_ROOT_PARAMETER1 &rootParam,
- UINT num32BitValues,
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS;
- rootParam.ShaderVisibility = visibility;
- CD3DX12_ROOT_CONSTANTS::Init(rootParam.Constants, num32BitValues, shaderRegister, registerSpace);
- }
-
- static inline void InitAsConstantBufferView(
- _Out_ D3D12_ROOT_PARAMETER1 &rootParam,
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV;
- rootParam.ShaderVisibility = visibility;
- CD3DX12_ROOT_DESCRIPTOR1::Init(rootParam.Descriptor, shaderRegister, registerSpace, flags);
- }
-
- static inline void InitAsShaderResourceView(
- _Out_ D3D12_ROOT_PARAMETER1 &rootParam,
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_SRV;
- rootParam.ShaderVisibility = visibility;
- CD3DX12_ROOT_DESCRIPTOR1::Init(rootParam.Descriptor, shaderRegister, registerSpace, flags);
- }
-
- static inline void InitAsUnorderedAccessView(
- _Out_ D3D12_ROOT_PARAMETER1 &rootParam,
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_UAV;
- rootParam.ShaderVisibility = visibility;
- CD3DX12_ROOT_DESCRIPTOR1::Init(rootParam.Descriptor, shaderRegister, registerSpace, flags);
- }
-
- inline void InitAsDescriptorTable(
- UINT numDescriptorRanges,
- _In_reads_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1* pDescriptorRanges,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- InitAsDescriptorTable(*this, numDescriptorRanges, pDescriptorRanges, visibility);
- }
-
- inline void InitAsConstants(
- UINT num32BitValues,
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- InitAsConstants(*this, num32BitValues, shaderRegister, registerSpace, visibility);
- }
-
- inline void InitAsConstantBufferView(
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- InitAsConstantBufferView(*this, shaderRegister, registerSpace, flags, visibility);
- }
-
- inline void InitAsShaderResourceView(
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- InitAsShaderResourceView(*this, shaderRegister, registerSpace, flags, visibility);
- }
-
- inline void InitAsUnorderedAccessView(
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept
- {
- InitAsUnorderedAccessView(*this, shaderRegister, registerSpace, flags, visibility);
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC : public D3D12_VERSIONED_ROOT_SIGNATURE_DESC
-{
- CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC() = default;
- explicit CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC(const D3D12_VERSIONED_ROOT_SIGNATURE_DESC &o) noexcept :
- D3D12_VERSIONED_ROOT_SIGNATURE_DESC(o)
- {}
- explicit CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC(const D3D12_ROOT_SIGNATURE_DESC &o) noexcept
- {
- Version = D3D_ROOT_SIGNATURE_VERSION_1_0;
- Desc_1_0 = o;
- }
- explicit CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC(const D3D12_ROOT_SIGNATURE_DESC1 &o) noexcept
- {
- Version = D3D_ROOT_SIGNATURE_VERSION_1_1;
- Desc_1_1 = o;
- }
- CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC(
- UINT numParameters,
- _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER* _pParameters,
- UINT numStaticSamplers = 0,
- _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr,
- D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept
- {
- Init_1_0(numParameters, _pParameters, numStaticSamplers, _pStaticSamplers, flags);
- }
- CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC(
- UINT numParameters,
- _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER1* _pParameters,
- UINT numStaticSamplers = 0,
- _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr,
- D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept
- {
- Init_1_1(numParameters, _pParameters, numStaticSamplers, _pStaticSamplers, flags);
- }
- CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC(CD3DX12_DEFAULT) noexcept
- {
- Init_1_1(0, nullptr, 0, nullptr, D3D12_ROOT_SIGNATURE_FLAG_NONE);
- }
-
- inline void Init_1_0(
- UINT numParameters,
- _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER* _pParameters,
- UINT numStaticSamplers = 0,
- _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr,
- D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept
- {
- Init_1_0(*this, numParameters, _pParameters, numStaticSamplers, _pStaticSamplers, flags);
- }
-
- static inline void Init_1_0(
- _Out_ D3D12_VERSIONED_ROOT_SIGNATURE_DESC &desc,
- UINT numParameters,
- _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER* _pParameters,
- UINT numStaticSamplers = 0,
- _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr,
- D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept
- {
- desc.Version = D3D_ROOT_SIGNATURE_VERSION_1_0;
- desc.Desc_1_0.NumParameters = numParameters;
- desc.Desc_1_0.pParameters = _pParameters;
- desc.Desc_1_0.NumStaticSamplers = numStaticSamplers;
- desc.Desc_1_0.pStaticSamplers = _pStaticSamplers;
- desc.Desc_1_0.Flags = flags;
- }
-
- inline void Init_1_1(
- UINT numParameters,
- _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER1* _pParameters,
- UINT numStaticSamplers = 0,
- _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr,
- D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept
- {
- Init_1_1(*this, numParameters, _pParameters, numStaticSamplers, _pStaticSamplers, flags);
- }
-
- static inline void Init_1_1(
- _Out_ D3D12_VERSIONED_ROOT_SIGNATURE_DESC &desc,
- UINT numParameters,
- _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER1* _pParameters,
- UINT numStaticSamplers = 0,
- _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr,
- D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept
- {
- desc.Version = D3D_ROOT_SIGNATURE_VERSION_1_1;
- desc.Desc_1_1.NumParameters = numParameters;
- desc.Desc_1_1.pParameters = _pParameters;
- desc.Desc_1_1.NumStaticSamplers = numStaticSamplers;
- desc.Desc_1_1.pStaticSamplers = _pStaticSamplers;
- desc.Desc_1_1.Flags = flags;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_CPU_DESCRIPTOR_HANDLE : public D3D12_CPU_DESCRIPTOR_HANDLE
-{
- CD3DX12_CPU_DESCRIPTOR_HANDLE() = default;
- explicit CD3DX12_CPU_DESCRIPTOR_HANDLE(const D3D12_CPU_DESCRIPTOR_HANDLE &o) noexcept :
- D3D12_CPU_DESCRIPTOR_HANDLE(o)
- {}
- CD3DX12_CPU_DESCRIPTOR_HANDLE(CD3DX12_DEFAULT) noexcept { ptr = 0; }
- CD3DX12_CPU_DESCRIPTOR_HANDLE(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE &other, INT offsetScaledByIncrementSize) noexcept
- {
- InitOffsetted(other, offsetScaledByIncrementSize);
- }
- CD3DX12_CPU_DESCRIPTOR_HANDLE(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE &other, INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept
- {
- InitOffsetted(other, offsetInDescriptors, descriptorIncrementSize);
- }
- CD3DX12_CPU_DESCRIPTOR_HANDLE& Offset(INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept
- {
- ptr = SIZE_T(INT64(ptr) + INT64(offsetInDescriptors) * INT64(descriptorIncrementSize));
- return *this;
- }
- CD3DX12_CPU_DESCRIPTOR_HANDLE& Offset(INT offsetScaledByIncrementSize) noexcept
- {
- ptr = SIZE_T(INT64(ptr) + INT64(offsetScaledByIncrementSize));
- return *this;
- }
- bool operator==(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE& other) const noexcept
- {
- return (ptr == other.ptr);
- }
- bool operator!=(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE& other) const noexcept
- {
- return (ptr != other.ptr);
- }
- CD3DX12_CPU_DESCRIPTOR_HANDLE &operator=(const D3D12_CPU_DESCRIPTOR_HANDLE &other) noexcept
- {
- ptr = other.ptr;
- return *this;
- }
-
- inline void InitOffsetted(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE &base, INT offsetScaledByIncrementSize) noexcept
- {
- InitOffsetted(*this, base, offsetScaledByIncrementSize);
- }
-
- inline void InitOffsetted(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE &base, INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept
- {
- InitOffsetted(*this, base, offsetInDescriptors, descriptorIncrementSize);
- }
-
- static inline void InitOffsetted(_Out_ D3D12_CPU_DESCRIPTOR_HANDLE &handle, _In_ const D3D12_CPU_DESCRIPTOR_HANDLE &base, INT offsetScaledByIncrementSize) noexcept
- {
- handle.ptr = SIZE_T(INT64(base.ptr) + INT64(offsetScaledByIncrementSize));
- }
-
- static inline void InitOffsetted(_Out_ D3D12_CPU_DESCRIPTOR_HANDLE &handle, _In_ const D3D12_CPU_DESCRIPTOR_HANDLE &base, INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept
- {
- handle.ptr = SIZE_T(INT64(base.ptr) + INT64(offsetInDescriptors) * INT64(descriptorIncrementSize));
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_GPU_DESCRIPTOR_HANDLE : public D3D12_GPU_DESCRIPTOR_HANDLE
-{
- CD3DX12_GPU_DESCRIPTOR_HANDLE() = default;
- explicit CD3DX12_GPU_DESCRIPTOR_HANDLE(const D3D12_GPU_DESCRIPTOR_HANDLE &o) noexcept :
- D3D12_GPU_DESCRIPTOR_HANDLE(o)
- {}
- CD3DX12_GPU_DESCRIPTOR_HANDLE(CD3DX12_DEFAULT) noexcept { ptr = 0; }
- CD3DX12_GPU_DESCRIPTOR_HANDLE(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE &other, INT offsetScaledByIncrementSize) noexcept
- {
- InitOffsetted(other, offsetScaledByIncrementSize);
- }
- CD3DX12_GPU_DESCRIPTOR_HANDLE(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE &other, INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept
- {
- InitOffsetted(other, offsetInDescriptors, descriptorIncrementSize);
- }
- CD3DX12_GPU_DESCRIPTOR_HANDLE& Offset(INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept
- {
- ptr = UINT64(INT64(ptr) + INT64(offsetInDescriptors) * INT64(descriptorIncrementSize));
- return *this;
- }
- CD3DX12_GPU_DESCRIPTOR_HANDLE& Offset(INT offsetScaledByIncrementSize) noexcept
- {
- ptr = UINT64(INT64(ptr) + INT64(offsetScaledByIncrementSize));
- return *this;
- }
- inline bool operator==(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE& other) const noexcept
- {
- return (ptr == other.ptr);
- }
- inline bool operator!=(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE& other) const noexcept
- {
- return (ptr != other.ptr);
- }
- CD3DX12_GPU_DESCRIPTOR_HANDLE &operator=(const D3D12_GPU_DESCRIPTOR_HANDLE &other) noexcept
- {
- ptr = other.ptr;
- return *this;
- }
-
- inline void InitOffsetted(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE &base, INT offsetScaledByIncrementSize) noexcept
- {
- InitOffsetted(*this, base, offsetScaledByIncrementSize);
- }
-
- inline void InitOffsetted(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE &base, INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept
- {
- InitOffsetted(*this, base, offsetInDescriptors, descriptorIncrementSize);
- }
-
- static inline void InitOffsetted(_Out_ D3D12_GPU_DESCRIPTOR_HANDLE &handle, _In_ const D3D12_GPU_DESCRIPTOR_HANDLE &base, INT offsetScaledByIncrementSize) noexcept
- {
- handle.ptr = UINT64(INT64(base.ptr) + INT64(offsetScaledByIncrementSize));
- }
-
- static inline void InitOffsetted(_Out_ D3D12_GPU_DESCRIPTOR_HANDLE &handle, _In_ const D3D12_GPU_DESCRIPTOR_HANDLE &base, INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept
- {
- handle.ptr = UINT64(INT64(base.ptr) + INT64(offsetInDescriptors) * INT64(descriptorIncrementSize));
- }
-};
-
-//------------------------------------------------------------------------------------------------
-inline constexpr UINT D3D12CalcSubresource( UINT MipSlice, UINT ArraySlice, UINT PlaneSlice, UINT MipLevels, UINT ArraySize ) noexcept
-{
- return MipSlice + ArraySlice * MipLevels + PlaneSlice * MipLevels * ArraySize;
-}
-
-//------------------------------------------------------------------------------------------------
-template
-inline void D3D12DecomposeSubresource( UINT Subresource, UINT MipLevels, UINT ArraySize, _Out_ T& MipSlice, _Out_ U& ArraySlice, _Out_ V& PlaneSlice ) noexcept
-{
- MipSlice = static_cast(Subresource % MipLevels);
- ArraySlice = static_cast((Subresource / MipLevels) % ArraySize);
- PlaneSlice = static_cast(Subresource / (MipLevels * ArraySize));
-}
-
-//------------------------------------------------------------------------------------------------
-inline UINT8 D3D12GetFormatPlaneCount(
- _In_ ID3D12Device* pDevice,
- DXGI_FORMAT Format
- ) noexcept
-{
- D3D12_FEATURE_DATA_FORMAT_INFO formatInfo = { Format, 0 };
- if (FAILED(pDevice->CheckFeatureSupport(D3D12_FEATURE_FORMAT_INFO, &formatInfo, sizeof(formatInfo))))
- {
- return 0;
- }
- return formatInfo.PlaneCount;
-}
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RESOURCE_DESC : public D3D12_RESOURCE_DESC
-{
- CD3DX12_RESOURCE_DESC() = default;
- explicit CD3DX12_RESOURCE_DESC( const D3D12_RESOURCE_DESC& o ) noexcept :
- D3D12_RESOURCE_DESC( o )
- {}
- CD3DX12_RESOURCE_DESC(
- D3D12_RESOURCE_DIMENSION dimension,
- UINT64 alignment,
- UINT64 width,
- UINT height,
- UINT16 depthOrArraySize,
- UINT16 mipLevels,
- DXGI_FORMAT format,
- UINT sampleCount,
- UINT sampleQuality,
- D3D12_TEXTURE_LAYOUT layout,
- D3D12_RESOURCE_FLAGS flags ) noexcept
- {
- Dimension = dimension;
- Alignment = alignment;
- Width = width;
- Height = height;
- DepthOrArraySize = depthOrArraySize;
- MipLevels = mipLevels;
- Format = format;
- SampleDesc.Count = sampleCount;
- SampleDesc.Quality = sampleQuality;
- Layout = layout;
- Flags = flags;
- }
- static inline CD3DX12_RESOURCE_DESC Buffer(
- const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE ) noexcept
- {
- return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_BUFFER, resAllocInfo.Alignment, resAllocInfo.SizeInBytes,
- 1, 1, 1, DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, flags );
- }
- static inline CD3DX12_RESOURCE_DESC Buffer(
- UINT64 width,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- UINT64 alignment = 0 ) noexcept
- {
- return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_BUFFER, alignment, width, 1, 1, 1,
- DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, flags );
- }
- static inline CD3DX12_RESOURCE_DESC Tex1D(
- DXGI_FORMAT format,
- UINT64 width,
- UINT16 arraySize = 1,
- UINT16 mipLevels = 0,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,
- UINT64 alignment = 0 ) noexcept
- {
- return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_TEXTURE1D, alignment, width, 1, arraySize,
- mipLevels, format, 1, 0, layout, flags );
- }
- static inline CD3DX12_RESOURCE_DESC Tex2D(
- DXGI_FORMAT format,
- UINT64 width,
- UINT height,
- UINT16 arraySize = 1,
- UINT16 mipLevels = 0,
- UINT sampleCount = 1,
- UINT sampleQuality = 0,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,
- UINT64 alignment = 0 ) noexcept
- {
- return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_TEXTURE2D, alignment, width, height, arraySize,
- mipLevels, format, sampleCount, sampleQuality, layout, flags );
- }
- static inline CD3DX12_RESOURCE_DESC Tex3D(
- DXGI_FORMAT format,
- UINT64 width,
- UINT height,
- UINT16 depth,
- UINT16 mipLevels = 0,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,
- UINT64 alignment = 0 ) noexcept
- {
- return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_TEXTURE3D, alignment, width, height, depth,
- mipLevels, format, 1, 0, layout, flags );
- }
- inline UINT16 Depth() const noexcept
- { return (Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE3D ? DepthOrArraySize : 1); }
- inline UINT16 ArraySize() const noexcept
- { return (Dimension != D3D12_RESOURCE_DIMENSION_TEXTURE3D ? DepthOrArraySize : 1); }
- inline UINT8 PlaneCount(_In_ ID3D12Device* pDevice) const noexcept
- { return D3D12GetFormatPlaneCount(pDevice, Format); }
- inline UINT Subresources(_In_ ID3D12Device* pDevice) const noexcept
- { return MipLevels * ArraySize() * PlaneCount(pDevice); }
- inline UINT CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT PlaneSlice) noexcept
- { return D3D12CalcSubresource(MipSlice, ArraySlice, PlaneSlice, MipLevels, ArraySize()); }
-};
-inline bool operator==( const D3D12_RESOURCE_DESC& l, const D3D12_RESOURCE_DESC& r ) noexcept
-{
- return l.Dimension == r.Dimension &&
- l.Alignment == r.Alignment &&
- l.Width == r.Width &&
- l.Height == r.Height &&
- l.DepthOrArraySize == r.DepthOrArraySize &&
- l.MipLevels == r.MipLevels &&
- l.Format == r.Format &&
- l.SampleDesc.Count == r.SampleDesc.Count &&
- l.SampleDesc.Quality == r.SampleDesc.Quality &&
- l.Layout == r.Layout &&
- l.Flags == r.Flags;
-}
-inline bool operator!=( const D3D12_RESOURCE_DESC& l, const D3D12_RESOURCE_DESC& r ) noexcept
-{ return !( l == r ); }
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RESOURCE_DESC1 : public D3D12_RESOURCE_DESC1
-{
- CD3DX12_RESOURCE_DESC1() = default;
- explicit CD3DX12_RESOURCE_DESC1( const D3D12_RESOURCE_DESC1& o ) noexcept :
- D3D12_RESOURCE_DESC1( o )
- {}
- CD3DX12_RESOURCE_DESC1(
- D3D12_RESOURCE_DIMENSION dimension,
- UINT64 alignment,
- UINT64 width,
- UINT height,
- UINT16 depthOrArraySize,
- UINT16 mipLevels,
- DXGI_FORMAT format,
- UINT sampleCount,
- UINT sampleQuality,
- D3D12_TEXTURE_LAYOUT layout,
- D3D12_RESOURCE_FLAGS flags,
- UINT samplerFeedbackMipRegionWidth = 0,
- UINT samplerFeedbackMipRegionHeight = 0,
- UINT samplerFeedbackMipRegionDepth = 0) noexcept
- {
- Dimension = dimension;
- Alignment = alignment;
- Width = width;
- Height = height;
- DepthOrArraySize = depthOrArraySize;
- MipLevels = mipLevels;
- Format = format;
- SampleDesc.Count = sampleCount;
- SampleDesc.Quality = sampleQuality;
- Layout = layout;
- Flags = flags;
- SamplerFeedbackMipRegion.Width = samplerFeedbackMipRegionWidth;
- SamplerFeedbackMipRegion.Height = samplerFeedbackMipRegionHeight;
- SamplerFeedbackMipRegion.Depth = samplerFeedbackMipRegionDepth;
- }
- static inline CD3DX12_RESOURCE_DESC1 Buffer(
- const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE ) noexcept
- {
- return CD3DX12_RESOURCE_DESC1( D3D12_RESOURCE_DIMENSION_BUFFER, resAllocInfo.Alignment, resAllocInfo.SizeInBytes,
- 1, 1, 1, DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, flags, 0, 0, 0 );
- }
- static inline CD3DX12_RESOURCE_DESC1 Buffer(
- UINT64 width,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- UINT64 alignment = 0 ) noexcept
- {
- return CD3DX12_RESOURCE_DESC1( D3D12_RESOURCE_DIMENSION_BUFFER, alignment, width, 1, 1, 1,
- DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, flags, 0, 0, 0 );
- }
- static inline CD3DX12_RESOURCE_DESC1 Tex1D(
- DXGI_FORMAT format,
- UINT64 width,
- UINT16 arraySize = 1,
- UINT16 mipLevels = 0,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,
- UINT64 alignment = 0 ) noexcept
- {
- return CD3DX12_RESOURCE_DESC1( D3D12_RESOURCE_DIMENSION_TEXTURE1D, alignment, width, 1, arraySize,
- mipLevels, format, 1, 0, layout, flags, 0, 0, 0 );
- }
- static inline CD3DX12_RESOURCE_DESC1 Tex2D(
- DXGI_FORMAT format,
- UINT64 width,
- UINT height,
- UINT16 arraySize = 1,
- UINT16 mipLevels = 0,
- UINT sampleCount = 1,
- UINT sampleQuality = 0,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,
- UINT64 alignment = 0,
- UINT samplerFeedbackMipRegionWidth = 0,
- UINT samplerFeedbackMipRegionHeight = 0,
- UINT samplerFeedbackMipRegionDepth = 0) noexcept
- {
- return CD3DX12_RESOURCE_DESC1( D3D12_RESOURCE_DIMENSION_TEXTURE2D, alignment, width, height, arraySize,
- mipLevels, format, sampleCount, sampleQuality, layout, flags, samplerFeedbackMipRegionWidth,
- samplerFeedbackMipRegionHeight, samplerFeedbackMipRegionDepth );
- }
- static inline CD3DX12_RESOURCE_DESC1 Tex3D(
- DXGI_FORMAT format,
- UINT64 width,
- UINT height,
- UINT16 depth,
- UINT16 mipLevels = 0,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,
- UINT64 alignment = 0 ) noexcept
- {
- return CD3DX12_RESOURCE_DESC1( D3D12_RESOURCE_DIMENSION_TEXTURE3D, alignment, width, height, depth,
- mipLevels, format, 1, 0, layout, flags, 0, 0, 0 );
- }
- inline UINT16 Depth() const noexcept
- { return (Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE3D ? DepthOrArraySize : 1); }
- inline UINT16 ArraySize() const noexcept
- { return (Dimension != D3D12_RESOURCE_DIMENSION_TEXTURE3D ? DepthOrArraySize : 1); }
- inline UINT8 PlaneCount(_In_ ID3D12Device* pDevice) const noexcept
- { return D3D12GetFormatPlaneCount(pDevice, Format); }
- inline UINT Subresources(_In_ ID3D12Device* pDevice) const noexcept
- { return MipLevels * ArraySize() * PlaneCount(pDevice); }
- inline UINT CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT PlaneSlice) noexcept
- { return D3D12CalcSubresource(MipSlice, ArraySlice, PlaneSlice, MipLevels, ArraySize()); }
-};
-inline bool operator==( const D3D12_RESOURCE_DESC1& l, const D3D12_RESOURCE_DESC1& r ) noexcept
-{
- return l.Dimension == r.Dimension &&
- l.Alignment == r.Alignment &&
- l.Width == r.Width &&
- l.Height == r.Height &&
- l.DepthOrArraySize == r.DepthOrArraySize &&
- l.MipLevels == r.MipLevels &&
- l.Format == r.Format &&
- l.SampleDesc.Count == r.SampleDesc.Count &&
- l.SampleDesc.Quality == r.SampleDesc.Quality &&
- l.Layout == r.Layout &&
- l.Flags == r.Flags &&
- l.SamplerFeedbackMipRegion.Width == r.SamplerFeedbackMipRegion.Width &&
- l.SamplerFeedbackMipRegion.Height == r.SamplerFeedbackMipRegion.Height &&
- l.SamplerFeedbackMipRegion.Depth == r.SamplerFeedbackMipRegion.Depth;
-}
-inline bool operator!=( const D3D12_RESOURCE_DESC1& l, const D3D12_RESOURCE_DESC1& r ) noexcept
-{ return !( l == r ); }
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_VIEW_INSTANCING_DESC : public D3D12_VIEW_INSTANCING_DESC
-{
- CD3DX12_VIEW_INSTANCING_DESC() = default;
- explicit CD3DX12_VIEW_INSTANCING_DESC( const D3D12_VIEW_INSTANCING_DESC& o ) noexcept :
- D3D12_VIEW_INSTANCING_DESC( o )
- {}
- explicit CD3DX12_VIEW_INSTANCING_DESC( CD3DX12_DEFAULT ) noexcept
- {
- ViewInstanceCount = 0;
- pViewInstanceLocations = nullptr;
- Flags = D3D12_VIEW_INSTANCING_FLAG_NONE;
- }
- explicit CD3DX12_VIEW_INSTANCING_DESC(
- UINT InViewInstanceCount,
- const D3D12_VIEW_INSTANCE_LOCATION* InViewInstanceLocations,
- D3D12_VIEW_INSTANCING_FLAGS InFlags) noexcept
- {
- ViewInstanceCount = InViewInstanceCount;
- pViewInstanceLocations = InViewInstanceLocations;
- Flags = InFlags;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-// Row-by-row memcpy
-inline void MemcpySubresource(
- _In_ const D3D12_MEMCPY_DEST* pDest,
- _In_ const D3D12_SUBRESOURCE_DATA* pSrc,
- SIZE_T RowSizeInBytes,
- UINT NumRows,
- UINT NumSlices) noexcept
-{
- for (UINT z = 0; z < NumSlices; ++z)
- {
- auto pDestSlice = static_cast(pDest->pData) + pDest->SlicePitch * z;
- auto pSrcSlice = static_cast(pSrc->pData) + pSrc->SlicePitch * LONG_PTR(z);
- for (UINT y = 0; y < NumRows; ++y)
- {
- memcpy(pDestSlice + pDest->RowPitch * y,
- pSrcSlice + pSrc->RowPitch * LONG_PTR(y),
- RowSizeInBytes);
- }
- }
-}
-
-//------------------------------------------------------------------------------------------------
-// Returns required size of a buffer to be used for data upload
-inline UINT64 GetRequiredIntermediateSize(
- _In_ ID3D12Resource* pDestinationResource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources) noexcept
-{
- auto Desc = pDestinationResource->GetDesc();
- UINT64 RequiredSize = 0;
-
- ID3D12Device* pDevice = nullptr;
- pDestinationResource->GetDevice(IID_ID3D12Device, reinterpret_cast(&pDevice));
- pDevice->GetCopyableFootprints(&Desc, FirstSubresource, NumSubresources, 0, nullptr, nullptr, nullptr, &RequiredSize);
- pDevice->Release();
-
- return RequiredSize;
-}
-
-//------------------------------------------------------------------------------------------------
-// All arrays must be populated (e.g. by calling GetCopyableFootprints)
-inline UINT64 UpdateSubresources(
- _In_ ID3D12GraphicsCommandList* pCmdList,
- _In_ ID3D12Resource* pDestinationResource,
- _In_ ID3D12Resource* pIntermediate,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 RequiredSize,
- _In_reads_(NumSubresources) const D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts,
- _In_reads_(NumSubresources) const UINT* pNumRows,
- _In_reads_(NumSubresources) const UINT64* pRowSizesInBytes,
- _In_reads_(NumSubresources) const D3D12_SUBRESOURCE_DATA* pSrcData) noexcept
-{
- // Minor validation
- auto IntermediateDesc = pIntermediate->GetDesc();
- auto DestinationDesc = pDestinationResource->GetDesc();
- if (IntermediateDesc.Dimension != D3D12_RESOURCE_DIMENSION_BUFFER ||
- IntermediateDesc.Width < RequiredSize + pLayouts[0].Offset ||
- RequiredSize > SIZE_T(-1) ||
- (DestinationDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER &&
- (FirstSubresource != 0 || NumSubresources != 1)))
- {
- return 0;
- }
-
- BYTE* pData;
- HRESULT hr = pIntermediate->Map(0, nullptr, reinterpret_cast(&pData));
- if (FAILED(hr))
- {
- return 0;
- }
-
- for (UINT i = 0; i < NumSubresources; ++i)
- {
- if (pRowSizesInBytes[i] > SIZE_T(-1)) return 0;
- D3D12_MEMCPY_DEST DestData = { pData + pLayouts[i].Offset, pLayouts[i].Footprint.RowPitch, SIZE_T(pLayouts[i].Footprint.RowPitch) * SIZE_T(pNumRows[i]) };
- MemcpySubresource(&DestData, &pSrcData[i], static_cast(pRowSizesInBytes[i]), pNumRows[i], pLayouts[i].Footprint.Depth);
- }
- pIntermediate->Unmap(0, nullptr);
-
- if (DestinationDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER)
- {
- pCmdList->CopyBufferRegion(
- pDestinationResource, 0, pIntermediate, pLayouts[0].Offset, pLayouts[0].Footprint.Width);
- }
- else
- {
- for (UINT i = 0; i < NumSubresources; ++i)
- {
- CD3DX12_TEXTURE_COPY_LOCATION Dst(pDestinationResource, i + FirstSubresource);
- CD3DX12_TEXTURE_COPY_LOCATION Src(pIntermediate, pLayouts[i]);
- pCmdList->CopyTextureRegion(&Dst, 0, 0, 0, &Src, nullptr);
- }
- }
- return RequiredSize;
-}
-
-//------------------------------------------------------------------------------------------------
-// Heap-allocating UpdateSubresources implementation
-inline UINT64 UpdateSubresources(
- _In_ ID3D12GraphicsCommandList* pCmdList,
- _In_ ID3D12Resource* pDestinationResource,
- _In_ ID3D12Resource* pIntermediate,
- UINT64 IntermediateOffset,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- _In_reads_(NumSubresources) const D3D12_SUBRESOURCE_DATA* pSrcData) noexcept
-{
- UINT64 RequiredSize = 0;
- UINT64 MemToAlloc = static_cast(sizeof(D3D12_PLACED_SUBRESOURCE_FOOTPRINT) + sizeof(UINT) + sizeof(UINT64)) * NumSubresources;
- if (MemToAlloc > SIZE_MAX)
- {
- return 0;
- }
- void* pMem = HeapAlloc(GetProcessHeap(), 0, static_cast(MemToAlloc));
- if (pMem == nullptr)
- {
- return 0;
- }
- auto pLayouts = static_cast(pMem);
- UINT64* pRowSizesInBytes = reinterpret_cast(pLayouts + NumSubresources);
- UINT* pNumRows = reinterpret_cast(pRowSizesInBytes + NumSubresources);
-
- auto Desc = pDestinationResource->GetDesc();
- ID3D12Device* pDevice = nullptr;
- pDestinationResource->GetDevice(IID_ID3D12Device, reinterpret_cast(&pDevice));
- pDevice->GetCopyableFootprints(&Desc, FirstSubresource, NumSubresources, IntermediateOffset, pLayouts, pNumRows, pRowSizesInBytes, &RequiredSize);
- pDevice->Release();
-
- UINT64 Result = UpdateSubresources(pCmdList, pDestinationResource, pIntermediate, FirstSubresource, NumSubresources, RequiredSize, pLayouts, pNumRows, pRowSizesInBytes, pSrcData);
- HeapFree(GetProcessHeap(), 0, pMem);
- return Result;
-}
-
-//------------------------------------------------------------------------------------------------
-// Stack-allocating UpdateSubresources implementation
-template
-inline UINT64 UpdateSubresources(
- _In_ ID3D12GraphicsCommandList* pCmdList,
- _In_ ID3D12Resource* pDestinationResource,
- _In_ ID3D12Resource* pIntermediate,
- UINT64 IntermediateOffset,
- _In_range_(0, MaxSubresources) UINT FirstSubresource,
- _In_range_(1, MaxSubresources - FirstSubresource) UINT NumSubresources,
- _In_reads_(NumSubresources) const D3D12_SUBRESOURCE_DATA* pSrcData) noexcept
-{
- UINT64 RequiredSize = 0;
- D3D12_PLACED_SUBRESOURCE_FOOTPRINT Layouts[MaxSubresources];
- UINT NumRows[MaxSubresources];
- UINT64 RowSizesInBytes[MaxSubresources];
-
- auto Desc = pDestinationResource->GetDesc();
- ID3D12Device* pDevice = nullptr;
- pDestinationResource->GetDevice(IID_ID3D12Device, reinterpret_cast(&pDevice));
- pDevice->GetCopyableFootprints(&Desc, FirstSubresource, NumSubresources, IntermediateOffset, Layouts, NumRows, RowSizesInBytes, &RequiredSize);
- pDevice->Release();
-
- return UpdateSubresources(pCmdList, pDestinationResource, pIntermediate, FirstSubresource, NumSubresources, RequiredSize, Layouts, NumRows, RowSizesInBytes, pSrcData);
-}
-
-//------------------------------------------------------------------------------------------------
-inline constexpr bool D3D12IsLayoutOpaque( D3D12_TEXTURE_LAYOUT Layout ) noexcept
-{ return Layout == D3D12_TEXTURE_LAYOUT_UNKNOWN || Layout == D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE; }
-
-//------------------------------------------------------------------------------------------------
-template
-inline ID3D12CommandList * const * CommandListCast(t_CommandListType * const * pp) noexcept
-{
- // This cast is useful for passing strongly typed command list pointers into
- // ExecuteCommandLists.
- // This cast is valid as long as the const-ness is respected. D3D12 APIs do
- // respect the const-ness of their arguments.
- return reinterpret_cast(pp);
-}
-
-//------------------------------------------------------------------------------------------------
-// D3D12 exports a new method for serializing root signatures in the Windows 10 Anniversary Update.
-// To help enable root signature 1.1 features when they are available and not require maintaining
-// two code paths for building root signatures, this helper method reconstructs a 1.0 signature when
-// 1.1 is not supported.
-inline HRESULT D3DX12SerializeVersionedRootSignature(
- _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignatureDesc,
- D3D_ROOT_SIGNATURE_VERSION MaxVersion,
- _Outptr_ ID3DBlob** ppBlob,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob) noexcept
-{
- if (ppErrorBlob != nullptr)
- {
- *ppErrorBlob = nullptr;
- }
-
- switch (MaxVersion)
- {
- case D3D_ROOT_SIGNATURE_VERSION_1_0:
- switch (pRootSignatureDesc->Version)
- {
- case D3D_ROOT_SIGNATURE_VERSION_1_0:
- return D3D12SerializeRootSignature(&pRootSignatureDesc->Desc_1_0, D3D_ROOT_SIGNATURE_VERSION_1, ppBlob, ppErrorBlob);
-
- case D3D_ROOT_SIGNATURE_VERSION_1_1:
- {
- HRESULT hr = S_OK;
- const D3D12_ROOT_SIGNATURE_DESC1& desc_1_1 = pRootSignatureDesc->Desc_1_1;
-
- const SIZE_T ParametersSize = sizeof(D3D12_ROOT_PARAMETER) * desc_1_1.NumParameters;
- void* pParameters = (ParametersSize > 0) ? HeapAlloc(GetProcessHeap(), 0, ParametersSize) : nullptr;
- if (ParametersSize > 0 && pParameters == nullptr)
- {
- hr = E_OUTOFMEMORY;
- }
- auto pParameters_1_0 = static_cast(pParameters);
-
- if (SUCCEEDED(hr))
- {
- for (UINT n = 0; n < desc_1_1.NumParameters; n++)
- {
- __analysis_assume(ParametersSize == sizeof(D3D12_ROOT_PARAMETER) * desc_1_1.NumParameters);
- pParameters_1_0[n].ParameterType = desc_1_1.pParameters[n].ParameterType;
- pParameters_1_0[n].ShaderVisibility = desc_1_1.pParameters[n].ShaderVisibility;
-
- switch (desc_1_1.pParameters[n].ParameterType)
- {
- case D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS:
- pParameters_1_0[n].Constants.Num32BitValues = desc_1_1.pParameters[n].Constants.Num32BitValues;
- pParameters_1_0[n].Constants.RegisterSpace = desc_1_1.pParameters[n].Constants.RegisterSpace;
- pParameters_1_0[n].Constants.ShaderRegister = desc_1_1.pParameters[n].Constants.ShaderRegister;
- break;
-
- case D3D12_ROOT_PARAMETER_TYPE_CBV:
- case D3D12_ROOT_PARAMETER_TYPE_SRV:
- case D3D12_ROOT_PARAMETER_TYPE_UAV:
- pParameters_1_0[n].Descriptor.RegisterSpace = desc_1_1.pParameters[n].Descriptor.RegisterSpace;
- pParameters_1_0[n].Descriptor.ShaderRegister = desc_1_1.pParameters[n].Descriptor.ShaderRegister;
- break;
-
- case D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE:
- const D3D12_ROOT_DESCRIPTOR_TABLE1& table_1_1 = desc_1_1.pParameters[n].DescriptorTable;
-
- const SIZE_T DescriptorRangesSize = sizeof(D3D12_DESCRIPTOR_RANGE) * table_1_1.NumDescriptorRanges;
- void* pDescriptorRanges = (DescriptorRangesSize > 0 && SUCCEEDED(hr)) ? HeapAlloc(GetProcessHeap(), 0, DescriptorRangesSize) : nullptr;
- if (DescriptorRangesSize > 0 && pDescriptorRanges == nullptr)
- {
- hr = E_OUTOFMEMORY;
- }
- auto pDescriptorRanges_1_0 = static_cast(pDescriptorRanges);
-
- if (SUCCEEDED(hr))
- {
- for (UINT x = 0; x < table_1_1.NumDescriptorRanges; x++)
- {
- __analysis_assume(DescriptorRangesSize == sizeof(D3D12_DESCRIPTOR_RANGE) * table_1_1.NumDescriptorRanges);
- pDescriptorRanges_1_0[x].BaseShaderRegister = table_1_1.pDescriptorRanges[x].BaseShaderRegister;
- pDescriptorRanges_1_0[x].NumDescriptors = table_1_1.pDescriptorRanges[x].NumDescriptors;
- pDescriptorRanges_1_0[x].OffsetInDescriptorsFromTableStart = table_1_1.pDescriptorRanges[x].OffsetInDescriptorsFromTableStart;
- pDescriptorRanges_1_0[x].RangeType = table_1_1.pDescriptorRanges[x].RangeType;
- pDescriptorRanges_1_0[x].RegisterSpace = table_1_1.pDescriptorRanges[x].RegisterSpace;
- }
- }
-
- D3D12_ROOT_DESCRIPTOR_TABLE& table_1_0 = pParameters_1_0[n].DescriptorTable;
- table_1_0.NumDescriptorRanges = table_1_1.NumDescriptorRanges;
- table_1_0.pDescriptorRanges = pDescriptorRanges_1_0;
- }
- }
- }
-
- if (SUCCEEDED(hr))
- {
- CD3DX12_ROOT_SIGNATURE_DESC desc_1_0(desc_1_1.NumParameters, pParameters_1_0, desc_1_1.NumStaticSamplers, desc_1_1.pStaticSamplers, desc_1_1.Flags);
- hr = D3D12SerializeRootSignature(&desc_1_0, D3D_ROOT_SIGNATURE_VERSION_1, ppBlob, ppErrorBlob);
- }
-
- if (pParameters)
- {
- for (UINT n = 0; n < desc_1_1.NumParameters; n++)
- {
- if (desc_1_1.pParameters[n].ParameterType == D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE)
- {
- HeapFree(GetProcessHeap(), 0, reinterpret_cast(const_cast(pParameters_1_0[n].DescriptorTable.pDescriptorRanges)));
- }
- }
- HeapFree(GetProcessHeap(), 0, pParameters);
- }
- return hr;
- }
- }
- break;
-
- case D3D_ROOT_SIGNATURE_VERSION_1_1:
- return D3D12SerializeVersionedRootSignature(pRootSignatureDesc, ppBlob, ppErrorBlob);
- }
-
- return E_INVALIDARG;
-}
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RT_FORMAT_ARRAY : public D3D12_RT_FORMAT_ARRAY
-{
- CD3DX12_RT_FORMAT_ARRAY() = default;
- explicit CD3DX12_RT_FORMAT_ARRAY(const D3D12_RT_FORMAT_ARRAY& o) noexcept
- : D3D12_RT_FORMAT_ARRAY(o)
- {}
- explicit CD3DX12_RT_FORMAT_ARRAY(_In_reads_(NumFormats) const DXGI_FORMAT* pFormats, UINT NumFormats) noexcept
- {
- NumRenderTargets = NumFormats;
- memcpy(RTFormats, pFormats, sizeof(RTFormats));
- // assumes ARRAY_SIZE(pFormats) == ARRAY_SIZE(RTFormats)
- }
-};
-
-//------------------------------------------------------------------------------------------------
-// Pipeline State Stream Helpers
-//------------------------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------------------------
-// Stream Subobjects, i.e. elements of a stream
-
-struct DefaultSampleMask { operator UINT() noexcept { return UINT_MAX; } };
-struct DefaultSampleDesc { operator DXGI_SAMPLE_DESC() noexcept { return DXGI_SAMPLE_DESC{1, 0}; } };
-
-#pragma warning(push)
-#pragma warning(disable : 4324)
-template
-class alignas(void*) CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT
-{
-private:
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
- InnerStructType _Inner;
-public:
- CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT() noexcept : _Type(Type), _Inner(DefaultArg()) {}
- CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT(InnerStructType const& i) noexcept : _Type(Type), _Inner(i) {}
- CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT& operator=(InnerStructType const& i) noexcept { _Type = Type; _Inner = i; return *this; }
- operator InnerStructType const&() const noexcept { return _Inner; }
- operator InnerStructType&() noexcept { return _Inner; }
- InnerStructType* operator&() noexcept { return &_Inner; }
- InnerStructType const* operator&() const noexcept { return &_Inner; }
-};
-#pragma warning(pop)
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_PIPELINE_STATE_FLAGS, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS> CD3DX12_PIPELINE_STATE_STREAM_FLAGS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< UINT, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK> CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< ID3D12RootSignature*, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE> CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_INPUT_LAYOUT_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT> CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_INDEX_BUFFER_STRIP_CUT_VALUE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE> CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_PRIMITIVE_TOPOLOGY_TYPE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY> CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS> CD3DX12_PIPELINE_STATE_STREAM_VS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS> CD3DX12_PIPELINE_STATE_STREAM_GS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_STREAM_OUTPUT_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT> CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS> CD3DX12_PIPELINE_STATE_STREAM_HS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS> CD3DX12_PIPELINE_STATE_STREAM_DS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS> CD3DX12_PIPELINE_STATE_STREAM_PS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS> CD3DX12_PIPELINE_STATE_STREAM_AS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS> CD3DX12_PIPELINE_STATE_STREAM_MS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS> CD3DX12_PIPELINE_STATE_STREAM_CS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_BLEND_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_DEPTH_STENCIL_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_DEPTH_STENCIL_DESC1, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< DXGI_FORMAT, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT> CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_RASTERIZER_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_RT_FORMAT_ARRAY, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS> CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< DXGI_SAMPLE_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC, DefaultSampleDesc> CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< UINT, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK, DefaultSampleMask> CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_CACHED_PIPELINE_STATE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO> CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_VIEW_INSTANCING_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING;
-
-//------------------------------------------------------------------------------------------------
-// Stream Parser Helpers
-
-struct ID3DX12PipelineParserCallbacks
-{
- // Subobject Callbacks
- virtual void FlagsCb(D3D12_PIPELINE_STATE_FLAGS) {}
- virtual void NodeMaskCb(UINT) {}
- virtual void RootSignatureCb(ID3D12RootSignature*) {}
- virtual void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC&) {}
- virtual void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE) {}
- virtual void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE) {}
- virtual void VSCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void GSCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC&) {}
- virtual void HSCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void DSCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void PSCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void CSCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void ASCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void MSCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void BlendStateCb(const D3D12_BLEND_DESC&) {}
- virtual void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC&) {}
- virtual void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1&) {}
- virtual void DSVFormatCb(DXGI_FORMAT) {}
- virtual void RasterizerStateCb(const D3D12_RASTERIZER_DESC&) {}
- virtual void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY&) {}
- virtual void SampleDescCb(const DXGI_SAMPLE_DESC&) {}
- virtual void SampleMaskCb(UINT) {}
- virtual void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC&) {}
- virtual void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE&) {}
-
- // Error Callbacks
- virtual void ErrorBadInputParameter(UINT /*ParameterIndex*/) {}
- virtual void ErrorDuplicateSubobject(D3D12_PIPELINE_STATE_SUBOBJECT_TYPE /*DuplicateType*/) {}
- virtual void ErrorUnknownSubobject(UINT /*UnknownTypeValue*/) {}
-
- virtual ~ID3DX12PipelineParserCallbacks() = default;
-};
-
-struct D3DX12_MESH_SHADER_PIPELINE_STATE_DESC
-{
- ID3D12RootSignature* pRootSignature;
- D3D12_SHADER_BYTECODE AS;
- D3D12_SHADER_BYTECODE MS;
- D3D12_SHADER_BYTECODE PS;
- D3D12_BLEND_DESC BlendState;
- UINT SampleMask;
- D3D12_RASTERIZER_DESC RasterizerState;
- D3D12_DEPTH_STENCIL_DESC DepthStencilState;
- D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType;
- UINT NumRenderTargets;
- DXGI_FORMAT RTVFormats[ D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT ];
- DXGI_FORMAT DSVFormat;
- DXGI_SAMPLE_DESC SampleDesc;
- UINT NodeMask;
- D3D12_CACHED_PIPELINE_STATE CachedPSO;
- D3D12_PIPELINE_STATE_FLAGS Flags;
-};
-
-// CD3DX12_PIPELINE_STATE_STREAM2 Works on OS Build 19041+ (where there is a new mesh shader pipeline).
-// Use CD3DX12_PIPELINE_STATE_STREAM1 for OS Build 16299+ (where there is a new view instancing subobject).
-// Use CD3DX12_PIPELINE_STATE_STREAM for OS Build 15063+ support.
-struct CD3DX12_PIPELINE_STATE_STREAM2
-{
- CD3DX12_PIPELINE_STATE_STREAM2() = default;
- // Mesh and amplification shaders must be set manually, since they do not have representation in D3D12_GRAPHICS_PIPELINE_STATE_DESC
- CD3DX12_PIPELINE_STATE_STREAM2(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , InputLayout(Desc.InputLayout)
- , IBStripCutValue(Desc.IBStripCutValue)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , VS(Desc.VS)
- , GS(Desc.GS)
- , StreamOutput(Desc.StreamOutput)
- , HS(Desc.HS)
- , DS(Desc.DS)
- , PS(Desc.PS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM2(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , PS(Desc.PS)
- , AS(Desc.AS)
- , MS(Desc.MS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM2(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , CS(CD3DX12_SHADER_BYTECODE(Desc.CS))
- , CachedPSO(Desc.CachedPSO)
- {
- static_cast(DepthStencilState).DepthEnable = false;
- }
- CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags;
- CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask;
- CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature;
- CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout;
- CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue;
- CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType;
- CD3DX12_PIPELINE_STATE_STREAM_VS VS;
- CD3DX12_PIPELINE_STATE_STREAM_GS GS;
- CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput;
- CD3DX12_PIPELINE_STATE_STREAM_HS HS;
- CD3DX12_PIPELINE_STATE_STREAM_DS DS;
- CD3DX12_PIPELINE_STATE_STREAM_PS PS;
- CD3DX12_PIPELINE_STATE_STREAM_AS AS;
- CD3DX12_PIPELINE_STATE_STREAM_MS MS;
- CD3DX12_PIPELINE_STATE_STREAM_CS CS;
- CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1 DepthStencilState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat;
- CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState;
- CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask;
- CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO;
- CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc;
- D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept
- {
- D3D12_GRAPHICS_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.InputLayout = this->InputLayout;
- D.IBStripCutValue = this->IBStripCutValue;
- D.PrimitiveTopologyType = this->PrimitiveTopologyType;
- D.VS = this->VS;
- D.GS = this->GS;
- D.StreamOutput = this->StreamOutput;
- D.HS = this->HS;
- D.DS = this->DS;
- D.PS = this->PS;
- D.BlendState = this->BlendState;
- D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(D3D12_DEPTH_STENCIL_DESC1(this->DepthStencilState));
- D.DSVFormat = this->DSVFormat;
- D.RasterizerState = this->RasterizerState;
- D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets;
- memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats));
- D.SampleDesc = this->SampleDesc;
- D.SampleMask = this->SampleMask;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
- D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept
- {
- D3D12_COMPUTE_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.CS = this->CS;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
-};
-
-// CD3DX12_PIPELINE_STATE_STREAM1 Works on OS Build 16299+ (where there is a new view instancing subobject).
-// Use CD3DX12_PIPELINE_STATE_STREAM for OS Build 15063+ support.
-struct CD3DX12_PIPELINE_STATE_STREAM1
-{
- CD3DX12_PIPELINE_STATE_STREAM1() = default;
- // Mesh and amplification shaders must be set manually, since they do not have representation in D3D12_GRAPHICS_PIPELINE_STATE_DESC
- CD3DX12_PIPELINE_STATE_STREAM1(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , InputLayout(Desc.InputLayout)
- , IBStripCutValue(Desc.IBStripCutValue)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , VS(Desc.VS)
- , GS(Desc.GS)
- , StreamOutput(Desc.StreamOutput)
- , HS(Desc.HS)
- , DS(Desc.DS)
- , PS(Desc.PS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM1(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , PS(Desc.PS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM1(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , CS(CD3DX12_SHADER_BYTECODE(Desc.CS))
- , CachedPSO(Desc.CachedPSO)
- {
- static_cast(DepthStencilState).DepthEnable = false;
- }
- CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags;
- CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask;
- CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature;
- CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout;
- CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue;
- CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType;
- CD3DX12_PIPELINE_STATE_STREAM_VS VS;
- CD3DX12_PIPELINE_STATE_STREAM_GS GS;
- CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput;
- CD3DX12_PIPELINE_STATE_STREAM_HS HS;
- CD3DX12_PIPELINE_STATE_STREAM_DS DS;
- CD3DX12_PIPELINE_STATE_STREAM_PS PS;
- CD3DX12_PIPELINE_STATE_STREAM_CS CS;
- CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1 DepthStencilState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat;
- CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState;
- CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask;
- CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO;
- CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc;
- D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept
- {
- D3D12_GRAPHICS_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.InputLayout = this->InputLayout;
- D.IBStripCutValue = this->IBStripCutValue;
- D.PrimitiveTopologyType = this->PrimitiveTopologyType;
- D.VS = this->VS;
- D.GS = this->GS;
- D.StreamOutput = this->StreamOutput;
- D.HS = this->HS;
- D.DS = this->DS;
- D.PS = this->PS;
- D.BlendState = this->BlendState;
- D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(D3D12_DEPTH_STENCIL_DESC1(this->DepthStencilState));
- D.DSVFormat = this->DSVFormat;
- D.RasterizerState = this->RasterizerState;
- D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets;
- memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats));
- D.SampleDesc = this->SampleDesc;
- D.SampleMask = this->SampleMask;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
- D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept
- {
- D3D12_COMPUTE_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.CS = this->CS;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
-};
-
-
-struct CD3DX12_PIPELINE_MESH_STATE_STREAM
-{
- CD3DX12_PIPELINE_MESH_STATE_STREAM() = default;
- CD3DX12_PIPELINE_MESH_STATE_STREAM(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , PS(Desc.PS)
- , AS(Desc.AS)
- , MS(Desc.MS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags;
- CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask;
- CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature;
- CD3DX12_PIPELINE_STATE_STREAM_PS PS;
- CD3DX12_PIPELINE_STATE_STREAM_AS AS;
- CD3DX12_PIPELINE_STATE_STREAM_MS MS;
- CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1 DepthStencilState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat;
- CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState;
- CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask;
- CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO;
- CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc;
- D3DX12_MESH_SHADER_PIPELINE_STATE_DESC MeshShaderDescV0() const noexcept
- {
- D3DX12_MESH_SHADER_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.PS = this->PS;
- D.AS = this->AS;
- D.MS = this->MS;
- D.BlendState = this->BlendState;
- D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(D3D12_DEPTH_STENCIL_DESC1(this->DepthStencilState));
- D.DSVFormat = this->DSVFormat;
- D.RasterizerState = this->RasterizerState;
- D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets;
- memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats));
- D.SampleDesc = this->SampleDesc;
- D.SampleMask = this->SampleMask;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
-};
-
-// CD3DX12_PIPELINE_STATE_STREAM works on OS Build 15063+ but does not support new subobject(s) added in OS Build 16299+.
-// See CD3DX12_PIPELINE_STATE_STREAM1 for instance.
-struct CD3DX12_PIPELINE_STATE_STREAM
-{
- CD3DX12_PIPELINE_STATE_STREAM() = default;
- CD3DX12_PIPELINE_STATE_STREAM(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , InputLayout(Desc.InputLayout)
- , IBStripCutValue(Desc.IBStripCutValue)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , VS(Desc.VS)
- , GS(Desc.GS)
- , StreamOutput(Desc.StreamOutput)
- , HS(Desc.HS)
- , DS(Desc.DS)
- , PS(Desc.PS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- {}
- CD3DX12_PIPELINE_STATE_STREAM(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , CS(CD3DX12_SHADER_BYTECODE(Desc.CS))
- , CachedPSO(Desc.CachedPSO)
- {}
- CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags;
- CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask;
- CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature;
- CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout;
- CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue;
- CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType;
- CD3DX12_PIPELINE_STATE_STREAM_VS VS;
- CD3DX12_PIPELINE_STATE_STREAM_GS GS;
- CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput;
- CD3DX12_PIPELINE_STATE_STREAM_HS HS;
- CD3DX12_PIPELINE_STATE_STREAM_DS DS;
- CD3DX12_PIPELINE_STATE_STREAM_PS PS;
- CD3DX12_PIPELINE_STATE_STREAM_CS CS;
- CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1 DepthStencilState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat;
- CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState;
- CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask;
- CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO;
- D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept
- {
- D3D12_GRAPHICS_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.InputLayout = this->InputLayout;
- D.IBStripCutValue = this->IBStripCutValue;
- D.PrimitiveTopologyType = this->PrimitiveTopologyType;
- D.VS = this->VS;
- D.GS = this->GS;
- D.StreamOutput = this->StreamOutput;
- D.HS = this->HS;
- D.DS = this->DS;
- D.PS = this->PS;
- D.BlendState = this->BlendState;
- D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(D3D12_DEPTH_STENCIL_DESC1(this->DepthStencilState));
- D.DSVFormat = this->DSVFormat;
- D.RasterizerState = this->RasterizerState;
- D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets;
- memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats));
- D.SampleDesc = this->SampleDesc;
- D.SampleMask = this->SampleMask;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
- D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept
- {
- D3D12_COMPUTE_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.CS = this->CS;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
-};
-
-struct CD3DX12_PIPELINE_STATE_STREAM2_PARSE_HELPER : public ID3DX12PipelineParserCallbacks
-{
- CD3DX12_PIPELINE_STATE_STREAM2 PipelineStream;
- CD3DX12_PIPELINE_STATE_STREAM2_PARSE_HELPER() noexcept
- : SeenDSS(false)
- {
- // Adjust defaults to account for absent members.
- PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
-
- // Depth disabled if no DSV format specified.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = false;
- }
-
- // ID3DX12PipelineParserCallbacks
- void FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags) override {PipelineStream.Flags = Flags;}
- void NodeMaskCb(UINT NodeMask) override {PipelineStream.NodeMask = NodeMask;}
- void RootSignatureCb(ID3D12RootSignature* pRootSignature) override {PipelineStream.pRootSignature = pRootSignature;}
- void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout) override {PipelineStream.InputLayout = InputLayout;}
- void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) override {PipelineStream.IBStripCutValue = IBStripCutValue;}
- void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType) override {PipelineStream.PrimitiveTopologyType = PrimitiveTopologyType;}
- void VSCb(const D3D12_SHADER_BYTECODE& VS) override {PipelineStream.VS = VS;}
- void GSCb(const D3D12_SHADER_BYTECODE& GS) override {PipelineStream.GS = GS;}
- void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput) override {PipelineStream.StreamOutput = StreamOutput;}
- void HSCb(const D3D12_SHADER_BYTECODE& HS) override {PipelineStream.HS = HS;}
- void DSCb(const D3D12_SHADER_BYTECODE& DS) override {PipelineStream.DS = DS;}
- void PSCb(const D3D12_SHADER_BYTECODE& PS) override {PipelineStream.PS = PS;}
- void CSCb(const D3D12_SHADER_BYTECODE& CS) override {PipelineStream.CS = CS;}
- void ASCb(const D3D12_SHADER_BYTECODE& AS) override {PipelineStream.AS = AS;}
- void MSCb(const D3D12_SHADER_BYTECODE& MS) override {PipelineStream.MS = MS;}
- void BlendStateCb(const D3D12_BLEND_DESC& BlendState) override {PipelineStream.BlendState = CD3DX12_BLEND_DESC(BlendState);}
- void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(DepthStencilState);
- SeenDSS = true;
- }
- void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(DepthStencilState);
- SeenDSS = true;
- }
- void DSVFormatCb(DXGI_FORMAT DSVFormat) override
- {
- PipelineStream.DSVFormat = DSVFormat;
- if (!SeenDSS && DSVFormat != DXGI_FORMAT_UNKNOWN)
- {
- // Re-enable depth for the default state.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = true;
- }
- }
- void RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState) override {PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC(RasterizerState);}
- void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats) override {PipelineStream.RTVFormats = RTVFormats;}
- void SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc) override {PipelineStream.SampleDesc = SampleDesc;}
- void SampleMaskCb(UINT SampleMask) override {PipelineStream.SampleMask = SampleMask;}
- void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc) override {PipelineStream.ViewInstancingDesc = CD3DX12_VIEW_INSTANCING_DESC(ViewInstancingDesc);}
- void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO) override {PipelineStream.CachedPSO = CachedPSO;}
-
-private:
- bool SeenDSS;
-};
-
-
-struct CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER : public ID3DX12PipelineParserCallbacks
-{
- CD3DX12_PIPELINE_STATE_STREAM1 PipelineStream;
- CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER() noexcept
- : SeenDSS(false)
- {
- // Adjust defaults to account for absent members.
- PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
-
- // Depth disabled if no DSV format specified.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = false;
- }
-
- // ID3DX12PipelineParserCallbacks
- void FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags) override {PipelineStream.Flags = Flags;}
- void NodeMaskCb(UINT NodeMask) override {PipelineStream.NodeMask = NodeMask;}
- void RootSignatureCb(ID3D12RootSignature* pRootSignature) override {PipelineStream.pRootSignature = pRootSignature;}
- void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout) override {PipelineStream.InputLayout = InputLayout;}
- void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) override {PipelineStream.IBStripCutValue = IBStripCutValue;}
- void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType) override {PipelineStream.PrimitiveTopologyType = PrimitiveTopologyType;}
- void VSCb(const D3D12_SHADER_BYTECODE& VS) override {PipelineStream.VS = VS;}
- void GSCb(const D3D12_SHADER_BYTECODE& GS) override {PipelineStream.GS = GS;}
- void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput) override {PipelineStream.StreamOutput = StreamOutput;}
- void HSCb(const D3D12_SHADER_BYTECODE& HS) override {PipelineStream.HS = HS;}
- void DSCb(const D3D12_SHADER_BYTECODE& DS) override {PipelineStream.DS = DS;}
- void PSCb(const D3D12_SHADER_BYTECODE& PS) override {PipelineStream.PS = PS;}
- void CSCb(const D3D12_SHADER_BYTECODE& CS) override {PipelineStream.CS = CS;}
- void BlendStateCb(const D3D12_BLEND_DESC& BlendState) override {PipelineStream.BlendState = CD3DX12_BLEND_DESC(BlendState);}
- void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(DepthStencilState);
- SeenDSS = true;
- }
- void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(DepthStencilState);
- SeenDSS = true;
- }
- void DSVFormatCb(DXGI_FORMAT DSVFormat) override
- {
- PipelineStream.DSVFormat = DSVFormat;
- if (!SeenDSS && DSVFormat != DXGI_FORMAT_UNKNOWN)
- {
- // Re-enable depth for the default state.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = true;
- }
- }
- void RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState) override {PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC(RasterizerState);}
- void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats) override {PipelineStream.RTVFormats = RTVFormats;}
- void SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc) override {PipelineStream.SampleDesc = SampleDesc;}
- void SampleMaskCb(UINT SampleMask) override {PipelineStream.SampleMask = SampleMask;}
- void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc) override {PipelineStream.ViewInstancingDesc = CD3DX12_VIEW_INSTANCING_DESC(ViewInstancingDesc);}
- void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO) override {PipelineStream.CachedPSO = CachedPSO;}
-
-private:
- bool SeenDSS;
-};
-
-inline D3D12_PIPELINE_STATE_SUBOBJECT_TYPE D3DX12GetBaseSubobjectType(D3D12_PIPELINE_STATE_SUBOBJECT_TYPE SubobjectType) noexcept
-{
- switch (SubobjectType)
- {
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1:
- return D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL;
- default:
- return SubobjectType;
- }
-}
-
-inline HRESULT D3DX12ParsePipelineStream(const D3D12_PIPELINE_STATE_STREAM_DESC& Desc, ID3DX12PipelineParserCallbacks* pCallbacks)
-{
- if (pCallbacks == nullptr)
- {
- return E_INVALIDARG;
- }
-
- if (Desc.SizeInBytes == 0 || Desc.pPipelineStateSubobjectStream == nullptr)
- {
- pCallbacks->ErrorBadInputParameter(1); // first parameter issue
- return E_INVALIDARG;
- }
-
- bool SubobjectSeen[D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID] = {};
- for (SIZE_T CurOffset = 0, SizeOfSubobject = 0; CurOffset < Desc.SizeInBytes; CurOffset += SizeOfSubobject)
- {
- BYTE* pStream = static_cast(Desc.pPipelineStateSubobjectStream)+CurOffset;
- auto SubobjectType = *reinterpret_cast(pStream);
- if (SubobjectType < 0 || SubobjectType >= D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID)
- {
- pCallbacks->ErrorUnknownSubobject(SubobjectType);
- return E_INVALIDARG;
- }
- if (SubobjectSeen[D3DX12GetBaseSubobjectType(SubobjectType)])
- {
- pCallbacks->ErrorDuplicateSubobject(SubobjectType);
- return E_INVALIDARG; // disallow subobject duplicates in a stream
- }
- SubobjectSeen[SubobjectType] = true;
- switch (SubobjectType)
- {
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE:
- pCallbacks->RootSignatureCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::pRootSignature);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS:
- pCallbacks->VSCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::VS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS:
- pCallbacks->PSCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::PS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS:
- pCallbacks->DSCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::DS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS:
- pCallbacks->HSCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::HS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS:
- pCallbacks->GSCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::GS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS:
- pCallbacks->CSCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::CS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS:
- pCallbacks->ASCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM2::AS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS:
- pCallbacks->MSCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM2::MS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT:
- pCallbacks->StreamOutputCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::StreamOutput);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND:
- pCallbacks->BlendStateCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::BlendState);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK:
- pCallbacks->SampleMaskCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::SampleMask);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER:
- pCallbacks->RasterizerStateCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::RasterizerState);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL:
- pCallbacks->DepthStencilStateCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1:
- pCallbacks->DepthStencilState1Cb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::DepthStencilState);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT:
- pCallbacks->InputLayoutCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::InputLayout);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE:
- pCallbacks->IBStripCutValueCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::IBStripCutValue);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY:
- pCallbacks->PrimitiveTopologyTypeCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::PrimitiveTopologyType);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS:
- pCallbacks->RTVFormatsCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::RTVFormats);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT:
- pCallbacks->DSVFormatCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::DSVFormat);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC:
- pCallbacks->SampleDescCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::SampleDesc);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK:
- pCallbacks->NodeMaskCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::NodeMask);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO:
- pCallbacks->CachedPSOCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::CachedPSO);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS:
- pCallbacks->FlagsCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::Flags);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING:
- pCallbacks->ViewInstancingCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM1::ViewInstancingDesc);
- break;
- default:
- pCallbacks->ErrorUnknownSubobject(SubobjectType);
- return E_INVALIDARG;
- }
- }
-
- return S_OK;
-}
-
-//------------------------------------------------------------------------------------------------
-inline bool operator==( const D3D12_CLEAR_VALUE &a, const D3D12_CLEAR_VALUE &b) noexcept
-{
- if (a.Format != b.Format) return false;
- if (a.Format == DXGI_FORMAT_D24_UNORM_S8_UINT
- || a.Format == DXGI_FORMAT_D16_UNORM
- || a.Format == DXGI_FORMAT_D32_FLOAT
- || a.Format == DXGI_FORMAT_D32_FLOAT_S8X24_UINT)
- {
- return (a.DepthStencil.Depth == b.DepthStencil.Depth) &&
- (a.DepthStencil.Stencil == b.DepthStencil.Stencil);
- } else {
- return (a.Color[0] == b.Color[0]) &&
- (a.Color[1] == b.Color[1]) &&
- (a.Color[2] == b.Color[2]) &&
- (a.Color[3] == b.Color[3]);
- }
-}
-inline bool operator==( const D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS &a, const D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS &b) noexcept
-{
- return a.ClearValue == b.ClearValue;
-}
-inline bool operator==( const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS &a, const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS &b) noexcept
-{
- if (a.pSrcResource != b.pSrcResource) return false;
- if (a.pDstResource != b.pDstResource) return false;
- if (a.SubresourceCount != b.SubresourceCount) return false;
- if (a.Format != b.Format) return false;
- if (a.ResolveMode != b.ResolveMode) return false;
- if (a.PreserveResolveSource != b.PreserveResolveSource) return false;
- return true;
-}
-inline bool operator==( const D3D12_RENDER_PASS_BEGINNING_ACCESS &a, const D3D12_RENDER_PASS_BEGINNING_ACCESS &b) noexcept
-{
- if (a.Type != b.Type) return false;
- if (a.Type == D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR && !(a.Clear == b.Clear)) return false;
- return true;
-}
-inline bool operator==( const D3D12_RENDER_PASS_ENDING_ACCESS &a, const D3D12_RENDER_PASS_ENDING_ACCESS &b) noexcept
-{
- if (a.Type != b.Type) return false;
- if (a.Type == D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE && !(a.Resolve == b.Resolve)) return false;
- return true;
-}
-inline bool operator==( const D3D12_RENDER_PASS_RENDER_TARGET_DESC &a, const D3D12_RENDER_PASS_RENDER_TARGET_DESC &b) noexcept
-{
- if (a.cpuDescriptor.ptr != b.cpuDescriptor.ptr) return false;
- if (!(a.BeginningAccess == b.BeginningAccess)) return false;
- if (!(a.EndingAccess == b.EndingAccess)) return false;
- return true;
-}
-inline bool operator==( const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC &a, const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC &b) noexcept
-{
- if (a.cpuDescriptor.ptr != b.cpuDescriptor.ptr) return false;
- if (!(a.DepthBeginningAccess == b.DepthBeginningAccess)) return false;
- if (!(a.StencilBeginningAccess == b.StencilBeginningAccess)) return false;
- if (!(a.DepthEndingAccess == b.DepthEndingAccess)) return false;
- if (!(a.StencilEndingAccess == b.StencilEndingAccess)) return false;
- return true;
-}
-
-
-#ifndef D3DX12_NO_STATE_OBJECT_HELPERS
-
-//================================================================================================
-// D3DX12 State Object Creation Helpers
-//
-// Helper classes for creating new style state objects out of an arbitrary set of subobjects.
-// Uses STL
-//
-// Start by instantiating CD3DX12_STATE_OBJECT_DESC (see it's public methods).
-// One of its methods is CreateSubobject(), which has a comment showing a couple of options for
-// defining subobjects using the helper classes for each subobject (CD3DX12_DXIL_LIBRARY_SUBOBJECT
-// etc.). The subobject helpers each have methods specific to the subobject for configuring it's
-// contents.
-//
-//================================================================================================
-#include
-#include
-#include
-#include
-#ifndef D3DX12_USE_ATL
-#include
-#define D3DX12_COM_PTR Microsoft::WRL::ComPtr
-#define D3DX12_COM_PTR_GET(x) x.Get()
-#define D3DX12_COM_PTR_ADDRESSOF(x) x.GetAddressOf()
-#else
-#include
-#define D3DX12_COM_PTR ATL::CComPtr
-#define D3DX12_COM_PTR_GET(x) x.p
-#define D3DX12_COM_PTR_ADDRESSOF(x) &x.p
-#endif
-
-//------------------------------------------------------------------------------------------------
-class CD3DX12_STATE_OBJECT_DESC
-{
-public:
- CD3DX12_STATE_OBJECT_DESC() noexcept
- {
- Init(D3D12_STATE_OBJECT_TYPE_COLLECTION);
- }
- CD3DX12_STATE_OBJECT_DESC(D3D12_STATE_OBJECT_TYPE Type) noexcept
- {
- Init(Type);
- }
- void SetStateObjectType(D3D12_STATE_OBJECT_TYPE Type) noexcept { m_Desc.Type = Type; }
- operator const D3D12_STATE_OBJECT_DESC&()
- {
- // Do final preparation work
- m_RepointedAssociations.clear();
- m_SubobjectArray.clear();
- m_SubobjectArray.reserve(m_Desc.NumSubobjects);
- // Flatten subobjects into an array (each flattened subobject still has a
- // member that's a pointer to it's desc that's not flattened)
- for (auto Iter = m_SubobjectList.begin();
- Iter != m_SubobjectList.end(); Iter++)
- {
- m_SubobjectArray.push_back(*Iter);
- // Store new location in array so we can redirect pointers contained in subobjects
- Iter->pSubobjectArrayLocation = &m_SubobjectArray.back();
- }
- // For subobjects with pointer fields, create a new copy of those subobject definitions
- // with fixed pointers
- for (UINT i = 0; i < m_Desc.NumSubobjects; i++)
- {
- if (m_SubobjectArray[i].Type == D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION)
- {
- auto pOriginalSubobjectAssociation =
- static_cast(m_SubobjectArray[i].pDesc);
- D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION Repointed = *pOriginalSubobjectAssociation;
- auto pWrapper =
- static_cast(pOriginalSubobjectAssociation->pSubobjectToAssociate);
- Repointed.pSubobjectToAssociate = pWrapper->pSubobjectArrayLocation;
- m_RepointedAssociations.push_back(Repointed);
- m_SubobjectArray[i].pDesc = &m_RepointedAssociations.back();
- }
- }
- // Below: using ugly way to get pointer in case .data() is not defined
- m_Desc.pSubobjects = m_Desc.NumSubobjects ? &m_SubobjectArray[0] : nullptr;
- return m_Desc;
- }
- operator const D3D12_STATE_OBJECT_DESC*()
- {
- // Cast calls the above final preparation work
- return &static_cast(*this);
- }
-
- // CreateSubobject creates a sububject helper (e.g. CD3DX12_HIT_GROUP_SUBOBJECT)
- // whose lifetime is owned by this class.
- // e.g.
- //
- // CD3DX12_STATE_OBJECT_DESC Collection1(D3D12_STATE_OBJECT_TYPE_COLLECTION);
- // auto Lib0 = Collection1.CreateSubobject();
- // Lib0->SetDXILLibrary(&pMyAppDxilLibs[0]);
- // Lib0->DefineExport(L"rayGenShader0"); // in practice these export listings might be
- // // data/engine driven
- // etc.
- //
- // Alternatively, users can instantiate sububject helpers explicitly, such as via local
- // variables instead, passing the state object desc that should point to it into the helper
- // constructor (or call mySubobjectHelper.AddToStateObject(Collection1)).
- // In this alternative scenario, the user must keep the subobject alive as long as the state
- // object it is associated with is alive, else it's pointer references will be stale.
- // e.g.
- //
- // CD3DX12_STATE_OBJECT_DESC RaytracingState2(D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE);
- // CD3DX12_DXIL_LIBRARY_SUBOBJECT LibA(RaytracingState2);
- // LibA.SetDXILLibrary(&pMyAppDxilLibs[4]); // not manually specifying exports
- // // - meaning all exports in the libraries
- // // are exported
- // etc.
-
- template
- T* CreateSubobject()
- {
- T* pSubobject = new T(*this);
- m_OwnedSubobjectHelpers.emplace_back(pSubobject);
- return pSubobject;
- }
-
-private:
- D3D12_STATE_SUBOBJECT* TrackSubobject(D3D12_STATE_SUBOBJECT_TYPE Type, void* pDesc)
- {
- SUBOBJECT_WRAPPER Subobject;
- Subobject.pSubobjectArrayLocation = nullptr;
- Subobject.Type = Type;
- Subobject.pDesc = pDesc;
- m_SubobjectList.push_back(Subobject);
- m_Desc.NumSubobjects++;
- return &m_SubobjectList.back();
- }
- void Init(D3D12_STATE_OBJECT_TYPE Type) noexcept
- {
- SetStateObjectType(Type);
- m_Desc.pSubobjects = nullptr;
- m_Desc.NumSubobjects = 0;
- m_SubobjectList.clear();
- m_SubobjectArray.clear();
- m_RepointedAssociations.clear();
- }
- typedef struct SUBOBJECT_WRAPPER : public D3D12_STATE_SUBOBJECT
- {
- D3D12_STATE_SUBOBJECT* pSubobjectArrayLocation; // new location when flattened into array
- // for repointing pointers in subobjects
- } SUBOBJECT_WRAPPER;
- D3D12_STATE_OBJECT_DESC m_Desc;
- std::list m_SubobjectList; // Pointers to list nodes handed out so
- // these can be edited live
- std::vector m_SubobjectArray; // Built at the end, copying list contents
-
- std::list
- m_RepointedAssociations; // subobject type that contains pointers to other subobjects,
- // repointed to flattened array
-
- class StringContainer
- {
- public:
- LPCWSTR LocalCopy(LPCWSTR string, bool bSingleString = false)
- {
- if (string)
- {
- if (bSingleString)
- {
- m_Strings.clear();
- m_Strings.push_back(string);
- }
- else
- {
- m_Strings.push_back(string);
- }
- return m_Strings.back().c_str();
- }
- else
- {
- return nullptr;
- }
- }
- void clear() noexcept { m_Strings.clear(); }
- private:
- std::list m_Strings;
- };
-
- class SUBOBJECT_HELPER_BASE
- {
- public:
- SUBOBJECT_HELPER_BASE() noexcept { Init(); }
- virtual ~SUBOBJECT_HELPER_BASE() = default;
- virtual D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept = 0;
- void AddToStateObject(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject)
- {
- m_pSubobject = ContainingStateObject.TrackSubobject(Type(), Data());
- }
- protected:
- virtual void* Data() noexcept = 0;
- void Init() noexcept { m_pSubobject = nullptr; }
- D3D12_STATE_SUBOBJECT* m_pSubobject;
- };
-
-#if(__cplusplus >= 201103L)
- std::list> m_OwnedSubobjectHelpers;
-#else
- class OWNED_HELPER
- {
- public:
- OWNED_HELPER(const SUBOBJECT_HELPER_BASE* pHelper) noexcept { m_pHelper = pHelper; }
- ~OWNED_HELPER() { delete m_pHelper; }
- const SUBOBJECT_HELPER_BASE* m_pHelper;
- };
-
- std::list m_OwnedSubobjectHelpers;
-#endif
-
- friend class CD3DX12_DXIL_LIBRARY_SUBOBJECT;
- friend class CD3DX12_EXISTING_COLLECTION_SUBOBJECT;
- friend class CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT;
- friend class CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
- friend class CD3DX12_HIT_GROUP_SUBOBJECT;
- friend class CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT;
- friend class CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT;
- friend class CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT;
- friend class CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT;
- friend class CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT;
- friend class CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT;
- friend class CD3DX12_NODE_MASK_SUBOBJECT;
-};
-
-//------------------------------------------------------------------------------------------------
-class CD3DX12_DXIL_LIBRARY_SUBOBJECT
- : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE
-{
-public:
- CD3DX12_DXIL_LIBRARY_SUBOBJECT() noexcept
- {
- Init();
- }
- CD3DX12_DXIL_LIBRARY_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject)
- {
- Init();
- AddToStateObject(ContainingStateObject);
- }
- void SetDXILLibrary(const D3D12_SHADER_BYTECODE* pCode) noexcept
- {
- static const D3D12_SHADER_BYTECODE Default = {};
- m_Desc.DXILLibrary = pCode ? *pCode : Default;
- }
- void DefineExport(
- LPCWSTR Name,
- LPCWSTR ExportToRename = nullptr,
- D3D12_EXPORT_FLAGS Flags = D3D12_EXPORT_FLAG_NONE)
- {
- D3D12_EXPORT_DESC Export;
- Export.Name = m_Strings.LocalCopy(Name);
- Export.ExportToRename = m_Strings.LocalCopy(ExportToRename);
- Export.Flags = Flags;
- m_Exports.push_back(Export);
- m_Desc.pExports = &m_Exports[0]; // using ugly way to get pointer in case .data() is not defined
- m_Desc.NumExports = static_cast(m_Exports.size());
- }
- template
- void DefineExports(LPCWSTR(&Exports)[N])
- {
- for (UINT i = 0; i < N; i++)
- {
- DefineExport(Exports[i]);
- }
- }
- void DefineExports(const LPCWSTR* Exports, UINT N)
- {
- for (UINT i = 0; i < N; i++)
- {
- DefineExport(Exports[i]);
- }
- }
- D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override
- {
- return D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY;
- }
- operator const D3D12_STATE_SUBOBJECT&() const noexcept { return *m_pSubobject; }
- operator const D3D12_DXIL_LIBRARY_DESC&() const noexcept { return m_Desc; }
-private:
- void Init() noexcept
- {
- SUBOBJECT_HELPER_BASE::Init();
- m_Desc = {};
- m_Strings.clear();
- m_Exports.clear();
- }
- void* Data() noexcept override { return &m_Desc; }
- D3D12_DXIL_LIBRARY_DESC m_Desc;
- CD3DX12_STATE_OBJECT_DESC::StringContainer m_Strings;
- std::vector m_Exports;
-};
-
-//------------------------------------------------------------------------------------------------
-class CD3DX12_EXISTING_COLLECTION_SUBOBJECT
- : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE
-{
-public:
- CD3DX12_EXISTING_COLLECTION_SUBOBJECT() noexcept
- {
- Init();
- }
- CD3DX12_EXISTING_COLLECTION_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject)
- {
- Init();
- AddToStateObject(ContainingStateObject);
- }
- void SetExistingCollection(ID3D12StateObject*pExistingCollection) noexcept
- {
- m_Desc.pExistingCollection = pExistingCollection;
- m_CollectionRef = pExistingCollection;
- }
- void DefineExport(
- LPCWSTR Name,
- LPCWSTR ExportToRename = nullptr,
- D3D12_EXPORT_FLAGS Flags = D3D12_EXPORT_FLAG_NONE)
- {
- D3D12_EXPORT_DESC Export;
- Export.Name = m_Strings.LocalCopy(Name);
- Export.ExportToRename = m_Strings.LocalCopy(ExportToRename);
- Export.Flags = Flags;
- m_Exports.push_back(Export);
- m_Desc.pExports = &m_Exports[0]; // using ugly way to get pointer in case .data() is not defined
- m_Desc.NumExports = static_cast(m_Exports.size());
- }
- template
- void DefineExports(LPCWSTR(&Exports)[N])
- {
- for (UINT i = 0; i < N; i++)
- {
- DefineExport(Exports[i]);
- }
- }
- void DefineExports(const LPCWSTR* Exports, UINT N)
- {
- for (UINT i = 0; i < N; i++)
- {
- DefineExport(Exports[i]);
- }
- }
- D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override
- {
- return D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION;
- }
- operator const D3D12_STATE_SUBOBJECT&() const noexcept { return *m_pSubobject; }
- operator const D3D12_EXISTING_COLLECTION_DESC&() const noexcept { return m_Desc; }
-private:
- void Init() noexcept
- {
- SUBOBJECT_HELPER_BASE::Init();
- m_Desc = {};
- m_CollectionRef = nullptr;
- m_Strings.clear();
- m_Exports.clear();
- }
- void* Data() noexcept override { return &m_Desc; }
- D3D12_EXISTING_COLLECTION_DESC m_Desc;
- D3DX12_COM_PTR m_CollectionRef;
- CD3DX12_STATE_OBJECT_DESC::StringContainer m_Strings;
- std::vector m_Exports;
-};
-
-//------------------------------------------------------------------------------------------------
-class CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT
- : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE
-{
-public:
- CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT() noexcept
- {
- Init();
- }
- CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject)
- {
- Init();
- AddToStateObject(ContainingStateObject);
- }
- void SetSubobjectToAssociate(const D3D12_STATE_SUBOBJECT& SubobjectToAssociate) noexcept
- {
- m_Desc.pSubobjectToAssociate = &SubobjectToAssociate;
- }
- void AddExport(LPCWSTR Export)
- {
- m_Desc.NumExports++;
- m_Exports.push_back(m_Strings.LocalCopy(Export));
- m_Desc.pExports = &m_Exports[0]; // using ugly way to get pointer in case .data() is not defined
- }
- template
- void AddExports(LPCWSTR (&Exports)[N])
- {
- for (UINT i = 0; i < N; i++)
- {
- AddExport(Exports[i]);
- }
- }
- void AddExports(const LPCWSTR* Exports, UINT N)
- {
- for (UINT i = 0; i < N; i++)
- {
- AddExport(Exports[i]);
- }
- }
- D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override
- {
- return D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
- }
- operator const D3D12_STATE_SUBOBJECT&() const noexcept { return *m_pSubobject; }
- operator const D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION&() const noexcept { return m_Desc; }
-private:
- void Init() noexcept
- {
- SUBOBJECT_HELPER_BASE::Init();
- m_Desc = {};
- m_Strings.clear();
- m_Exports.clear();
- }
- void* Data() noexcept override { return &m_Desc; }
- D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION m_Desc;
- CD3DX12_STATE_OBJECT_DESC::StringContainer m_Strings;
- std::vector m_Exports;
-};
-
-//------------------------------------------------------------------------------------------------
-class CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION
- : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE
-{
-public:
- CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION() noexcept
- {
- Init();
- }
- CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject)
- {
- Init();
- AddToStateObject(ContainingStateObject);
- }
- void SetSubobjectNameToAssociate(LPCWSTR SubobjectToAssociate)
- {
- m_Desc.SubobjectToAssociate = m_SubobjectName.LocalCopy(SubobjectToAssociate, true);
- }
- void AddExport(LPCWSTR Export)
- {
- m_Desc.NumExports++;
- m_Exports.push_back(m_Strings.LocalCopy(Export));
- m_Desc.pExports = &m_Exports[0]; // using ugly way to get pointer in case .data() is not defined
- }
- template
- void AddExports(LPCWSTR (&Exports)[N])
- {
- for (UINT i = 0; i < N; i++)
- {
- AddExport(Exports[i]);
- }
- }
- void AddExports(const LPCWSTR* Exports, UINT N)
- {
- for (UINT i = 0; i < N; i++)
- {
- AddExport(Exports[i]);
- }
- }
- D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override
- {
- return D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
- }
- operator const D3D12_STATE_SUBOBJECT&() const noexcept { return *m_pSubobject; }
- operator const D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION&() const noexcept { return m_Desc; }
-private:
- void Init() noexcept
- {
- SUBOBJECT_HELPER_BASE::Init();
- m_Desc = {};
- m_Strings.clear();
- m_SubobjectName.clear();
- m_Exports.clear();
- }
- void* Data() noexcept override { return &m_Desc; }
- D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION m_Desc;
- CD3DX12_STATE_OBJECT_DESC::StringContainer m_Strings;
- CD3DX12_STATE_OBJECT_DESC::StringContainer m_SubobjectName;
- std::vector m_Exports;
-};
-
-//------------------------------------------------------------------------------------------------
-class CD3DX12_HIT_GROUP_SUBOBJECT
- : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE
-{
-public:
- CD3DX12_HIT_GROUP_SUBOBJECT() noexcept
- {
- Init();
- }
- CD3DX12_HIT_GROUP_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject)
- {
- Init();
- AddToStateObject(ContainingStateObject);
- }
- void SetHitGroupExport(LPCWSTR exportName)
- {
- m_Desc.HitGroupExport = m_Strings[0].LocalCopy(exportName, true);
- }
- void SetHitGroupType(D3D12_HIT_GROUP_TYPE Type) noexcept { m_Desc.Type = Type; }
- void SetAnyHitShaderImport(LPCWSTR importName)
- {
- m_Desc.AnyHitShaderImport = m_Strings[1].LocalCopy(importName, true);
- }
- void SetClosestHitShaderImport(LPCWSTR importName)
- {
- m_Desc.ClosestHitShaderImport = m_Strings[2].LocalCopy(importName, true);
- }
- void SetIntersectionShaderImport(LPCWSTR importName)
- {
- m_Desc.IntersectionShaderImport = m_Strings[3].LocalCopy(importName, true);
- }
- D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override
- {
- return D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP;
- }
- operator const D3D12_STATE_SUBOBJECT&() const noexcept { return *m_pSubobject; }
- operator const D3D12_HIT_GROUP_DESC&() const noexcept { return m_Desc; }
-private:
- void Init() noexcept
- {
- SUBOBJECT_HELPER_BASE::Init();
- m_Desc = {};
- for (UINT i = 0; i < m_NumStrings; i++)
- {
- m_Strings[i].clear();
- }
- }
- void* Data() noexcept override { return &m_Desc; }
- D3D12_HIT_GROUP_DESC m_Desc;
- static const UINT m_NumStrings = 4;
- CD3DX12_STATE_OBJECT_DESC::StringContainer
- m_Strings[m_NumStrings]; // one string for every entrypoint name
-};
-
-//------------------------------------------------------------------------------------------------
-class CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT
- : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE
-{
-public:
- CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT() noexcept
- {
- Init();
- }
- CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject)
- {
- Init();
- AddToStateObject(ContainingStateObject);
- }
- void Config(UINT MaxPayloadSizeInBytes, UINT MaxAttributeSizeInBytes) noexcept
- {
- m_Desc.MaxPayloadSizeInBytes = MaxPayloadSizeInBytes;
- m_Desc.MaxAttributeSizeInBytes = MaxAttributeSizeInBytes;
- }
- D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override
- {
- return D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG;
- }
- operator const D3D12_STATE_SUBOBJECT&() const noexcept { return *m_pSubobject; }
- operator const D3D12_RAYTRACING_SHADER_CONFIG&() const noexcept { return m_Desc; }
-private:
- void Init() noexcept
- {
- SUBOBJECT_HELPER_BASE::Init();
- m_Desc = {};
- }
- void* Data() noexcept override { return &m_Desc; }
- D3D12_RAYTRACING_SHADER_CONFIG m_Desc;
-};
-
-//------------------------------------------------------------------------------------------------
-class CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT
- : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE
-{
-public:
- CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT() noexcept
- {
- Init();
- }
- CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject)
- {
- Init();
- AddToStateObject(ContainingStateObject);
- }
- void Config(UINT MaxTraceRecursionDepth) noexcept
- {
- m_Desc.MaxTraceRecursionDepth = MaxTraceRecursionDepth;
- }
- D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override
- {
- return D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG;
- }
- operator const D3D12_STATE_SUBOBJECT&() const noexcept { return *m_pSubobject; }
- operator const D3D12_RAYTRACING_PIPELINE_CONFIG&() const noexcept { return m_Desc; }
-private:
- void Init() noexcept
- {
- SUBOBJECT_HELPER_BASE::Init();
- m_Desc = {};
- }
- void* Data() noexcept override { return &m_Desc; }
- D3D12_RAYTRACING_PIPELINE_CONFIG m_Desc;
-};
-
-//------------------------------------------------------------------------------------------------
-class CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT
- : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE
-{
-public:
- CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT() noexcept
- {
- Init();
- }
- CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject)
- {
- Init();
- AddToStateObject(ContainingStateObject);
- }
- void Config(UINT MaxTraceRecursionDepth, D3D12_RAYTRACING_PIPELINE_FLAGS Flags) noexcept
- {
- m_Desc.MaxTraceRecursionDepth = MaxTraceRecursionDepth;
- m_Desc.Flags = Flags;
- }
- D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override
- {
- return D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1;
- }
- operator const D3D12_STATE_SUBOBJECT&() const noexcept { return *m_pSubobject; }
- operator const D3D12_RAYTRACING_PIPELINE_CONFIG1&() const noexcept { return m_Desc; }
-private:
- void Init() noexcept
- {
- SUBOBJECT_HELPER_BASE::Init();
- m_Desc = {};
- }
- void* Data() noexcept override { return &m_Desc; }
- D3D12_RAYTRACING_PIPELINE_CONFIG1 m_Desc;
-};
-
-//------------------------------------------------------------------------------------------------
-class CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT
- : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE
-{
-public:
- CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT() noexcept
- {
- Init();
- }
- CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject)
- {
- Init();
- AddToStateObject(ContainingStateObject);
- }
- void SetRootSignature(ID3D12RootSignature* pRootSig) noexcept
- {
- m_pRootSig = pRootSig;
- }
- D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override
- {
- return D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE;
- }
- operator const D3D12_STATE_SUBOBJECT&() const noexcept { return *m_pSubobject; }
- operator ID3D12RootSignature*() const noexcept { return D3DX12_COM_PTR_GET(m_pRootSig); }
-private:
- void Init() noexcept
- {
- SUBOBJECT_HELPER_BASE::Init();
- m_pRootSig = nullptr;
- }
- void* Data() noexcept override { return D3DX12_COM_PTR_ADDRESSOF(m_pRootSig); }
- D3DX12_COM_PTR m_pRootSig;
-};
-
-//------------------------------------------------------------------------------------------------
-class CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT
- : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE
-{
-public:
- CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT() noexcept
- {
- Init();
- }
- CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject)
- {
- Init();
- AddToStateObject(ContainingStateObject);
- }
- void SetRootSignature(ID3D12RootSignature* pRootSig) noexcept
- {
- m_pRootSig = pRootSig;
- }
- D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override
- {
- return D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE;
- }
- operator const D3D12_STATE_SUBOBJECT&() const noexcept { return *m_pSubobject; }
- operator ID3D12RootSignature*() const noexcept { return D3DX12_COM_PTR_GET(m_pRootSig); }
-private:
- void Init() noexcept
- {
- SUBOBJECT_HELPER_BASE::Init();
- m_pRootSig = nullptr;
- }
- void* Data() noexcept override { return D3DX12_COM_PTR_ADDRESSOF(m_pRootSig); }
- D3DX12_COM_PTR m_pRootSig;
-};
-
-//------------------------------------------------------------------------------------------------
-class CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT
- : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE
-{
-public:
- CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT() noexcept
- {
- Init();
- }
- CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject)
- {
- Init();
- AddToStateObject(ContainingStateObject);
- }
- void SetFlags(D3D12_STATE_OBJECT_FLAGS Flags) noexcept
- {
- m_Desc.Flags = Flags;
- }
- D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override
- {
- return D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG;
- }
- operator const D3D12_STATE_SUBOBJECT&() const noexcept { return *m_pSubobject; }
- operator const D3D12_STATE_OBJECT_CONFIG&() const noexcept { return m_Desc; }
-private:
- void Init() noexcept
- {
- SUBOBJECT_HELPER_BASE::Init();
- m_Desc = {};
- }
- void* Data() noexcept override { return &m_Desc; }
- D3D12_STATE_OBJECT_CONFIG m_Desc;
-};
-
-//------------------------------------------------------------------------------------------------
-class CD3DX12_NODE_MASK_SUBOBJECT
- : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE
-{
-public:
- CD3DX12_NODE_MASK_SUBOBJECT() noexcept
- {
- Init();
- }
- CD3DX12_NODE_MASK_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject)
- {
- Init();
- AddToStateObject(ContainingStateObject);
- }
- void SetNodeMask(UINT NodeMask) noexcept
- {
- m_Desc.NodeMask = NodeMask;
- }
- D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override
- {
- return D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK;
- }
- operator const D3D12_STATE_SUBOBJECT&() const noexcept { return *m_pSubobject; }
- operator const D3D12_NODE_MASK&() const noexcept { return m_Desc; }
-private:
- void Init() noexcept
- {
- SUBOBJECT_HELPER_BASE::Init();
- m_Desc = {};
- }
- void* Data() noexcept override { return &m_Desc; }
- D3D12_NODE_MASK m_Desc;
-};
-
-#undef D3DX12_COM_PTR
-#undef D3DX12_COM_PTR_GET
-#undef D3DX12_COM_PTR_ADDRESSOF
-#endif // #ifndef D3DX12_NO_STATE_OBJECT_HELPERS
-
-#endif // defined( __cplusplus )
-
-#endif //__D3DX12_H__
-
-
diff --git a/xess/samples/basic_sample/shaders.hlsl b/xess/samples/basic_sample/shaders.hlsl
deleted file mode 100644
index 39649e2..0000000
--- a/xess/samples/basic_sample/shaders.hlsl
+++ /dev/null
@@ -1,97 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-//*********************************************************
-
-cbuffer SceneConstantBuffer : register(b0)
-{
- float4 offset;
- float4 velocity;
- float4 resolution;
- float4 padding[13];
-};
-
-struct PSInput
-{
- float4 position : SV_POSITION;
- float4 color : COLOR;
-};
-
-struct PSOutputColor
-{
- float4 Color: SV_Target0;
-};
-
-PSInput VSMainColor(float4 position : POSITION, float4 color : COLOR)
-{
- PSInput result;
-
- result.position = float4(position.xyz, 1.);
- result.position.xy += offset.xy + 2. * (offset.zw / resolution.xy);
- result.color = color;
-
- return result;
-}
-
-PSOutputColor PSMainColor(PSInput input) : SV_TARGET
-{
- PSOutputColor output;
- output.Color = input.color;
-
- return output;
-}
-
-PSInput VSMainVelocity(float4 position : POSITION, float4 color : COLOR)
-{
- PSInput result;
-
- result.position = position;
- result.position.xy += offset.xy + 2. * (offset.zw / resolution.xy );
- result.color = color;
-
- return result;
-}
-
-struct PSOutputVelocity
-{
- float2 Velocity: SV_Target0;
-};
-
-PSOutputVelocity PSMainVelocity(PSInput input) : SV_TARGET
-{
- PSOutputVelocity output;
- output.Velocity = velocity.xy;
-
- return output;
-}
-
-struct PSInputFSQ
-{
- float4 position: SV_POSITION;
- float2 texcoord: TEXCOORD;
-};
-
-Texture2D input_color: register(t0);
-SamplerState samp: register(s0);
-
-PSInputFSQ VSMainFSQ(uint vertex_id: SV_VERTEXID)
-{
- PSInputFSQ output;
- output.texcoord = float2(vertex_id & 2, (vertex_id << 1) & 2);
- output.position = float4(output.texcoord * 2.0 - 1.0, 0.0, 1.0);
- output.texcoord.y = 1.0f - output.texcoord.y;
-
- return output;
-}
-
-float4 PSMainFSQ(PSInputFSQ input) : SV_TARGET
-{
- return input_color.Sample(samp, input.texcoord);
-}
-
diff --git a/xess/samples/basic_sample/stdafx.cpp b/xess/samples/basic_sample/stdafx.cpp
deleted file mode 100644
index a6533dc..0000000
--- a/xess/samples/basic_sample/stdafx.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-//*********************************************************
-
-#include "stdafx.h"
diff --git a/xess/samples/basic_sample/stdafx.h b/xess/samples/basic_sample/stdafx.h
deleted file mode 100644
index 23137b8..0000000
--- a/xess/samples/basic_sample/stdafx.h
+++ /dev/null
@@ -1,38 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-//*********************************************************
-
-// stdafx.h : include file for standard system include files,
-// or project specific include files that are used frequently, but
-// are changed infrequently.
-
-#pragma once
-
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers.
-#endif
-
-#pragma warning(push)
-#pragma warning(disable : 4265)
-
-#include
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#pragma warning(pop)
-
-#include "d3dx12.h"
-
diff --git a/xess/samples/basic_sample/utils.cpp b/xess/samples/basic_sample/utils.cpp
deleted file mode 100644
index 1fe605e..0000000
--- a/xess/samples/basic_sample/utils.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * INTEL CONFIDENTIAL
- *
- * Copyright (C) 2021 Intel Corporation
- *
- * This software and the related documents are Intel copyrighted materials, and
- * your use of them is governed by the express license under which they were
- * provided to you ("License"). Unless the License provides otherwise, you may
- * not use, modify, copy, publish, distribute, disclose or transmit this
- * software or the related documents without Intel's prior written permission.
- *
- * This software and the related documents are provided as is, with no express
- * or implied warranties, other than those that are expressly stated in the
- * License.
- ******************************************************************************/
-
-#include "utils.h"
-
-namespace
-{
- float GetCorput(std::uint32_t index, std::uint32_t base)
- {
- float result = 0;
- float bk = 1.f;
-
- while (index > 0)
- {
- bk /= (float)base;
- result += (float)(index % base) * bk;
- index /= base;
- }
-
- return result;
- }
-}
-
-
-std::vector> Utils::GenerateHalton(std::uint32_t base1, std::uint32_t base2,
- std::uint32_t start_index, std::uint32_t count, float offset1, float offset2)
-{
- std::vector> result;
- result.reserve(count);
-
- for (std::uint32_t a = start_index; a < count + start_index; ++a)
- {
- result.emplace_back(GetCorput(a, base1) + offset1, GetCorput(a, base2) + offset2);
- }
- return result;
-}
diff --git a/xess/samples/basic_sample/utils.h b/xess/samples/basic_sample/utils.h
deleted file mode 100644
index 1b56158..0000000
--- a/xess/samples/basic_sample/utils.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * INTEL CONFIDENTIAL
- *
- * Copyright (C) 2021 Intel Corporation
- *
- * This software and the related documents are Intel copyrighted materials, and
- * your use of them is governed by the express license under which they were
- * provided to you ("License"). Unless the License provides otherwise, you may
- * not use, modify, copy, publish, distribute, disclose or transmit this
- * software or the related documents without Intel's prior written permission.
- *
- * This software and the related documents are provided as is, with no express
- * or implied warranties, other than those that are expressly stated in the
- * License.
- ******************************************************************************/
-
-#pragma once
-
-#include
-#include
-#include
-
-namespace Utils
-{
-/**
- * Generates halton sequence with optional point shift using van der Corput sequence
- * @param base1 - base for first Corput sequence (X coordinate)
- * @param base2 - base for second Corput sequence (Y coordinate)
- * @param start_index - initial index for halton set
- * @param offset1 - offset for first Corput sequence
- * @param offset2 - offset for second Corput sequence
- * @return vector of pairs with two sets
- */
-std::vector> GenerateHalton(std::uint32_t base1, std::uint32_t base2,
- std::uint32_t start_index, std::uint32_t count, float offset1 = -0.5f, float offset2 = -0.5f);
-}
diff --git a/xess/samples/license.txt b/xess/samples/license.txt
deleted file mode 100644
index e38f4e1..0000000
--- a/xess/samples/license.txt
+++ /dev/null
@@ -1,21 +0,0 @@
- The MIT License (MIT)
-
-Copyright (c) 2014-2022 Microsoft Corp
-Copyright (c) 2022 Intel Corporation
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this
-software and associated documentation files (the "Software"), to deal in the Software
-without restriction, including without limitation the rights to use, copy, modify,
-merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall be included in all copies
-or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
-PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
-CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
-OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/xess/samples/xess_demo/Assets/Particle/fire.dds b/xess/samples/xess_demo/Assets/Particle/fire.dds
deleted file mode 100644
index a6ccd85..0000000
Binary files a/xess/samples/xess_demo/Assets/Particle/fire.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Particle/particles.json b/xess/samples/xess_demo/Assets/Particle/particles.json
deleted file mode 100644
index 5976f59..0000000
--- a/xess/samples/xess_demo/Assets/Particle/particles.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "ParticleEmitters": [
- {
- "TexturePath": "Particle/sparkTex.dds",
- "MinStartColor": [ 1, 1, 1, 0 ],
- "MaxStartColor": [ 1, 1, 1, 0 ],
- "MinEndColor": [ 1, 1, 1, 0 ],
- "MaxEndColor": [ 1, 1, 1, 0 ],
- "TotalActiveLifetime": 0.0,
- "Size": [ 4, 8, 4, 8 ],
- "Velocity": [ 20, 200, 50, 180 ],
- "LifeMinMax": [ 1, 3 ],
- "MassMinMax": [ 4.5, 15 ],
- "EmitProperties": {
- "Gravity": [ 0, -100, 0 ],
- "FloorHeight": -0.5,
- "EmitPosW": [ -1200, 185, -445 ],
- "LastEmitPosW": [ -1200, 185, -445 ],
- "MaxParticles": 800
- },
- "EmitRate": 64,
- "Spread": [ 20, 50, 0.1 ]
- },
-
- {
- "TexturePath": "Particle/smoke.dds",
- "TotalActiveLifetime": 0.0,
- "EmitProperties": {
- "MaxParticles": 25,
- "EmitPosW": [ 1120, 185, -445 ],
- "LastEmitPosW": [ 1120, 185, -445 ]
- },
- "EmitRate": 64,
- "LifeMinMax": [ 2.5, 4 ],
- "Size": [ 60, 108, 30, 208 ],
- "Velocity": [ 30, 30, 10, 40 ],
- "MassMinMax": [ 1, 3.5 ],
- "Spread": [ 60, 70, 20 ]
- },
-
- {
- "TexturePath": "Particle/fire.dds",
- "TotalActiveLifetime": 0.0,
- "MinStartColor": [ 8, 8, 8, 0 ],
- "MaxStartColor": [ 8, 8, 8, 0 ],
- "MinEndColor": [ 8, 8, 8, 0 ],
- "MaxEndColor": [ 8, 8, 8, 0 ],
-
- "Size": [ 54, 68, 0.1, 0.3 ],
- "Velocity": [ 10, 30, 50, 50 ],
- "LifeMinMax": [ 1, 3 ],
- "MassMinMax": [ 10.5, 14.0 ],
- "EmitProperties": {
- "Gravity": [ 0, 1, 0 ],
- "EmitPosW": [ 1120, 125, 405 ],
- "LastEmitPosW": [ 1120, 125, 405 ],
- "MaxParticles": 25
- },
- "EmitRate": 64,
- "Spread": [1, 60, 0.1]
- }
-
- ]
-}
\ No newline at end of file
diff --git a/xess/samples/xess_demo/Assets/Particle/smoke.dds b/xess/samples/xess_demo/Assets/Particle/smoke.dds
deleted file mode 100644
index d83fcd9..0000000
Binary files a/xess/samples/xess_demo/Assets/Particle/smoke.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Particle/sparkTex.dds b/xess/samples/xess_demo/Assets/Particle/sparkTex.dds
deleted file mode 100644
index f4950c5..0000000
Binary files a/xess/samples/xess_demo/Assets/Particle/sparkTex.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/README.txt b/xess/samples/xess_demo/Assets/Sponza/README.txt
deleted file mode 100644
index d18ce3b..0000000
--- a/xess/samples/xess_demo/Assets/Sponza/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-The original PBR version of Sponza within MiniEngine is modifed to reduce the overal size.
\ No newline at end of file
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/background_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/background_baseColor.jpg
deleted file mode 100644
index 33a2f9b..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/background_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/background_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/background_basecolor.dds
deleted file mode 100644
index 46e72b1..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/background_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/background_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/background_metallicRoughness.jpg
deleted file mode 100644
index 3bbb5e6..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/background_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/background_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/background_metallicroughness.dds
deleted file mode 100644
index 3f8ec73..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/background_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/background_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/background_normal.dds
deleted file mode 100644
index 4993579..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/background_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/background_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/background_normal.jpg
deleted file mode 100644
index af38c77..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/background_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_baseColor.png b/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_baseColor.png
deleted file mode 100644
index 3f6c633..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_baseColor.png and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_basecolor.dds
deleted file mode 100644
index 023dd98..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_metallicRoughness.jpg
deleted file mode 100644
index 40dae15..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_metallicroughness.dds
deleted file mode 100644
index 836fd1a..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_normal.dds
deleted file mode 100644
index 650dd24..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_normal.jpg
deleted file mode 100644
index 398844d..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/chain_texture_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/copyright.txt b/xess/samples/xess_demo/Assets/Sponza/pbr/copyright.txt
deleted file mode 100644
index a71ea1b..0000000
--- a/xess/samples/xess_demo/Assets/Sponza/pbr/copyright.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-PBR textures for the Sponza model.
-For more informations: www.alexandre-pestana.com
-
-
-Original copyright:
-
-July 14, 2011 Morgan McGuire modified the model from Crytek's OBJ
-export to correct some small errors. He computed bump maps from the
-normal maps using normal2bump.cpp (since
-MTL files expect height bumps, not normals), put the "mask" textures
-into the alpha channel of the associated diffuse texture, cleaned up
-noise in the masks, created the missing gi_flag.tga texture, and
-removed the long untextured banner floating in the middle of the
-atrium that appears in the file but in none of the published images of
-the model. The banner is in banner.obj.
-
-
-
-http://www.crytek.com/cryengine/cryengine3/downloads
-
-
-Sponza Model
-August 19, 2010
-The Atrium Sponza Palace, Dubrovnik, is an elegant and improved model created by Frank Meinl. The original Sponza model was created by Marko Dabrovic in early 2002. Over the years, the Sponza Atrium scene has become one of the most popular 3D scenes for testing global illumination and radiosity due to it's specific architectural structure which is particularly complex for global illumination light.
-
-However, nowadays it is considered as a simple model, thus it was decided to crate a new model with highly improved appearance and scene complexity. It is donated to the public for radiosity and is represented in several different formats (3ds, Obj) for use with various commercial 3D applications and renderers.
-
-
-Screenshot from the I3D paper
-http://crytek.com/sites/default/files/20100301_lpv.pdf
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/lion_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/lion_baseColor.jpg
deleted file mode 100644
index 86c1040..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/lion_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/lion_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/lion_basecolor.dds
deleted file mode 100644
index f978746..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/lion_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/lion_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/lion_metallicRoughness.jpg
deleted file mode 100644
index 8366eb0..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/lion_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/lion_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/lion_metallicroughness.dds
deleted file mode 100644
index 7e4f215..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/lion_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/lion_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/lion_normal.dds
deleted file mode 100644
index c7ca1eb..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/lion_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/lion_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/lion_normal.jpg
deleted file mode 100644
index 1976c79..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/lion_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza2.bin b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza2.bin
deleted file mode 100644
index b00b6d0..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza2.bin and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza2.gltf b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza2.gltf
deleted file mode 100644
index 36aeb4a..0000000
--- a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza2.gltf
+++ /dev/null
@@ -1,28895 +0,0 @@
-{
- "asset" : {
- "generator" : "Khronos glTF Blender I/O v1.8.19",
- "version" : "2.0"
- },
- "scene" : 0,
- "scenes" : [
- {
- "name" : "Scene",
- "nodes" : [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 126,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 174,
- 175,
- 176,
- 177,
- 178,
- 179,
- 180,
- 181,
- 182,
- 183,
- 184,
- 185,
- 186,
- 187,
- 188,
- 189,
- 190,
- 191,
- 192,
- 193,
- 194,
- 195,
- 196,
- 197,
- 198,
- 199,
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 209,
- 210,
- 211,
- 212,
- 213,
- 214,
- 215,
- 216,
- 217,
- 218,
- 219,
- 220,
- 221,
- 222,
- 223,
- 224,
- 225,
- 226,
- 227,
- 228,
- 229,
- 230,
- 231,
- 232,
- 233,
- 234,
- 235,
- 236,
- 237,
- 238,
- 239,
- 240,
- 241,
- 242,
- 243,
- 244,
- 245,
- 246,
- 247,
- 248,
- 249,
- 250,
- 251,
- 252,
- 253,
- 254,
- 255,
- 256,
- 257,
- 258,
- 259,
- 260,
- 261,
- 262,
- 263,
- 264,
- 265,
- 266,
- 267,
- 268,
- 269,
- 270,
- 271,
- 272,
- 273,
- 274,
- 275,
- 276,
- 277,
- 278,
- 279,
- 280,
- 281,
- 282,
- 283,
- 284,
- 285,
- 286,
- 287,
- 288,
- 289,
- 290,
- 291,
- 292,
- 293,
- 294,
- 295,
- 296,
- 297,
- 298,
- 299,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308,
- 309,
- 310,
- 311,
- 312,
- 313,
- 314,
- 315,
- 316,
- 317,
- 318,
- 319,
- 320,
- 321,
- 322,
- 323,
- 324,
- 325,
- 326,
- 327,
- 328,
- 329,
- 330,
- 331,
- 332,
- 333,
- 334,
- 335,
- 336,
- 337,
- 338,
- 339,
- 340,
- 341,
- 342,
- 343,
- 344,
- 345,
- 346,
- 347,
- 348,
- 349,
- 350,
- 351,
- 352,
- 353,
- 354,
- 355,
- 356,
- 357,
- 358,
- 359,
- 360,
- 361,
- 362,
- 363,
- 364,
- 365,
- 366,
- 367,
- 368,
- 369,
- 370,
- 371,
- 372,
- 373,
- 374,
- 375,
- 376,
- 377,
- 378,
- 379,
- 380
- ]
- }
- ],
- "nodes" : [
- {
- "mesh" : 0,
- "name" : "Mesh_0"
- },
- {
- "mesh" : 1,
- "name" : "Mesh_1"
- },
- {
- "mesh" : 2,
- "name" : "Mesh_2"
- },
- {
- "mesh" : 3,
- "name" : "Mesh_3"
- },
- {
- "mesh" : 4,
- "name" : "Mesh_4"
- },
- {
- "mesh" : 5,
- "name" : "Mesh_5"
- },
- {
- "mesh" : 6,
- "name" : "Mesh_6"
- },
- {
- "mesh" : 7,
- "name" : "Mesh_7"
- },
- {
- "mesh" : 8,
- "name" : "Mesh_18"
- },
- {
- "mesh" : 9,
- "name" : "Mesh_8"
- },
- {
- "mesh" : 10,
- "name" : "Mesh_9"
- },
- {
- "mesh" : 11,
- "name" : "Mesh_10"
- },
- {
- "mesh" : 12,
- "name" : "Mesh_11"
- },
- {
- "mesh" : 13,
- "name" : "Mesh_12"
- },
- {
- "mesh" : 14,
- "name" : "Mesh_13"
- },
- {
- "mesh" : 15,
- "name" : "Mesh_14"
- },
- {
- "mesh" : 16,
- "name" : "Mesh_15"
- },
- {
- "mesh" : 17,
- "name" : "Mesh_16"
- },
- {
- "mesh" : 18,
- "name" : "Mesh_17"
- },
- {
- "mesh" : 19,
- "name" : "Mesh_29"
- },
- {
- "mesh" : 20,
- "name" : "Mesh_19"
- },
- {
- "mesh" : 21,
- "name" : "Mesh_20"
- },
- {
- "mesh" : 22,
- "name" : "Mesh_21"
- },
- {
- "mesh" : 23,
- "name" : "Mesh_22"
- },
- {
- "mesh" : 24,
- "name" : "Mesh_23"
- },
- {
- "mesh" : 25,
- "name" : "Mesh_24"
- },
- {
- "mesh" : 26,
- "name" : "Mesh_25"
- },
- {
- "mesh" : 27,
- "name" : "Mesh_26"
- },
- {
- "mesh" : 28,
- "name" : "Mesh_27"
- },
- {
- "mesh" : 29,
- "name" : "Mesh_28"
- },
- {
- "mesh" : 30,
- "name" : "Mesh_40"
- },
- {
- "mesh" : 31,
- "name" : "Mesh_30"
- },
- {
- "mesh" : 32,
- "name" : "Mesh_31"
- },
- {
- "mesh" : 33,
- "name" : "Mesh_32"
- },
- {
- "mesh" : 34,
- "name" : "Mesh_33"
- },
- {
- "mesh" : 35,
- "name" : "Mesh_34"
- },
- {
- "mesh" : 36,
- "name" : "Mesh_35"
- },
- {
- "mesh" : 37,
- "name" : "Mesh_36"
- },
- {
- "mesh" : 38,
- "name" : "Mesh_37"
- },
- {
- "mesh" : 39,
- "name" : "Mesh_38"
- },
- {
- "mesh" : 40,
- "name" : "Mesh_39"
- },
- {
- "mesh" : 41,
- "name" : "Mesh_51"
- },
- {
- "mesh" : 42,
- "name" : "Mesh_41"
- },
- {
- "mesh" : 43,
- "name" : "Mesh_42"
- },
- {
- "mesh" : 44,
- "name" : "Mesh_43"
- },
- {
- "mesh" : 45,
- "name" : "Mesh_44"
- },
- {
- "mesh" : 46,
- "name" : "Mesh_45"
- },
- {
- "mesh" : 47,
- "name" : "Mesh_46"
- },
- {
- "mesh" : 48,
- "name" : "Mesh_47"
- },
- {
- "mesh" : 49,
- "name" : "Mesh_48"
- },
- {
- "mesh" : 50,
- "name" : "Mesh_49"
- },
- {
- "mesh" : 51,
- "name" : "Mesh_50"
- },
- {
- "mesh" : 52,
- "name" : "Mesh_62"
- },
- {
- "mesh" : 53,
- "name" : "Mesh_52"
- },
- {
- "mesh" : 54,
- "name" : "Mesh_53"
- },
- {
- "mesh" : 55,
- "name" : "Mesh_54"
- },
- {
- "mesh" : 56,
- "name" : "Mesh_55"
- },
- {
- "mesh" : 57,
- "name" : "Mesh_56"
- },
- {
- "mesh" : 58,
- "name" : "Mesh_57"
- },
- {
- "mesh" : 59,
- "name" : "Mesh_58"
- },
- {
- "mesh" : 60,
- "name" : "Mesh_59"
- },
- {
- "mesh" : 61,
- "name" : "Mesh_60"
- },
- {
- "mesh" : 62,
- "name" : "Mesh_61"
- },
- {
- "mesh" : 63,
- "name" : "Mesh_73"
- },
- {
- "mesh" : 64,
- "name" : "Mesh_63"
- },
- {
- "mesh" : 65,
- "name" : "Mesh_64"
- },
- {
- "mesh" : 66,
- "name" : "Mesh_65"
- },
- {
- "mesh" : 67,
- "name" : "Mesh_66"
- },
- {
- "mesh" : 68,
- "name" : "Mesh_67"
- },
- {
- "mesh" : 69,
- "name" : "Mesh_68"
- },
- {
- "mesh" : 70,
- "name" : "Mesh_69"
- },
- {
- "mesh" : 71,
- "name" : "Mesh_70"
- },
- {
- "mesh" : 72,
- "name" : "Mesh_71"
- },
- {
- "mesh" : 73,
- "name" : "Mesh_72"
- },
- {
- "mesh" : 74,
- "name" : "Mesh_84"
- },
- {
- "mesh" : 75,
- "name" : "Mesh_74"
- },
- {
- "mesh" : 76,
- "name" : "Mesh_75"
- },
- {
- "mesh" : 77,
- "name" : "Mesh_76"
- },
- {
- "mesh" : 78,
- "name" : "Mesh_77"
- },
- {
- "mesh" : 79,
- "name" : "Mesh_78"
- },
- {
- "mesh" : 80,
- "name" : "Mesh_79"
- },
- {
- "mesh" : 81,
- "name" : "Mesh_80"
- },
- {
- "mesh" : 82,
- "name" : "Mesh_81"
- },
- {
- "mesh" : 83,
- "name" : "Mesh_82"
- },
- {
- "mesh" : 84,
- "name" : "Mesh_83"
- },
- {
- "mesh" : 85,
- "name" : "Mesh_95"
- },
- {
- "mesh" : 86,
- "name" : "Mesh_85"
- },
- {
- "mesh" : 87,
- "name" : "Mesh_86"
- },
- {
- "mesh" : 88,
- "name" : "Mesh_87"
- },
- {
- "mesh" : 89,
- "name" : "Mesh_88"
- },
- {
- "mesh" : 90,
- "name" : "Mesh_89"
- },
- {
- "mesh" : 91,
- "name" : "Mesh_90"
- },
- {
- "mesh" : 92,
- "name" : "Mesh_91"
- },
- {
- "mesh" : 93,
- "name" : "Mesh_92"
- },
- {
- "mesh" : 94,
- "name" : "Mesh_93"
- },
- {
- "mesh" : 95,
- "name" : "Mesh_94"
- },
- {
- "mesh" : 96,
- "name" : "Mesh_106"
- },
- {
- "mesh" : 97,
- "name" : "Mesh_96"
- },
- {
- "mesh" : 98,
- "name" : "Mesh_97"
- },
- {
- "mesh" : 99,
- "name" : "Mesh_98"
- },
- {
- "mesh" : 100,
- "name" : "Mesh_99"
- },
- {
- "mesh" : 101,
- "name" : "Mesh_100"
- },
- {
- "mesh" : 102,
- "name" : "Mesh_101"
- },
- {
- "mesh" : 103,
- "name" : "Mesh_102"
- },
- {
- "mesh" : 104,
- "name" : "Mesh_103"
- },
- {
- "mesh" : 105,
- "name" : "Mesh_104"
- },
- {
- "mesh" : 106,
- "name" : "Mesh_105"
- },
- {
- "mesh" : 107,
- "name" : "Mesh_117"
- },
- {
- "mesh" : 108,
- "name" : "Mesh_107"
- },
- {
- "mesh" : 109,
- "name" : "Mesh_108"
- },
- {
- "mesh" : 110,
- "name" : "Mesh_109"
- },
- {
- "mesh" : 111,
- "name" : "Mesh_110"
- },
- {
- "mesh" : 112,
- "name" : "Mesh_111"
- },
- {
- "mesh" : 113,
- "name" : "Mesh_112"
- },
- {
- "mesh" : 114,
- "name" : "Mesh_113"
- },
- {
- "mesh" : 115,
- "name" : "Mesh_114"
- },
- {
- "mesh" : 116,
- "name" : "Mesh_115"
- },
- {
- "mesh" : 117,
- "name" : "Mesh_116"
- },
- {
- "mesh" : 118,
- "name" : "Mesh_128"
- },
- {
- "mesh" : 119,
- "name" : "Mesh_118"
- },
- {
- "mesh" : 120,
- "name" : "Mesh_119"
- },
- {
- "mesh" : 121,
- "name" : "Mesh_120"
- },
- {
- "mesh" : 122,
- "name" : "Mesh_121"
- },
- {
- "mesh" : 123,
- "name" : "Mesh_122"
- },
- {
- "mesh" : 124,
- "name" : "Mesh_123"
- },
- {
- "mesh" : 125,
- "name" : "Mesh_124"
- },
- {
- "mesh" : 126,
- "name" : "Mesh_125"
- },
- {
- "mesh" : 127,
- "name" : "Mesh_126"
- },
- {
- "mesh" : 128,
- "name" : "Mesh_127"
- },
- {
- "mesh" : 129,
- "name" : "Mesh_139"
- },
- {
- "mesh" : 130,
- "name" : "Mesh_129"
- },
- {
- "mesh" : 131,
- "name" : "Mesh_130"
- },
- {
- "mesh" : 132,
- "name" : "Mesh_131"
- },
- {
- "mesh" : 133,
- "name" : "Mesh_132"
- },
- {
- "mesh" : 134,
- "name" : "Mesh_133"
- },
- {
- "mesh" : 135,
- "name" : "Mesh_134"
- },
- {
- "mesh" : 136,
- "name" : "Mesh_135"
- },
- {
- "mesh" : 137,
- "name" : "Mesh_136"
- },
- {
- "mesh" : 138,
- "name" : "Mesh_137"
- },
- {
- "mesh" : 139,
- "name" : "Mesh_138"
- },
- {
- "mesh" : 140,
- "name" : "Mesh_150"
- },
- {
- "mesh" : 141,
- "name" : "Mesh_140"
- },
- {
- "mesh" : 142,
- "name" : "Mesh_141"
- },
- {
- "mesh" : 143,
- "name" : "Mesh_142"
- },
- {
- "mesh" : 144,
- "name" : "Mesh_143"
- },
- {
- "mesh" : 145,
- "name" : "Mesh_144"
- },
- {
- "mesh" : 146,
- "name" : "Mesh_145"
- },
- {
- "mesh" : 147,
- "name" : "Mesh_146"
- },
- {
- "mesh" : 148,
- "name" : "Mesh_147"
- },
- {
- "mesh" : 149,
- "name" : "Mesh_148"
- },
- {
- "mesh" : 150,
- "name" : "Mesh_149"
- },
- {
- "mesh" : 151,
- "name" : "Mesh_161"
- },
- {
- "mesh" : 152,
- "name" : "Mesh_151"
- },
- {
- "mesh" : 153,
- "name" : "Mesh_152"
- },
- {
- "mesh" : 154,
- "name" : "Mesh_153"
- },
- {
- "mesh" : 155,
- "name" : "Mesh_154"
- },
- {
- "mesh" : 156,
- "name" : "Mesh_155"
- },
- {
- "mesh" : 157,
- "name" : "Mesh_156"
- },
- {
- "mesh" : 158,
- "name" : "Mesh_157"
- },
- {
- "mesh" : 159,
- "name" : "Mesh_158"
- },
- {
- "mesh" : 160,
- "name" : "Mesh_159"
- },
- {
- "mesh" : 161,
- "name" : "Mesh_160"
- },
- {
- "mesh" : 162,
- "name" : "Mesh_172"
- },
- {
- "mesh" : 163,
- "name" : "Mesh_162"
- },
- {
- "mesh" : 164,
- "name" : "Mesh_163"
- },
- {
- "mesh" : 165,
- "name" : "Mesh_164"
- },
- {
- "mesh" : 166,
- "name" : "Mesh_165"
- },
- {
- "mesh" : 167,
- "name" : "Mesh_166"
- },
- {
- "mesh" : 168,
- "name" : "Mesh_167"
- },
- {
- "mesh" : 169,
- "name" : "Mesh_168"
- },
- {
- "mesh" : 170,
- "name" : "Mesh_169"
- },
- {
- "mesh" : 171,
- "name" : "Mesh_170"
- },
- {
- "mesh" : 172,
- "name" : "Mesh_171"
- },
- {
- "mesh" : 173,
- "name" : "Mesh_183"
- },
- {
- "mesh" : 174,
- "name" : "Mesh_173"
- },
- {
- "mesh" : 175,
- "name" : "Mesh_174"
- },
- {
- "mesh" : 176,
- "name" : "Mesh_175"
- },
- {
- "mesh" : 177,
- "name" : "Mesh_176"
- },
- {
- "mesh" : 178,
- "name" : "Mesh_177"
- },
- {
- "mesh" : 179,
- "name" : "Mesh_178"
- },
- {
- "mesh" : 180,
- "name" : "Mesh_179"
- },
- {
- "mesh" : 181,
- "name" : "Mesh_180"
- },
- {
- "mesh" : 182,
- "name" : "Mesh_181"
- },
- {
- "mesh" : 183,
- "name" : "Mesh_182"
- },
- {
- "mesh" : 184,
- "name" : "Mesh_194"
- },
- {
- "mesh" : 185,
- "name" : "Mesh_184"
- },
- {
- "mesh" : 186,
- "name" : "Mesh_185"
- },
- {
- "mesh" : 187,
- "name" : "Mesh_186"
- },
- {
- "mesh" : 188,
- "name" : "Mesh_187"
- },
- {
- "mesh" : 189,
- "name" : "Mesh_188"
- },
- {
- "mesh" : 190,
- "name" : "Mesh_189"
- },
- {
- "mesh" : 191,
- "name" : "Mesh_190"
- },
- {
- "mesh" : 192,
- "name" : "Mesh_191"
- },
- {
- "mesh" : 193,
- "name" : "Mesh_192"
- },
- {
- "mesh" : 194,
- "name" : "Mesh_193"
- },
- {
- "mesh" : 195,
- "name" : "Mesh_205"
- },
- {
- "mesh" : 196,
- "name" : "Mesh_195"
- },
- {
- "mesh" : 197,
- "name" : "Mesh_196"
- },
- {
- "mesh" : 198,
- "name" : "Mesh_197"
- },
- {
- "mesh" : 199,
- "name" : "Mesh_198"
- },
- {
- "mesh" : 200,
- "name" : "Mesh_199"
- },
- {
- "mesh" : 201,
- "name" : "Mesh_200"
- },
- {
- "mesh" : 202,
- "name" : "Mesh_201"
- },
- {
- "mesh" : 203,
- "name" : "Mesh_202"
- },
- {
- "mesh" : 204,
- "name" : "Mesh_203"
- },
- {
- "mesh" : 205,
- "name" : "Mesh_204"
- },
- {
- "mesh" : 206,
- "name" : "Mesh_216"
- },
- {
- "mesh" : 207,
- "name" : "Mesh_206"
- },
- {
- "mesh" : 208,
- "name" : "Mesh_207"
- },
- {
- "mesh" : 209,
- "name" : "Mesh_208"
- },
- {
- "mesh" : 210,
- "name" : "Mesh_209"
- },
- {
- "mesh" : 211,
- "name" : "Mesh_210"
- },
- {
- "mesh" : 212,
- "name" : "Mesh_211"
- },
- {
- "mesh" : 213,
- "name" : "Mesh_212"
- },
- {
- "mesh" : 214,
- "name" : "Mesh_213"
- },
- {
- "mesh" : 215,
- "name" : "Mesh_214"
- },
- {
- "mesh" : 216,
- "name" : "Mesh_215"
- },
- {
- "mesh" : 217,
- "name" : "Mesh_227"
- },
- {
- "mesh" : 218,
- "name" : "Mesh_217"
- },
- {
- "mesh" : 219,
- "name" : "Mesh_218"
- },
- {
- "mesh" : 220,
- "name" : "Mesh_219"
- },
- {
- "mesh" : 221,
- "name" : "Mesh_220"
- },
- {
- "mesh" : 222,
- "name" : "Mesh_221"
- },
- {
- "mesh" : 223,
- "name" : "Mesh_222"
- },
- {
- "mesh" : 224,
- "name" : "Mesh_223"
- },
- {
- "mesh" : 225,
- "name" : "Mesh_224"
- },
- {
- "mesh" : 226,
- "name" : "Mesh_225"
- },
- {
- "mesh" : 227,
- "name" : "Mesh_226"
- },
- {
- "mesh" : 228,
- "name" : "Mesh_238"
- },
- {
- "mesh" : 229,
- "name" : "Mesh_228"
- },
- {
- "mesh" : 230,
- "name" : "Mesh_229"
- },
- {
- "mesh" : 231,
- "name" : "Mesh_230"
- },
- {
- "mesh" : 232,
- "name" : "Mesh_231"
- },
- {
- "mesh" : 233,
- "name" : "Mesh_232"
- },
- {
- "mesh" : 234,
- "name" : "Mesh_233"
- },
- {
- "mesh" : 235,
- "name" : "Mesh_234"
- },
- {
- "mesh" : 236,
- "name" : "Mesh_235"
- },
- {
- "mesh" : 237,
- "name" : "Mesh_236"
- },
- {
- "mesh" : 238,
- "name" : "Mesh_237"
- },
- {
- "mesh" : 239,
- "name" : "Mesh_249"
- },
- {
- "mesh" : 240,
- "name" : "Mesh_239"
- },
- {
- "mesh" : 241,
- "name" : "Mesh_240"
- },
- {
- "mesh" : 242,
- "name" : "Mesh_241"
- },
- {
- "mesh" : 243,
- "name" : "Mesh_242"
- },
- {
- "mesh" : 244,
- "name" : "Mesh_243"
- },
- {
- "mesh" : 245,
- "name" : "Mesh_244"
- },
- {
- "mesh" : 246,
- "name" : "Mesh_245"
- },
- {
- "mesh" : 247,
- "name" : "Mesh_246"
- },
- {
- "mesh" : 248,
- "name" : "Mesh_247"
- },
- {
- "mesh" : 249,
- "name" : "Mesh_248"
- },
- {
- "mesh" : 250,
- "name" : "Mesh_260"
- },
- {
- "mesh" : 251,
- "name" : "Mesh_250"
- },
- {
- "mesh" : 252,
- "name" : "Mesh_251"
- },
- {
- "mesh" : 253,
- "name" : "Mesh_252"
- },
- {
- "mesh" : 254,
- "name" : "Mesh_253"
- },
- {
- "mesh" : 255,
- "name" : "Mesh_254"
- },
- {
- "mesh" : 256,
- "name" : "Mesh_255"
- },
- {
- "mesh" : 257,
- "name" : "Mesh_256"
- },
- {
- "mesh" : 258,
- "name" : "Mesh_257"
- },
- {
- "mesh" : 259,
- "name" : "Mesh_258"
- },
- {
- "mesh" : 260,
- "name" : "Mesh_259"
- },
- {
- "mesh" : 261,
- "name" : "Mesh_271"
- },
- {
- "mesh" : 262,
- "name" : "Mesh_261"
- },
- {
- "mesh" : 263,
- "name" : "Mesh_262"
- },
- {
- "mesh" : 264,
- "name" : "Mesh_263"
- },
- {
- "mesh" : 265,
- "name" : "Mesh_264"
- },
- {
- "mesh" : 266,
- "name" : "Mesh_265"
- },
- {
- "mesh" : 267,
- "name" : "Mesh_266"
- },
- {
- "mesh" : 268,
- "name" : "Mesh_267"
- },
- {
- "mesh" : 269,
- "name" : "Mesh_268"
- },
- {
- "mesh" : 270,
- "name" : "Mesh_269"
- },
- {
- "mesh" : 271,
- "name" : "Mesh_270"
- },
- {
- "mesh" : 272,
- "name" : "Mesh_282"
- },
- {
- "mesh" : 273,
- "name" : "Mesh_272"
- },
- {
- "mesh" : 274,
- "name" : "Mesh_273"
- },
- {
- "mesh" : 275,
- "name" : "Mesh_274"
- },
- {
- "mesh" : 276,
- "name" : "Mesh_275"
- },
- {
- "mesh" : 277,
- "name" : "Mesh_276"
- },
- {
- "mesh" : 278,
- "name" : "Mesh_277"
- },
- {
- "mesh" : 279,
- "name" : "Mesh_278"
- },
- {
- "mesh" : 280,
- "name" : "Mesh_279"
- },
- {
- "mesh" : 281,
- "name" : "Mesh_280"
- },
- {
- "mesh" : 282,
- "name" : "Mesh_281"
- },
- {
- "mesh" : 283,
- "name" : "Mesh_293"
- },
- {
- "mesh" : 284,
- "name" : "Mesh_283"
- },
- {
- "mesh" : 285,
- "name" : "Mesh_284"
- },
- {
- "mesh" : 286,
- "name" : "Mesh_285"
- },
- {
- "mesh" : 287,
- "name" : "Mesh_286"
- },
- {
- "mesh" : 288,
- "name" : "Mesh_287"
- },
- {
- "mesh" : 289,
- "name" : "Mesh_288"
- },
- {
- "mesh" : 290,
- "name" : "Mesh_289"
- },
- {
- "mesh" : 291,
- "name" : "Mesh_290"
- },
- {
- "mesh" : 292,
- "name" : "Mesh_291"
- },
- {
- "mesh" : 293,
- "name" : "Mesh_292"
- },
- {
- "mesh" : 294,
- "name" : "Mesh_304"
- },
- {
- "mesh" : 295,
- "name" : "Mesh_294"
- },
- {
- "mesh" : 296,
- "name" : "Mesh_295"
- },
- {
- "mesh" : 297,
- "name" : "Mesh_296"
- },
- {
- "mesh" : 298,
- "name" : "Mesh_297"
- },
- {
- "mesh" : 299,
- "name" : "Mesh_298"
- },
- {
- "mesh" : 300,
- "name" : "Mesh_299"
- },
- {
- "mesh" : 301,
- "name" : "Mesh_300"
- },
- {
- "mesh" : 302,
- "name" : "Mesh_301"
- },
- {
- "mesh" : 303,
- "name" : "Mesh_302"
- },
- {
- "mesh" : 304,
- "name" : "Mesh_303"
- },
- {
- "mesh" : 305,
- "name" : "Mesh_315"
- },
- {
- "mesh" : 306,
- "name" : "Mesh_305"
- },
- {
- "mesh" : 307,
- "name" : "Mesh_306"
- },
- {
- "mesh" : 308,
- "name" : "Mesh_307"
- },
- {
- "mesh" : 309,
- "name" : "Mesh_308"
- },
- {
- "mesh" : 310,
- "name" : "Mesh_309"
- },
- {
- "mesh" : 311,
- "name" : "Mesh_310"
- },
- {
- "mesh" : 312,
- "name" : "Mesh_311"
- },
- {
- "mesh" : 313,
- "name" : "Mesh_312"
- },
- {
- "mesh" : 314,
- "name" : "Mesh_313"
- },
- {
- "mesh" : 315,
- "name" : "Mesh_314"
- },
- {
- "mesh" : 316,
- "name" : "Mesh_319"
- },
- {
- "mesh" : 317,
- "name" : "Mesh_316"
- },
- {
- "mesh" : 318,
- "name" : "Mesh_317"
- },
- {
- "mesh" : 319,
- "name" : "Mesh_318"
- },
- {
- "mesh" : 320,
- "name" : "Mesh_320"
- },
- {
- "mesh" : 321,
- "name" : "Mesh_321"
- },
- {
- "mesh" : 322,
- "name" : "Mesh_322"
- },
- {
- "mesh" : 323,
- "name" : "Mesh_323"
- },
- {
- "mesh" : 324,
- "name" : "Mesh_324"
- },
- {
- "mesh" : 325,
- "name" : "Mesh_325"
- },
- {
- "mesh" : 326,
- "name" : "Mesh_326"
- },
- {
- "mesh" : 327,
- "name" : "Mesh_327"
- },
- {
- "mesh" : 328,
- "name" : "Mesh_328"
- },
- {
- "mesh" : 329,
- "name" : "Mesh_329"
- },
- {
- "mesh" : 330,
- "name" : "Mesh_330"
- },
- {
- "mesh" : 331,
- "name" : "Mesh_331"
- },
- {
- "mesh" : 332,
- "name" : "Mesh_332"
- },
- {
- "mesh" : 333,
- "name" : "Mesh_333"
- },
- {
- "mesh" : 334,
- "name" : "Mesh_334"
- },
- {
- "mesh" : 335,
- "name" : "Mesh_335"
- },
- {
- "mesh" : 336,
- "name" : "Mesh_336"
- },
- {
- "mesh" : 337,
- "name" : "Mesh_337"
- },
- {
- "mesh" : 338,
- "name" : "Mesh_338"
- },
- {
- "mesh" : 339,
- "name" : "Mesh_339"
- },
- {
- "mesh" : 340,
- "name" : "Mesh_340"
- },
- {
- "mesh" : 341,
- "name" : "Mesh_341"
- },
- {
- "mesh" : 342,
- "name" : "Mesh_342"
- },
- {
- "mesh" : 343,
- "name" : "Mesh_343"
- },
- {
- "mesh" : 344,
- "name" : "Mesh_344"
- },
- {
- "mesh" : 345,
- "name" : "Mesh_345"
- },
- {
- "mesh" : 346,
- "name" : "Mesh_346"
- },
- {
- "mesh" : 347,
- "name" : "Mesh_347"
- },
- {
- "mesh" : 348,
- "name" : "Mesh_348"
- },
- {
- "mesh" : 349,
- "name" : "Mesh_349"
- },
- {
- "mesh" : 350,
- "name" : "Mesh_350"
- },
- {
- "mesh" : 351,
- "name" : "Mesh_351"
- },
- {
- "mesh" : 352,
- "name" : "Mesh_352"
- },
- {
- "mesh" : 353,
- "name" : "Mesh_353"
- },
- {
- "mesh" : 354,
- "name" : "Mesh_354"
- },
- {
- "mesh" : 355,
- "name" : "Mesh_355"
- },
- {
- "mesh" : 356,
- "name" : "Mesh_356"
- },
- {
- "mesh" : 357,
- "name" : "Mesh_357"
- },
- {
- "mesh" : 358,
- "name" : "Mesh_358"
- },
- {
- "mesh" : 359,
- "name" : "Mesh_359"
- },
- {
- "mesh" : 360,
- "name" : "Mesh_360"
- },
- {
- "mesh" : 361,
- "name" : "Mesh_361"
- },
- {
- "mesh" : 362,
- "name" : "Mesh_362"
- },
- {
- "mesh" : 363,
- "name" : "Mesh_363"
- },
- {
- "mesh" : 364,
- "name" : "Mesh_364"
- },
- {
- "mesh" : 365,
- "name" : "Mesh_365"
- },
- {
- "mesh" : 366,
- "name" : "Mesh_366"
- },
- {
- "mesh" : 367,
- "name" : "Mesh_367"
- },
- {
- "mesh" : 368,
- "name" : "Mesh_368"
- },
- {
- "mesh" : 369,
- "name" : "Mesh_369"
- },
- {
- "mesh" : 370,
- "name" : "Mesh_370"
- },
- {
- "mesh" : 371,
- "name" : "Mesh_371"
- },
- {
- "mesh" : 372,
- "name" : "Mesh_372"
- },
- {
- "mesh" : 373,
- "name" : "Mesh_373"
- },
- {
- "mesh" : 374,
- "name" : "Mesh_374"
- },
- {
- "mesh" : 375,
- "name" : "Mesh_375"
- },
- {
- "mesh" : 376,
- "name" : "Mesh_376"
- },
- {
- "mesh" : 377,
- "name" : "Mesh_377"
- },
- {
- "mesh" : 378,
- "name" : "Mesh_378"
- },
- {
- "mesh" : 379,
- "name" : "Mesh_379"
- },
- {
- "mesh" : 380,
- "name" : "Mesh_380"
- }
- ],
- "materials" : [
- {
- "alphaCutoff" : 0.5,
- "alphaMode" : "MASK",
- "doubleSided" : true,
- "name" : "leaf",
- "normalTexture" : {
- "index" : 0
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 1
- },
- "metallicRoughnessTexture" : {
- "index" : 2
- }
- }
- },
- {
- "alphaCutoff" : 0.5,
- "alphaMode" : "MASK",
- "doubleSided" : true,
- "name" : "Material__57",
- "normalTexture" : {
- "index" : 3
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 4
- },
- "metallicRoughnessTexture" : {
- "index" : 5
- }
- }
- },
- {
- "name" : "vase_round",
- "normalTexture" : {
- "index" : 6
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 7
- },
- "metallicRoughnessTexture" : {
- "index" : 8
- }
- }
- },
- {
- "name" : "Material__298",
- "normalTexture" : {
- "index" : 9
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 10
- },
- "metallicRoughnessTexture" : {
- "index" : 11
- }
- }
- },
- {
- "name" : "bricks",
- "normalTexture" : {
- "index" : 12
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 13
- },
- "metallicRoughnessTexture" : {
- "index" : 14
- }
- }
- },
- {
- "name" : "arch",
- "normalTexture" : {
- "index" : 15
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 16
- },
- "metallicRoughnessTexture" : {
- "index" : 17
- }
- }
- },
- {
- "name" : "ceiling",
- "normalTexture" : {
- "index" : 18
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 19
- },
- "metallicRoughnessTexture" : {
- "index" : 20
- }
- }
- },
- {
- "name" : "column_a",
- "normalTexture" : {
- "index" : 21
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 22
- },
- "metallicRoughnessTexture" : {
- "index" : 23
- }
- }
- },
- {
- "name" : "column_c",
- "normalTexture" : {
- "index" : 24
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 25
- },
- "metallicRoughnessTexture" : {
- "index" : 26
- }
- }
- },
- {
- "name" : "floor",
- "normalTexture" : {
- "index" : 27
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 28
- },
- "metallicRoughnessTexture" : {
- "index" : 29
- }
- }
- },
- {
- "name" : "column_b",
- "normalTexture" : {
- "index" : 30
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 31
- },
- "metallicRoughnessTexture" : {
- "index" : 32
- }
- }
- },
- {
- "name" : "16___Default",
- "pbrMetallicRoughness" : {}
- },
- {
- "name" : "flagpole",
- "normalTexture" : {
- "index" : 33
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 34
- },
- "metallicRoughnessTexture" : {
- "index" : 35
- }
- }
- },
- {
- "name" : "fabric_e",
- "normalTexture" : {
- "index" : 36
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 37
- },
- "metallicRoughnessTexture" : {
- "index" : 38
- }
- }
- },
- {
- "name" : "fabric_d",
- "normalTexture" : {
- "index" : 39
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 40
- },
- "metallicRoughnessTexture" : {
- "index" : 41
- }
- }
- },
- {
- "name" : "fabric_a",
- "normalTexture" : {
- "index" : 42
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 43
- },
- "metallicRoughnessTexture" : {
- "index" : 44
- }
- }
- },
- {
- "name" : "fabric_g",
- "normalTexture" : {
- "index" : 45
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 46
- },
- "metallicRoughnessTexture" : {
- "index" : 47
- }
- }
- },
- {
- "name" : "fabric_c",
- "normalTexture" : {
- "index" : 48
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 49
- },
- "metallicRoughnessTexture" : {
- "index" : 50
- }
- }
- },
- {
- "name" : "fabric_f",
- "normalTexture" : {
- "index" : 51
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 52
- },
- "metallicRoughnessTexture" : {
- "index" : 53
- }
- }
- },
- {
- "alphaCutoff" : 0.5,
- "alphaMode" : "MASK",
- "doubleSided" : true,
- "name" : "chain",
- "normalTexture" : {
- "index" : 54
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 55
- },
- "metallicRoughnessTexture" : {
- "index" : 56
- }
- }
- },
- {
- "name" : "vase_hanging",
- "normalTexture" : {
- "index" : 57
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 58
- },
- "metallicRoughnessTexture" : {
- "index" : 59
- }
- }
- },
- {
- "name" : "vase",
- "normalTexture" : {
- "index" : 60
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 61
- },
- "metallicRoughnessTexture" : {
- "index" : 62
- }
- }
- },
- {
- "name" : "Material__25",
- "normalTexture" : {
- "index" : 63
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 64
- },
- "metallicRoughnessTexture" : {
- "index" : 65
- }
- }
- },
- {
- "name" : "roof",
- "normalTexture" : {
- "index" : 66
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 67
- },
- "metallicRoughnessTexture" : {
- "index" : 68
- }
- }
- },
- {
- "name" : "details",
- "normalTexture" : {
- "index" : 69
- },
- "pbrMetallicRoughness" : {
- "baseColorTexture" : {
- "index" : 70
- },
- "metallicRoughnessTexture" : {
- "index" : 71
- }
- }
- }
- ],
- "meshes" : [
- {
- "name" : "Mesh_0",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 0,
- "NORMAL" : 1,
- "TEXCOORD_0" : 2
- },
- "indices" : 3,
- "material" : 0
- }
- ]
- },
- {
- "name" : "Mesh_1",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 4,
- "NORMAL" : 5,
- "TEXCOORD_0" : 6
- },
- "indices" : 7,
- "material" : 1
- },
- {
- "attributes" : {
- "POSITION" : 8,
- "NORMAL" : 9,
- "TEXCOORD_0" : 10
- },
- "indices" : 11,
- "material" : 2
- }
- ]
- },
- {
- "name" : "Mesh_2",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 12,
- "NORMAL" : 13,
- "TEXCOORD_0" : 14
- },
- "indices" : 15,
- "material" : 3
- }
- ]
- },
- {
- "name" : "Mesh_3",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 16,
- "NORMAL" : 17,
- "TEXCOORD_0" : 18
- },
- "indices" : 19,
- "material" : 4
- }
- ]
- },
- {
- "name" : "Mesh_4",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 20,
- "NORMAL" : 21,
- "TEXCOORD_0" : 22
- },
- "indices" : 23,
- "material" : 4
- }
- ]
- },
- {
- "name" : "Mesh_5",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 24,
- "NORMAL" : 25,
- "TEXCOORD_0" : 26
- },
- "indices" : 27,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_6",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 28,
- "NORMAL" : 29,
- "TEXCOORD_0" : 30
- },
- "indices" : 31,
- "material" : 6
- }
- ]
- },
- {
- "name" : "Mesh_7",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 32,
- "NORMAL" : 33,
- "TEXCOORD_0" : 34
- },
- "indices" : 35,
- "material" : 7
- }
- ]
- },
- {
- "name" : "Mesh_18",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 36,
- "NORMAL" : 37,
- "TEXCOORD_0" : 38
- },
- "indices" : 39,
- "material" : 7
- }
- ]
- },
- {
- "name" : "Mesh_8",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 40,
- "NORMAL" : 41,
- "TEXCOORD_0" : 42
- },
- "indices" : 43,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_9",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 44,
- "NORMAL" : 45,
- "TEXCOORD_0" : 46
- },
- "indices" : 47,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_10",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 48,
- "NORMAL" : 49,
- "TEXCOORD_0" : 50
- },
- "indices" : 51,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_11",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 52,
- "NORMAL" : 53,
- "TEXCOORD_0" : 54
- },
- "indices" : 55,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_12",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 56,
- "NORMAL" : 57,
- "TEXCOORD_0" : 58
- },
- "indices" : 59,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_13",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 60,
- "NORMAL" : 61,
- "TEXCOORD_0" : 62
- },
- "indices" : 63,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_14",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 64,
- "NORMAL" : 65,
- "TEXCOORD_0" : 66
- },
- "indices" : 67,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_15",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 68,
- "NORMAL" : 69,
- "TEXCOORD_0" : 70
- },
- "indices" : 71,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_16",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 72,
- "NORMAL" : 73,
- "TEXCOORD_0" : 74
- },
- "indices" : 67,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_17",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 75,
- "NORMAL" : 76,
- "TEXCOORD_0" : 77
- },
- "indices" : 78,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_29",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 79,
- "NORMAL" : 80,
- "TEXCOORD_0" : 81
- },
- "indices" : 82,
- "material" : 7
- }
- ]
- },
- {
- "name" : "Mesh_19",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 83,
- "NORMAL" : 84,
- "TEXCOORD_0" : 85
- },
- "indices" : 86,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_20",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 87,
- "NORMAL" : 88,
- "TEXCOORD_0" : 89
- },
- "indices" : 90,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_21",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 91,
- "NORMAL" : 92,
- "TEXCOORD_0" : 93
- },
- "indices" : 94,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_22",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 95,
- "NORMAL" : 96,
- "TEXCOORD_0" : 97
- },
- "indices" : 98,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_23",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 99,
- "NORMAL" : 100,
- "TEXCOORD_0" : 101
- },
- "indices" : 102,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_24",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 103,
- "NORMAL" : 104,
- "TEXCOORD_0" : 105
- },
- "indices" : 106,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_25",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 107,
- "NORMAL" : 108,
- "TEXCOORD_0" : 109
- },
- "indices" : 110,
- "material" : 4
- }
- ]
- },
- {
- "name" : "Mesh_26",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 111,
- "NORMAL" : 112,
- "TEXCOORD_0" : 113
- },
- "indices" : 114,
- "material" : 9
- }
- ]
- },
- {
- "name" : "Mesh_27",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 115,
- "NORMAL" : 116,
- "TEXCOORD_0" : 117
- },
- "indices" : 118,
- "material" : 7
- }
- ]
- },
- {
- "name" : "Mesh_28",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 119,
- "NORMAL" : 120,
- "TEXCOORD_0" : 121
- },
- "indices" : 122,
- "material" : 7
- }
- ]
- },
- {
- "name" : "Mesh_40",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 123,
- "NORMAL" : 124,
- "TEXCOORD_0" : 125
- },
- "indices" : 126,
- "material" : 7
- }
- ]
- },
- {
- "name" : "Mesh_30",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 127,
- "NORMAL" : 128,
- "TEXCOORD_0" : 129
- },
- "indices" : 130,
- "material" : 7
- }
- ]
- },
- {
- "name" : "Mesh_31",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 131,
- "NORMAL" : 132,
- "TEXCOORD_0" : 133
- },
- "indices" : 134,
- "material" : 7
- }
- ]
- },
- {
- "name" : "Mesh_32",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 135,
- "NORMAL" : 136,
- "TEXCOORD_0" : 137
- },
- "indices" : 138,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_33",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 139,
- "NORMAL" : 140,
- "TEXCOORD_0" : 141
- },
- "indices" : 142,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_34",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 143,
- "NORMAL" : 144,
- "TEXCOORD_0" : 145
- },
- "indices" : 146,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_35",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 147,
- "NORMAL" : 148,
- "TEXCOORD_0" : 149
- },
- "indices" : 150,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_36",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 151,
- "NORMAL" : 152,
- "TEXCOORD_0" : 153
- },
- "indices" : 154,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_37",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 155,
- "NORMAL" : 156,
- "TEXCOORD_0" : 157
- },
- "indices" : 158,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_38",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 159,
- "NORMAL" : 160,
- "TEXCOORD_0" : 161
- },
- "indices" : 162,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_39",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 163,
- "NORMAL" : 164,
- "TEXCOORD_0" : 165
- },
- "indices" : 166,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_51",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 167,
- "NORMAL" : 168,
- "TEXCOORD_0" : 169
- },
- "indices" : 170,
- "material" : 7
- }
- ]
- },
- {
- "name" : "Mesh_41",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 171,
- "NORMAL" : 172,
- "TEXCOORD_0" : 173
- },
- "indices" : 174,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_42",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 175,
- "NORMAL" : 176,
- "TEXCOORD_0" : 177
- },
- "indices" : 178,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_43",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 179,
- "NORMAL" : 180,
- "TEXCOORD_0" : 181
- },
- "indices" : 182,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_44",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 183,
- "NORMAL" : 184,
- "TEXCOORD_0" : 185
- },
- "indices" : 186,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_45",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 187,
- "NORMAL" : 188,
- "TEXCOORD_0" : 189
- },
- "indices" : 190,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_46",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 191,
- "NORMAL" : 192,
- "TEXCOORD_0" : 193
- },
- "indices" : 194,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_47",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 195,
- "NORMAL" : 196,
- "TEXCOORD_0" : 197
- },
- "indices" : 198,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_48",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 199,
- "NORMAL" : 200,
- "TEXCOORD_0" : 201
- },
- "indices" : 202,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_49",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 203,
- "NORMAL" : 204,
- "TEXCOORD_0" : 205
- },
- "indices" : 206,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_50",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 207,
- "NORMAL" : 208,
- "TEXCOORD_0" : 209
- },
- "indices" : 210,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_62",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 211,
- "NORMAL" : 212,
- "TEXCOORD_0" : 213
- },
- "indices" : 214,
- "material" : 7
- }
- ]
- },
- {
- "name" : "Mesh_52",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 215,
- "NORMAL" : 216,
- "TEXCOORD_0" : 217
- },
- "indices" : 218,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_53",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 219,
- "NORMAL" : 220,
- "TEXCOORD_0" : 221
- },
- "indices" : 222,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_54",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 223,
- "NORMAL" : 224,
- "TEXCOORD_0" : 225
- },
- "indices" : 226,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_55",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 227,
- "NORMAL" : 228,
- "TEXCOORD_0" : 229
- },
- "indices" : 230,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_56",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 231,
- "NORMAL" : 232,
- "TEXCOORD_0" : 233
- },
- "indices" : 234,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_57",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 235,
- "NORMAL" : 236,
- "TEXCOORD_0" : 237
- },
- "indices" : 238,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_58",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 239,
- "NORMAL" : 240,
- "TEXCOORD_0" : 241
- },
- "indices" : 242,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_59",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 243,
- "NORMAL" : 244,
- "TEXCOORD_0" : 245
- },
- "indices" : 246,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_60",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 247,
- "NORMAL" : 248,
- "TEXCOORD_0" : 249
- },
- "indices" : 250,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_61",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 251,
- "NORMAL" : 252,
- "TEXCOORD_0" : 253
- },
- "indices" : 254,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_73",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 255,
- "NORMAL" : 256,
- "TEXCOORD_0" : 257
- },
- "indices" : 258,
- "material" : 7
- }
- ]
- },
- {
- "name" : "Mesh_63",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 259,
- "NORMAL" : 260,
- "TEXCOORD_0" : 261
- },
- "indices" : 262,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_64",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 263,
- "NORMAL" : 264,
- "TEXCOORD_0" : 265
- },
- "indices" : 266,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_65",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 267,
- "NORMAL" : 268,
- "TEXCOORD_0" : 269
- },
- "indices" : 270,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_66",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 271,
- "NORMAL" : 272,
- "TEXCOORD_0" : 273
- },
- "indices" : 274,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_67",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 275,
- "NORMAL" : 276,
- "TEXCOORD_0" : 277
- },
- "indices" : 278,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_68",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 279,
- "NORMAL" : 280,
- "TEXCOORD_0" : 281
- },
- "indices" : 282,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_69",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 283,
- "NORMAL" : 284,
- "TEXCOORD_0" : 285
- },
- "indices" : 286,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_70",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 287,
- "NORMAL" : 288,
- "TEXCOORD_0" : 289
- },
- "indices" : 290,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_71",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 291,
- "NORMAL" : 292,
- "TEXCOORD_0" : 293
- },
- "indices" : 294,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_72",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 295,
- "NORMAL" : 296,
- "TEXCOORD_0" : 297
- },
- "indices" : 298,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_84",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 299,
- "NORMAL" : 300,
- "TEXCOORD_0" : 301
- },
- "indices" : 302,
- "material" : 7
- }
- ]
- },
- {
- "name" : "Mesh_74",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 303,
- "NORMAL" : 304,
- "TEXCOORD_0" : 305
- },
- "indices" : 306,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_75",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 307,
- "NORMAL" : 308,
- "TEXCOORD_0" : 309
- },
- "indices" : 310,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_76",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 311,
- "NORMAL" : 312,
- "TEXCOORD_0" : 313
- },
- "indices" : 314,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_77",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 315,
- "NORMAL" : 316,
- "TEXCOORD_0" : 317
- },
- "indices" : 318,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_78",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 319,
- "NORMAL" : 320,
- "TEXCOORD_0" : 321
- },
- "indices" : 322,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_79",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 323,
- "NORMAL" : 324,
- "TEXCOORD_0" : 325
- },
- "indices" : 326,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_80",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 327,
- "NORMAL" : 328,
- "TEXCOORD_0" : 329
- },
- "indices" : 330,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_81",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 331,
- "NORMAL" : 332,
- "TEXCOORD_0" : 333
- },
- "indices" : 334,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_82",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 335,
- "NORMAL" : 336,
- "TEXCOORD_0" : 337
- },
- "indices" : 338,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_83",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 339,
- "NORMAL" : 340,
- "TEXCOORD_0" : 341
- },
- "indices" : 342,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_95",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 343,
- "NORMAL" : 344,
- "TEXCOORD_0" : 345
- },
- "indices" : 346,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_85",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 347,
- "NORMAL" : 348,
- "TEXCOORD_0" : 349
- },
- "indices" : 350,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_86",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 351,
- "NORMAL" : 352,
- "TEXCOORD_0" : 353
- },
- "indices" : 354,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_87",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 355,
- "NORMAL" : 356,
- "TEXCOORD_0" : 357
- },
- "indices" : 358,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_88",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 359,
- "NORMAL" : 360,
- "TEXCOORD_0" : 361
- },
- "indices" : 362,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_89",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 363,
- "NORMAL" : 364,
- "TEXCOORD_0" : 365
- },
- "indices" : 366,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_90",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 367,
- "NORMAL" : 368,
- "TEXCOORD_0" : 369
- },
- "indices" : 370,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_91",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 371,
- "NORMAL" : 372,
- "TEXCOORD_0" : 373
- },
- "indices" : 374,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_92",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 375,
- "NORMAL" : 376,
- "TEXCOORD_0" : 377
- },
- "indices" : 378,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_93",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 379,
- "NORMAL" : 380,
- "TEXCOORD_0" : 381
- },
- "indices" : 382,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_94",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 383,
- "NORMAL" : 384,
- "TEXCOORD_0" : 385
- },
- "indices" : 386,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_106",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 387,
- "NORMAL" : 388,
- "TEXCOORD_0" : 389
- },
- "indices" : 390,
- "material" : 9
- }
- ]
- },
- {
- "name" : "Mesh_96",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 391,
- "NORMAL" : 392,
- "TEXCOORD_0" : 393
- },
- "indices" : 394,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_97",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 395,
- "NORMAL" : 396,
- "TEXCOORD_0" : 397
- },
- "indices" : 398,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_98",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 399,
- "NORMAL" : 400,
- "TEXCOORD_0" : 401
- },
- "indices" : 402,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_99",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 403,
- "NORMAL" : 404,
- "TEXCOORD_0" : 405
- },
- "indices" : 406,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_100",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 407,
- "NORMAL" : 408,
- "TEXCOORD_0" : 409
- },
- "indices" : 410,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_101",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 411,
- "NORMAL" : 412,
- "TEXCOORD_0" : 413
- },
- "indices" : 414,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_102",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 415,
- "NORMAL" : 416,
- "TEXCOORD_0" : 417
- },
- "indices" : 418,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_103",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 419,
- "NORMAL" : 420,
- "TEXCOORD_0" : 421
- },
- "indices" : 422,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_104",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 423,
- "NORMAL" : 424,
- "TEXCOORD_0" : 425
- },
- "indices" : 426,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_105",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 427,
- "NORMAL" : 428,
- "TEXCOORD_0" : 429
- },
- "indices" : 430,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_117",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 431,
- "NORMAL" : 432,
- "TEXCOORD_0" : 433
- },
- "indices" : 434,
- "material" : 6
- }
- ]
- },
- {
- "name" : "Mesh_107",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 435,
- "NORMAL" : 436,
- "TEXCOORD_0" : 437
- },
- "indices" : 438,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_108",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 439,
- "NORMAL" : 440,
- "TEXCOORD_0" : 441
- },
- "indices" : 442,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_109",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 443,
- "NORMAL" : 444,
- "TEXCOORD_0" : 445
- },
- "indices" : 446,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_110",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 447,
- "NORMAL" : 448,
- "TEXCOORD_0" : 449
- },
- "indices" : 450,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_111",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 451,
- "NORMAL" : 452,
- "TEXCOORD_0" : 453
- },
- "indices" : 454,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_112",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 455,
- "NORMAL" : 456,
- "TEXCOORD_0" : 457
- },
- "indices" : 458,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_113",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 459,
- "NORMAL" : 460,
- "TEXCOORD_0" : 461
- },
- "indices" : 462,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_114",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 463,
- "NORMAL" : 464,
- "TEXCOORD_0" : 465
- },
- "indices" : 466,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_115",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 467,
- "NORMAL" : 468,
- "TEXCOORD_0" : 469
- },
- "indices" : 470,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_116",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 471,
- "NORMAL" : 472,
- "TEXCOORD_0" : 473
- },
- "indices" : 474,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_128",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 475,
- "NORMAL" : 476,
- "TEXCOORD_0" : 477
- },
- "indices" : 478,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_118",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 479,
- "NORMAL" : 480,
- "TEXCOORD_0" : 481
- },
- "indices" : 482,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_119",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 483,
- "NORMAL" : 484,
- "TEXCOORD_0" : 485
- },
- "indices" : 486,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_120",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 487,
- "NORMAL" : 488,
- "TEXCOORD_0" : 489
- },
- "indices" : 490,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_121",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 491,
- "NORMAL" : 492,
- "TEXCOORD_0" : 493
- },
- "indices" : 494,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_122",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 495,
- "NORMAL" : 496,
- "TEXCOORD_0" : 497
- },
- "indices" : 498,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_123",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 499,
- "NORMAL" : 500,
- "TEXCOORD_0" : 501
- },
- "indices" : 262,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_124",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 502,
- "NORMAL" : 503,
- "TEXCOORD_0" : 504
- },
- "indices" : 505,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_125",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 506,
- "NORMAL" : 507,
- "TEXCOORD_0" : 508
- },
- "indices" : 509,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_126",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 510,
- "NORMAL" : 511,
- "TEXCOORD_0" : 512
- },
- "indices" : 513,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_127",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 514,
- "NORMAL" : 515,
- "TEXCOORD_0" : 516
- },
- "indices" : 517,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_139",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 518,
- "NORMAL" : 519,
- "TEXCOORD_0" : 520
- },
- "indices" : 521,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_129",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 522,
- "NORMAL" : 523,
- "TEXCOORD_0" : 524
- },
- "indices" : 525,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_130",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 526,
- "NORMAL" : 527,
- "TEXCOORD_0" : 528
- },
- "indices" : 529,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_131",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 530,
- "NORMAL" : 531,
- "TEXCOORD_0" : 532
- },
- "indices" : 533,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_132",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 534,
- "NORMAL" : 535,
- "TEXCOORD_0" : 536
- },
- "indices" : 537,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_133",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 538,
- "NORMAL" : 539,
- "TEXCOORD_0" : 540
- },
- "indices" : 541,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_134",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 542,
- "NORMAL" : 543,
- "TEXCOORD_0" : 544
- },
- "indices" : 545,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_135",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 546,
- "NORMAL" : 547,
- "TEXCOORD_0" : 548
- },
- "indices" : 549,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_136",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 550,
- "NORMAL" : 551,
- "TEXCOORD_0" : 552
- },
- "indices" : 553,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_137",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 554,
- "NORMAL" : 555,
- "TEXCOORD_0" : 556
- },
- "indices" : 318,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_138",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 557,
- "NORMAL" : 558,
- "TEXCOORD_0" : 559
- },
- "indices" : 560,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_150",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 561,
- "NORMAL" : 562,
- "TEXCOORD_0" : 563
- },
- "indices" : 564,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_140",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 565,
- "NORMAL" : 566,
- "TEXCOORD_0" : 567
- },
- "indices" : 326,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_141",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 568,
- "NORMAL" : 569,
- "TEXCOORD_0" : 570
- },
- "indices" : 571,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_142",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 572,
- "NORMAL" : 573,
- "TEXCOORD_0" : 574
- },
- "indices" : 575,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_143",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 576,
- "NORMAL" : 577,
- "TEXCOORD_0" : 578
- },
- "indices" : 579,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_144",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 580,
- "NORMAL" : 581,
- "TEXCOORD_0" : 582
- },
- "indices" : 583,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_145",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 584,
- "NORMAL" : 585,
- "TEXCOORD_0" : 586
- },
- "indices" : 587,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_146",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 588,
- "NORMAL" : 589,
- "TEXCOORD_0" : 590
- },
- "indices" : 591,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_147",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 592,
- "NORMAL" : 593,
- "TEXCOORD_0" : 594
- },
- "indices" : 595,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_148",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 596,
- "NORMAL" : 597,
- "TEXCOORD_0" : 598
- },
- "indices" : 599,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_149",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 600,
- "NORMAL" : 601,
- "TEXCOORD_0" : 602
- },
- "indices" : 603,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_161",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 604,
- "NORMAL" : 605,
- "TEXCOORD_0" : 606
- },
- "indices" : 607,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_151",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 608,
- "NORMAL" : 609,
- "TEXCOORD_0" : 610
- },
- "indices" : 611,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_152",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 612,
- "NORMAL" : 613,
- "TEXCOORD_0" : 614
- },
- "indices" : 615,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_153",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 616,
- "NORMAL" : 617,
- "TEXCOORD_0" : 618
- },
- "indices" : 619,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_154",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 620,
- "NORMAL" : 621,
- "TEXCOORD_0" : 622
- },
- "indices" : 623,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_155",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 624,
- "NORMAL" : 625,
- "TEXCOORD_0" : 626
- },
- "indices" : 627,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_156",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 628,
- "NORMAL" : 629,
- "TEXCOORD_0" : 630
- },
- "indices" : 631,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_157",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 632,
- "NORMAL" : 633,
- "TEXCOORD_0" : 634
- },
- "indices" : 635,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_158",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 636,
- "NORMAL" : 637,
- "TEXCOORD_0" : 638
- },
- "indices" : 639,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_159",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 640,
- "NORMAL" : 641,
- "TEXCOORD_0" : 642
- },
- "indices" : 643,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_160",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 644,
- "NORMAL" : 645,
- "TEXCOORD_0" : 646
- },
- "indices" : 647,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_172",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 648,
- "NORMAL" : 649,
- "TEXCOORD_0" : 650
- },
- "indices" : 651,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_162",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 652,
- "NORMAL" : 653,
- "TEXCOORD_0" : 654
- },
- "indices" : 655,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_163",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 656,
- "NORMAL" : 657,
- "TEXCOORD_0" : 658
- },
- "indices" : 659,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_164",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 660,
- "NORMAL" : 661,
- "TEXCOORD_0" : 662
- },
- "indices" : 663,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_165",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 664,
- "NORMAL" : 665,
- "TEXCOORD_0" : 666
- },
- "indices" : 667,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_166",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 668,
- "NORMAL" : 669,
- "TEXCOORD_0" : 670
- },
- "indices" : 671,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_167",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 672,
- "NORMAL" : 673,
- "TEXCOORD_0" : 674
- },
- "indices" : 675,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_168",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 676,
- "NORMAL" : 677,
- "TEXCOORD_0" : 678
- },
- "indices" : 679,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_169",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 680,
- "NORMAL" : 681,
- "TEXCOORD_0" : 682
- },
- "indices" : 683,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_170",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 684,
- "NORMAL" : 685,
- "TEXCOORD_0" : 686
- },
- "indices" : 687,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_171",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 688,
- "NORMAL" : 689,
- "TEXCOORD_0" : 690
- },
- "indices" : 691,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_183",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 692,
- "NORMAL" : 693,
- "TEXCOORD_0" : 694
- },
- "indices" : 695,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_173",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 696,
- "NORMAL" : 697,
- "TEXCOORD_0" : 698
- },
- "indices" : 699,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_174",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 700,
- "NORMAL" : 701,
- "TEXCOORD_0" : 702
- },
- "indices" : 703,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_175",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 704,
- "NORMAL" : 705,
- "TEXCOORD_0" : 706
- },
- "indices" : 707,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_176",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 708,
- "NORMAL" : 709,
- "TEXCOORD_0" : 710
- },
- "indices" : 711,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_177",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 712,
- "NORMAL" : 713,
- "TEXCOORD_0" : 714
- },
- "indices" : 715,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_178",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 716,
- "NORMAL" : 717,
- "TEXCOORD_0" : 718
- },
- "indices" : 719,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_179",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 720,
- "NORMAL" : 721,
- "TEXCOORD_0" : 722
- },
- "indices" : 723,
- "material" : 10
- }
- ]
- },
- {
- "name" : "Mesh_180",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 724,
- "NORMAL" : 725,
- "TEXCOORD_0" : 726
- },
- "indices" : 727,
- "material" : 11
- }
- ]
- },
- {
- "name" : "Mesh_181",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 728,
- "NORMAL" : 729,
- "TEXCOORD_0" : 730
- },
- "indices" : 731,
- "material" : 4
- }
- ]
- },
- {
- "name" : "Mesh_182",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 732,
- "NORMAL" : 733,
- "TEXCOORD_0" : 734
- },
- "indices" : 735,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_194",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 736,
- "NORMAL" : 737,
- "TEXCOORD_0" : 738
- },
- "indices" : 739,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_184",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 740,
- "NORMAL" : 741,
- "TEXCOORD_0" : 742
- },
- "indices" : 743,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_185",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 744,
- "NORMAL" : 745,
- "TEXCOORD_0" : 746
- },
- "indices" : 747,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_186",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 748,
- "NORMAL" : 749,
- "TEXCOORD_0" : 750
- },
- "indices" : 751,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_187",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 752,
- "NORMAL" : 753,
- "TEXCOORD_0" : 754
- },
- "indices" : 755,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_188",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 756,
- "NORMAL" : 757,
- "TEXCOORD_0" : 758
- },
- "indices" : 735,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_189",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 759,
- "NORMAL" : 760,
- "TEXCOORD_0" : 761
- },
- "indices" : 762,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_190",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 763,
- "NORMAL" : 764,
- "TEXCOORD_0" : 765
- },
- "indices" : 735,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_191",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 766,
- "NORMAL" : 767,
- "TEXCOORD_0" : 768
- },
- "indices" : 769,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_192",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 770,
- "NORMAL" : 771,
- "TEXCOORD_0" : 772
- },
- "indices" : 773,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_193",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 774,
- "NORMAL" : 775,
- "TEXCOORD_0" : 776
- },
- "indices" : 777,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_205",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 778,
- "NORMAL" : 779,
- "TEXCOORD_0" : 780
- },
- "indices" : 781,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_195",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 782,
- "NORMAL" : 783,
- "TEXCOORD_0" : 784
- },
- "indices" : 785,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_196",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 786,
- "NORMAL" : 787,
- "TEXCOORD_0" : 788
- },
- "indices" : 789,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_197",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 790,
- "NORMAL" : 791,
- "TEXCOORD_0" : 792
- },
- "indices" : 769,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_198",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 793,
- "NORMAL" : 794,
- "TEXCOORD_0" : 795
- },
- "indices" : 796,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_199",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 797,
- "NORMAL" : 798,
- "TEXCOORD_0" : 799
- },
- "indices" : 769,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_200",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 800,
- "NORMAL" : 801,
- "TEXCOORD_0" : 802
- },
- "indices" : 803,
- "material" : 0
- }
- ]
- },
- {
- "name" : "Mesh_201",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 804,
- "NORMAL" : 805,
- "TEXCOORD_0" : 806
- },
- "indices" : 807,
- "material" : 0
- }
- ]
- },
- {
- "name" : "Mesh_202",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 808,
- "NORMAL" : 809,
- "TEXCOORD_0" : 810
- },
- "indices" : 811,
- "material" : 0
- }
- ]
- },
- {
- "name" : "Mesh_203",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 812,
- "NORMAL" : 813,
- "TEXCOORD_0" : 814
- },
- "indices" : 815,
- "material" : 0
- }
- ]
- },
- {
- "name" : "Mesh_204",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 816,
- "NORMAL" : 817,
- "TEXCOORD_0" : 818
- },
- "indices" : 819,
- "material" : 0
- }
- ]
- },
- {
- "name" : "Mesh_216",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 820,
- "NORMAL" : 821,
- "TEXCOORD_0" : 822
- },
- "indices" : 823,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_206",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 824,
- "NORMAL" : 825,
- "TEXCOORD_0" : 826
- },
- "indices" : 827,
- "material" : 0
- }
- ]
- },
- {
- "name" : "Mesh_207",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 828,
- "NORMAL" : 829,
- "TEXCOORD_0" : 830
- },
- "indices" : 831,
- "material" : 0
- }
- ]
- },
- {
- "name" : "Mesh_208",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 832,
- "NORMAL" : 833,
- "TEXCOORD_0" : 834
- },
- "indices" : 835,
- "material" : 13
- }
- ]
- },
- {
- "name" : "Mesh_209",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 836,
- "NORMAL" : 837,
- "TEXCOORD_0" : 838
- },
- "indices" : 839,
- "material" : 14
- }
- ]
- },
- {
- "name" : "Mesh_210",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 840,
- "NORMAL" : 841,
- "TEXCOORD_0" : 842
- },
- "indices" : 843,
- "material" : 15
- }
- ]
- },
- {
- "name" : "Mesh_211",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 844,
- "NORMAL" : 845,
- "TEXCOORD_0" : 846
- },
- "indices" : 847,
- "material" : 13
- }
- ]
- },
- {
- "name" : "Mesh_212",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 848,
- "NORMAL" : 849,
- "TEXCOORD_0" : 850
- },
- "indices" : 851,
- "material" : 14
- }
- ]
- },
- {
- "name" : "Mesh_213",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 852,
- "NORMAL" : 853,
- "TEXCOORD_0" : 854
- },
- "indices" : 855,
- "material" : 13
- }
- ]
- },
- {
- "name" : "Mesh_214",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 856,
- "NORMAL" : 857,
- "TEXCOORD_0" : 858
- },
- "indices" : 859,
- "material" : 15
- }
- ]
- },
- {
- "name" : "Mesh_215",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 860,
- "NORMAL" : 861,
- "TEXCOORD_0" : 862
- },
- "indices" : 863,
- "material" : 14
- }
- ]
- },
- {
- "name" : "Mesh_227",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 864,
- "NORMAL" : 865,
- "TEXCOORD_0" : 866
- },
- "indices" : 867,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_217",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 868,
- "NORMAL" : 869,
- "TEXCOORD_0" : 870
- },
- "indices" : 871,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_218",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 872,
- "NORMAL" : 873,
- "TEXCOORD_0" : 874
- },
- "indices" : 875,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_219",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 876,
- "NORMAL" : 877,
- "TEXCOORD_0" : 878
- },
- "indices" : 879,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_220",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 880,
- "NORMAL" : 881,
- "TEXCOORD_0" : 882
- },
- "indices" : 883,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_221",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 884,
- "NORMAL" : 885,
- "TEXCOORD_0" : 886
- },
- "indices" : 875,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_222",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 887,
- "NORMAL" : 888,
- "TEXCOORD_0" : 889
- },
- "indices" : 890,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_223",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 891,
- "NORMAL" : 892,
- "TEXCOORD_0" : 893
- },
- "indices" : 894,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_224",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 895,
- "NORMAL" : 896,
- "TEXCOORD_0" : 897
- },
- "indices" : 898,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_225",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 899,
- "NORMAL" : 900,
- "TEXCOORD_0" : 901
- },
- "indices" : 879,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_226",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 902,
- "NORMAL" : 903,
- "TEXCOORD_0" : 904
- },
- "indices" : 905,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_238",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 906,
- "NORMAL" : 907,
- "TEXCOORD_0" : 908
- },
- "indices" : 909,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_228",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 910,
- "NORMAL" : 911,
- "TEXCOORD_0" : 912
- },
- "indices" : 875,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_229",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 913,
- "NORMAL" : 914,
- "TEXCOORD_0" : 915
- },
- "indices" : 879,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_230",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 916,
- "NORMAL" : 917,
- "TEXCOORD_0" : 918
- },
- "indices" : 919,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_231",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 920,
- "NORMAL" : 921,
- "TEXCOORD_0" : 922
- },
- "indices" : 875,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_232",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 923,
- "NORMAL" : 924,
- "TEXCOORD_0" : 925
- },
- "indices" : 879,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_233",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 926,
- "NORMAL" : 927,
- "TEXCOORD_0" : 928
- },
- "indices" : 871,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_234",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 929,
- "NORMAL" : 930,
- "TEXCOORD_0" : 931
- },
- "indices" : 875,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_235",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 932,
- "NORMAL" : 933,
- "TEXCOORD_0" : 934
- },
- "indices" : 879,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_236",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 935,
- "NORMAL" : 936,
- "TEXCOORD_0" : 937
- },
- "indices" : 919,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_237",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 938,
- "NORMAL" : 939,
- "TEXCOORD_0" : 940
- },
- "indices" : 875,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_249",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 941,
- "NORMAL" : 942,
- "TEXCOORD_0" : 943
- },
- "indices" : 944,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_239",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 945,
- "NORMAL" : 946,
- "TEXCOORD_0" : 947
- },
- "indices" : 879,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_240",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 948,
- "NORMAL" : 949,
- "TEXCOORD_0" : 950
- },
- "indices" : 883,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_241",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 951,
- "NORMAL" : 952,
- "TEXCOORD_0" : 953
- },
- "indices" : 875,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_242",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 954,
- "NORMAL" : 955,
- "TEXCOORD_0" : 956
- },
- "indices" : 890,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_243",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 957,
- "NORMAL" : 958,
- "TEXCOORD_0" : 959
- },
- "indices" : 894,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_244",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 960,
- "NORMAL" : 961,
- "TEXCOORD_0" : 962
- },
- "indices" : 898,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_245",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 963,
- "NORMAL" : 964,
- "TEXCOORD_0" : 965
- },
- "indices" : 879,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_246",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 966,
- "NORMAL" : 967,
- "TEXCOORD_0" : 968
- },
- "indices" : 905,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_247",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 969,
- "NORMAL" : 970,
- "TEXCOORD_0" : 971
- },
- "indices" : 875,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_248",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 972,
- "NORMAL" : 973,
- "TEXCOORD_0" : 974
- },
- "indices" : 879,
- "material" : 12
- }
- ]
- },
- {
- "name" : "Mesh_260",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 975,
- "NORMAL" : 976,
- "TEXCOORD_0" : 977
- },
- "indices" : 978,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_250",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 979,
- "NORMAL" : 980,
- "TEXCOORD_0" : 981
- },
- "indices" : 982,
- "material" : 16
- }
- ]
- },
- {
- "name" : "Mesh_251",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 983,
- "NORMAL" : 984,
- "TEXCOORD_0" : 985
- },
- "indices" : 986,
- "material" : 17
- }
- ]
- },
- {
- "name" : "Mesh_252",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 987,
- "NORMAL" : 988,
- "TEXCOORD_0" : 989
- },
- "indices" : 990,
- "material" : 18
- }
- ]
- },
- {
- "name" : "Mesh_253",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 991,
- "NORMAL" : 992,
- "TEXCOORD_0" : 993
- },
- "indices" : 994,
- "material" : 17
- }
- ]
- },
- {
- "name" : "Mesh_254",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 995,
- "NORMAL" : 996,
- "TEXCOORD_0" : 997
- },
- "indices" : 986,
- "material" : 18
- }
- ]
- },
- {
- "name" : "Mesh_255",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 998,
- "NORMAL" : 999,
- "TEXCOORD_0" : 1000
- },
- "indices" : 1001,
- "material" : 17
- }
- ]
- },
- {
- "name" : "Mesh_256",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1002,
- "NORMAL" : 1003,
- "TEXCOORD_0" : 1004
- },
- "indices" : 986,
- "material" : 16
- }
- ]
- },
- {
- "name" : "Mesh_257",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1005,
- "NORMAL" : 1006,
- "TEXCOORD_0" : 1007
- },
- "indices" : 1001,
- "material" : 18
- }
- ]
- },
- {
- "name" : "Mesh_258",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1008,
- "NORMAL" : 1009,
- "TEXCOORD_0" : 1010
- },
- "indices" : 986,
- "material" : 17
- }
- ]
- },
- {
- "name" : "Mesh_259",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1011,
- "NORMAL" : 1012,
- "TEXCOORD_0" : 1013
- },
- "indices" : 1014,
- "material" : 16
- }
- ]
- },
- {
- "name" : "Mesh_271",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1015,
- "NORMAL" : 1016,
- "TEXCOORD_0" : 1017
- },
- "indices" : 1018,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_261",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1019,
- "NORMAL" : 1020,
- "TEXCOORD_0" : 1021
- },
- "indices" : 1022,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_262",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1023,
- "NORMAL" : 1024,
- "TEXCOORD_0" : 1025
- },
- "indices" : 1026,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_263",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1027,
- "NORMAL" : 1028,
- "TEXCOORD_0" : 1029
- },
- "indices" : 1030,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_264",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1031,
- "NORMAL" : 1032,
- "TEXCOORD_0" : 1033
- },
- "indices" : 1026,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_265",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1034,
- "NORMAL" : 1035,
- "TEXCOORD_0" : 1036
- },
- "indices" : 1037,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_266",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1038,
- "NORMAL" : 1039,
- "TEXCOORD_0" : 1040
- },
- "indices" : 1041,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_267",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1042,
- "NORMAL" : 1043,
- "TEXCOORD_0" : 1044
- },
- "indices" : 1045,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_268",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1046,
- "NORMAL" : 1047,
- "TEXCOORD_0" : 1048
- },
- "indices" : 1049,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_269",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1050,
- "NORMAL" : 1051,
- "TEXCOORD_0" : 1052
- },
- "indices" : 1053,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_270",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1054,
- "NORMAL" : 1055,
- "TEXCOORD_0" : 1056
- },
- "indices" : 1022,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_282",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1057,
- "NORMAL" : 1058,
- "TEXCOORD_0" : 1059
- },
- "indices" : 1060,
- "material" : 4
- }
- ]
- },
- {
- "name" : "Mesh_272",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1061,
- "NORMAL" : 1062,
- "TEXCOORD_0" : 1063
- },
- "indices" : 1064,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_273",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1065,
- "NORMAL" : 1066,
- "TEXCOORD_0" : 1067
- },
- "indices" : 1068,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_274",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1069,
- "NORMAL" : 1070,
- "TEXCOORD_0" : 1071
- },
- "indices" : 1026,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_275",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1072,
- "NORMAL" : 1073,
- "TEXCOORD_0" : 1074
- },
- "indices" : 1037,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_276",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1075,
- "NORMAL" : 1076,
- "TEXCOORD_0" : 1077
- },
- "indices" : 1041,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_277",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1078,
- "NORMAL" : 1079,
- "TEXCOORD_0" : 1080
- },
- "indices" : 1081,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_278",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1082,
- "NORMAL" : 1083,
- "TEXCOORD_0" : 1084
- },
- "indices" : 1085,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_279",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1086,
- "NORMAL" : 1087,
- "TEXCOORD_0" : 1088
- },
- "indices" : 1053,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_280",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1089,
- "NORMAL" : 1090,
- "TEXCOORD_0" : 1091
- },
- "indices" : 1092,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_281",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1093,
- "NORMAL" : 1094,
- "TEXCOORD_0" : 1095
- },
- "indices" : 1096,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_293",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1097,
- "NORMAL" : 1098,
- "TEXCOORD_0" : 1099
- },
- "indices" : 1100,
- "material" : 6
- }
- ]
- },
- {
- "name" : "Mesh_283",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1101,
- "NORMAL" : 1102,
- "TEXCOORD_0" : 1103
- },
- "indices" : 1104,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_284",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1105,
- "NORMAL" : 1106,
- "TEXCOORD_0" : 1107
- },
- "indices" : 1096,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_285",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1108,
- "NORMAL" : 1109,
- "TEXCOORD_0" : 1110
- },
- "indices" : 1111,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_286",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1112,
- "NORMAL" : 1113,
- "TEXCOORD_0" : 1114
- },
- "indices" : 1115,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_287",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1116,
- "NORMAL" : 1117,
- "TEXCOORD_0" : 1118
- },
- "indices" : 1119,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_288",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1120,
- "NORMAL" : 1121,
- "TEXCOORD_0" : 1122
- },
- "indices" : 1123,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_289",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1124,
- "NORMAL" : 1125,
- "TEXCOORD_0" : 1126
- },
- "indices" : 1127,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_290",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1128,
- "NORMAL" : 1129,
- "TEXCOORD_0" : 1130
- },
- "indices" : 1092,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_291",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1131,
- "NORMAL" : 1132,
- "TEXCOORD_0" : 1133
- },
- "indices" : 1134,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_292",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1135,
- "NORMAL" : 1136,
- "TEXCOORD_0" : 1137
- },
- "indices" : 1104,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_304",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1138,
- "NORMAL" : 1139,
- "TEXCOORD_0" : 1140
- },
- "indices" : 1141,
- "material" : 4
- }
- ]
- },
- {
- "name" : "Mesh_294",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1142,
- "NORMAL" : 1143,
- "TEXCOORD_0" : 1144
- },
- "indices" : 1096,
- "material" : 19
- }
- ]
- },
- {
- "name" : "Mesh_295",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1145,
- "NORMAL" : 1146,
- "TEXCOORD_0" : 1147
- },
- "indices" : 1111,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_296",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1148,
- "NORMAL" : 1149,
- "TEXCOORD_0" : 1150
- },
- "indices" : 1151,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_297",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1152,
- "NORMAL" : 1153,
- "TEXCOORD_0" : 1154
- },
- "indices" : 1085,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_298",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1155,
- "NORMAL" : 1156,
- "TEXCOORD_0" : 1157
- },
- "indices" : 1081,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_299",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1158,
- "NORMAL" : 1159,
- "TEXCOORD_0" : 1160
- },
- "indices" : 1127,
- "material" : 20
- }
- ]
- },
- {
- "name" : "Mesh_300",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1161,
- "NORMAL" : 1162,
- "TEXCOORD_0" : 1163
- },
- "indices" : 1164,
- "material" : 1
- },
- {
- "attributes" : {
- "POSITION" : 1165,
- "NORMAL" : 1166,
- "TEXCOORD_0" : 1167
- },
- "indices" : 1168,
- "material" : 2
- }
- ]
- },
- {
- "name" : "Mesh_301",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1169,
- "NORMAL" : 1170,
- "TEXCOORD_0" : 1171
- },
- "indices" : 1164,
- "material" : 1
- },
- {
- "attributes" : {
- "POSITION" : 1172,
- "NORMAL" : 1173,
- "TEXCOORD_0" : 1174
- },
- "indices" : 1168,
- "material" : 2
- }
- ]
- },
- {
- "name" : "Mesh_302",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1175,
- "NORMAL" : 1176,
- "TEXCOORD_0" : 1177
- },
- "indices" : 7,
- "material" : 1
- },
- {
- "attributes" : {
- "POSITION" : 1178,
- "NORMAL" : 1179,
- "TEXCOORD_0" : 1180
- },
- "indices" : 11,
- "material" : 2
- }
- ]
- },
- {
- "name" : "Mesh_303",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1181,
- "NORMAL" : 1182,
- "TEXCOORD_0" : 1183
- },
- "indices" : 1184,
- "material" : 1
- },
- {
- "attributes" : {
- "POSITION" : 1185,
- "NORMAL" : 1186,
- "TEXCOORD_0" : 1187
- },
- "indices" : 1188,
- "material" : 2
- }
- ]
- },
- {
- "name" : "Mesh_315",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1189,
- "NORMAL" : 1190,
- "TEXCOORD_0" : 1191
- },
- "indices" : 1192,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_305",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1193,
- "NORMAL" : 1194,
- "TEXCOORD_0" : 1195
- },
- "indices" : 1184,
- "material" : 1
- },
- {
- "attributes" : {
- "POSITION" : 1196,
- "NORMAL" : 1197,
- "TEXCOORD_0" : 1198
- },
- "indices" : 1199,
- "material" : 2
- }
- ]
- },
- {
- "name" : "Mesh_306",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1200,
- "NORMAL" : 1201,
- "TEXCOORD_0" : 1202
- },
- "indices" : 1184,
- "material" : 1
- },
- {
- "attributes" : {
- "POSITION" : 1203,
- "NORMAL" : 1204,
- "TEXCOORD_0" : 1205
- },
- "indices" : 1199,
- "material" : 2
- }
- ]
- },
- {
- "name" : "Mesh_307",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1206,
- "NORMAL" : 1207,
- "TEXCOORD_0" : 1208
- },
- "indices" : 1184,
- "material" : 1
- },
- {
- "attributes" : {
- "POSITION" : 1209,
- "NORMAL" : 1210,
- "TEXCOORD_0" : 1211
- },
- "indices" : 1188,
- "material" : 2
- }
- ]
- },
- {
- "name" : "Mesh_308",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1212,
- "NORMAL" : 1213,
- "TEXCOORD_0" : 1214
- },
- "indices" : 1215,
- "material" : 21
- }
- ]
- },
- {
- "name" : "Mesh_309",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1216,
- "NORMAL" : 1217,
- "TEXCOORD_0" : 1218
- },
- "indices" : 1219,
- "material" : 21
- }
- ]
- },
- {
- "name" : "Mesh_310",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1220,
- "NORMAL" : 1221,
- "TEXCOORD_0" : 1222
- },
- "indices" : 1223,
- "material" : 21
- }
- ]
- },
- {
- "name" : "Mesh_311",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1224,
- "NORMAL" : 1225,
- "TEXCOORD_0" : 1226
- },
- "indices" : 1227,
- "material" : 21
- }
- ]
- },
- {
- "name" : "Mesh_312",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1228,
- "NORMAL" : 1229,
- "TEXCOORD_0" : 1230
- },
- "indices" : 1231,
- "material" : 3
- },
- {
- "attributes" : {
- "POSITION" : 1232,
- "NORMAL" : 1233,
- "TEXCOORD_0" : 1234
- },
- "indices" : 1235,
- "material" : 22
- }
- ]
- },
- {
- "name" : "Mesh_313",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1236,
- "NORMAL" : 1237,
- "TEXCOORD_0" : 1238
- },
- "indices" : 1239,
- "material" : 3
- },
- {
- "attributes" : {
- "POSITION" : 1240,
- "NORMAL" : 1241,
- "TEXCOORD_0" : 1242
- },
- "indices" : 1243,
- "material" : 22
- }
- ]
- },
- {
- "name" : "Mesh_314",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1244,
- "NORMAL" : 1245,
- "TEXCOORD_0" : 1246
- },
- "indices" : 1247,
- "material" : 4
- }
- ]
- },
- {
- "name" : "Mesh_319",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1248,
- "NORMAL" : 1249,
- "TEXCOORD_0" : 1250
- },
- "indices" : 1251,
- "material" : 6
- }
- ]
- },
- {
- "name" : "Mesh_316",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1252,
- "NORMAL" : 1253,
- "TEXCOORD_0" : 1254
- },
- "indices" : 1255,
- "material" : 23
- }
- ]
- },
- {
- "name" : "Mesh_317",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1256,
- "NORMAL" : 1257,
- "TEXCOORD_0" : 1258
- },
- "indices" : 1259,
- "material" : 23
- }
- ]
- },
- {
- "name" : "Mesh_318",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1260,
- "NORMAL" : 1261,
- "TEXCOORD_0" : 1262
- },
- "indices" : 1263,
- "material" : 4
- }
- ]
- },
- {
- "name" : "Mesh_320",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1264,
- "NORMAL" : 1265,
- "TEXCOORD_0" : 1266
- },
- "indices" : 1267,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_321",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1268,
- "NORMAL" : 1269,
- "TEXCOORD_0" : 1270
- },
- "indices" : 1271,
- "material" : 6
- }
- ]
- },
- {
- "name" : "Mesh_322",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1272,
- "NORMAL" : 1273,
- "TEXCOORD_0" : 1274
- },
- "indices" : 1275,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_323",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1276,
- "NORMAL" : 1277,
- "TEXCOORD_0" : 1278
- },
- "indices" : 1279,
- "material" : 6
- }
- ]
- },
- {
- "name" : "Mesh_324",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1280,
- "NORMAL" : 1281,
- "TEXCOORD_0" : 1282
- },
- "indices" : 1192,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_325",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1283,
- "NORMAL" : 1284,
- "TEXCOORD_0" : 1285
- },
- "indices" : 1286,
- "material" : 6
- }
- ]
- },
- {
- "name" : "Mesh_326",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1287,
- "NORMAL" : 1288,
- "TEXCOORD_0" : 1289
- },
- "indices" : 1290,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_327",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1291,
- "NORMAL" : 1292,
- "TEXCOORD_0" : 1293
- },
- "indices" : 1294,
- "material" : 6
- }
- ]
- },
- {
- "name" : "Mesh_328",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1295,
- "NORMAL" : 1296,
- "TEXCOORD_0" : 1297
- },
- "indices" : 1298,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_329",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1299,
- "NORMAL" : 1300,
- "TEXCOORD_0" : 1301
- },
- "indices" : 1302,
- "material" : 6
- }
- ]
- },
- {
- "name" : "Mesh_330",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1303,
- "NORMAL" : 1304,
- "TEXCOORD_0" : 1305
- },
- "indices" : 1298,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_331",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1306,
- "NORMAL" : 1307,
- "TEXCOORD_0" : 1308
- },
- "indices" : 1309,
- "material" : 6
- }
- ]
- },
- {
- "name" : "Mesh_332",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1310,
- "NORMAL" : 1311,
- "TEXCOORD_0" : 1312
- },
- "indices" : 1298,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_333",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1313,
- "NORMAL" : 1314,
- "TEXCOORD_0" : 1315
- },
- "indices" : 1316,
- "material" : 6
- }
- ]
- },
- {
- "name" : "Mesh_334",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1317,
- "NORMAL" : 1318,
- "TEXCOORD_0" : 1319
- },
- "indices" : 1298,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_335",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1320,
- "NORMAL" : 1321,
- "TEXCOORD_0" : 1322
- },
- "indices" : 1323,
- "material" : 6
- }
- ]
- },
- {
- "name" : "Mesh_336",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1324,
- "NORMAL" : 1325,
- "TEXCOORD_0" : 1326
- },
- "indices" : 1327,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_337",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1328,
- "NORMAL" : 1329,
- "TEXCOORD_0" : 1330
- },
- "indices" : 1331,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_338",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1332,
- "NORMAL" : 1333,
- "TEXCOORD_0" : 1334
- },
- "indices" : 1335,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_339",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1336,
- "NORMAL" : 1337,
- "TEXCOORD_0" : 1338
- },
- "indices" : 1339,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_340",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1340,
- "NORMAL" : 1341,
- "TEXCOORD_0" : 1342
- },
- "indices" : 1343,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_341",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1344,
- "NORMAL" : 1345,
- "TEXCOORD_0" : 1346
- },
- "indices" : 1347,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_342",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1348,
- "NORMAL" : 1349,
- "TEXCOORD_0" : 1350
- },
- "indices" : 1351,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_343",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1352,
- "NORMAL" : 1353,
- "TEXCOORD_0" : 1354
- },
- "indices" : 1355,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_344",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1356,
- "NORMAL" : 1357,
- "TEXCOORD_0" : 1358
- },
- "indices" : 1359,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_345",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1360,
- "NORMAL" : 1361,
- "TEXCOORD_0" : 1362
- },
- "indices" : 1363,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_346",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1364,
- "NORMAL" : 1365,
- "TEXCOORD_0" : 1366
- },
- "indices" : 1367,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_347",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1368,
- "NORMAL" : 1369,
- "TEXCOORD_0" : 1370
- },
- "indices" : 1371,
- "material" : 4
- }
- ]
- },
- {
- "name" : "Mesh_348",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1372,
- "NORMAL" : 1373,
- "TEXCOORD_0" : 1374
- },
- "indices" : 1375,
- "material" : 5
- }
- ]
- },
- {
- "name" : "Mesh_349",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1376,
- "NORMAL" : 1377,
- "TEXCOORD_0" : 1378
- },
- "indices" : 1379,
- "material" : 4
- }
- ]
- },
- {
- "name" : "Mesh_350",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1380,
- "NORMAL" : 1381,
- "TEXCOORD_0" : 1382
- },
- "indices" : 1383,
- "material" : 4
- }
- ]
- },
- {
- "name" : "Mesh_351",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1384,
- "NORMAL" : 1385,
- "TEXCOORD_0" : 1386
- },
- "indices" : 1387,
- "material" : 24
- }
- ]
- },
- {
- "name" : "Mesh_352",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1388,
- "NORMAL" : 1389,
- "TEXCOORD_0" : 1390
- },
- "indices" : 1391,
- "material" : 4
- },
- {
- "attributes" : {
- "POSITION" : 1392,
- "NORMAL" : 1393,
- "TEXCOORD_0" : 1394
- },
- "indices" : 1395,
- "material" : 24
- }
- ]
- },
- {
- "name" : "Mesh_353",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1396,
- "NORMAL" : 1397,
- "TEXCOORD_0" : 1398
- },
- "indices" : 1399,
- "material" : 4
- },
- {
- "attributes" : {
- "POSITION" : 1400,
- "NORMAL" : 1401,
- "TEXCOORD_0" : 1402
- },
- "indices" : 1403,
- "material" : 24
- }
- ]
- },
- {
- "name" : "Mesh_354",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1404,
- "NORMAL" : 1405,
- "TEXCOORD_0" : 1406
- },
- "indices" : 1407,
- "material" : 24
- }
- ]
- },
- {
- "name" : "Mesh_355",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1408,
- "NORMAL" : 1409,
- "TEXCOORD_0" : 1410
- },
- "indices" : 1411,
- "material" : 24
- }
- ]
- },
- {
- "name" : "Mesh_356",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1412,
- "NORMAL" : 1413,
- "TEXCOORD_0" : 1414
- },
- "indices" : 1415,
- "material" : 4
- }
- ]
- },
- {
- "name" : "Mesh_357",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1416,
- "NORMAL" : 1417,
- "TEXCOORD_0" : 1418
- },
- "indices" : 1419,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_358",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1420,
- "NORMAL" : 1421,
- "TEXCOORD_0" : 1422
- },
- "indices" : 1423,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_359",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1424,
- "NORMAL" : 1425,
- "TEXCOORD_0" : 1426
- },
- "indices" : 1427,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_360",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1428,
- "NORMAL" : 1429,
- "TEXCOORD_0" : 1430
- },
- "indices" : 1431,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_361",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1432,
- "NORMAL" : 1433,
- "TEXCOORD_0" : 1434
- },
- "indices" : 43,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_362",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1435,
- "NORMAL" : 1436,
- "TEXCOORD_0" : 1437
- },
- "indices" : 1438,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_363",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1439,
- "NORMAL" : 1440,
- "TEXCOORD_0" : 1441
- },
- "indices" : 1442,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_364",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1443,
- "NORMAL" : 1444,
- "TEXCOORD_0" : 1445
- },
- "indices" : 1446,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_365",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1447,
- "NORMAL" : 1448,
- "TEXCOORD_0" : 1449
- },
- "indices" : 1450,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_366",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1451,
- "NORMAL" : 1452,
- "TEXCOORD_0" : 1453
- },
- "indices" : 1454,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_367",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1455,
- "NORMAL" : 1456,
- "TEXCOORD_0" : 1457
- },
- "indices" : 1458,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_368",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1459,
- "NORMAL" : 1460,
- "TEXCOORD_0" : 1461
- },
- "indices" : 1462,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_369",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1463,
- "NORMAL" : 1464,
- "TEXCOORD_0" : 1465
- },
- "indices" : 1466,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_370",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1467,
- "NORMAL" : 1468,
- "TEXCOORD_0" : 1469
- },
- "indices" : 1470,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_371",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1471,
- "NORMAL" : 1472,
- "TEXCOORD_0" : 1473
- },
- "indices" : 1474,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_372",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1475,
- "NORMAL" : 1476,
- "TEXCOORD_0" : 1477
- },
- "indices" : 1478,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_373",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1479,
- "NORMAL" : 1480,
- "TEXCOORD_0" : 1481
- },
- "indices" : 1482,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_374",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1483,
- "NORMAL" : 1484,
- "TEXCOORD_0" : 1485
- },
- "indices" : 1486,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_375",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1487,
- "NORMAL" : 1488,
- "TEXCOORD_0" : 1489
- },
- "indices" : 1490,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_376",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1491,
- "NORMAL" : 1492,
- "TEXCOORD_0" : 1493
- },
- "indices" : 1494,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_377",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1495,
- "NORMAL" : 1496,
- "TEXCOORD_0" : 1497
- },
- "indices" : 1498,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_378",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1499,
- "NORMAL" : 1500,
- "TEXCOORD_0" : 1501
- },
- "indices" : 1502,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_379",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1503,
- "NORMAL" : 1504,
- "TEXCOORD_0" : 1505
- },
- "indices" : 1506,
- "material" : 8
- }
- ]
- },
- {
- "name" : "Mesh_380",
- "primitives" : [
- {
- "attributes" : {
- "POSITION" : 1507,
- "NORMAL" : 1508,
- "TEXCOORD_0" : 1509
- },
- "indices" : 1510,
- "material" : 8
- }
- ]
- }
- ],
- "textures" : [
- {
- "sampler" : 0,
- "source" : 0
- },
- {
- "sampler" : 0,
- "source" : 1
- },
- {
- "sampler" : 0,
- "source" : 2
- },
- {
- "sampler" : 0,
- "source" : 3
- },
- {
- "sampler" : 0,
- "source" : 4
- },
- {
- "sampler" : 0,
- "source" : 5
- },
- {
- "sampler" : 0,
- "source" : 6
- },
- {
- "sampler" : 0,
- "source" : 7
- },
- {
- "sampler" : 0,
- "source" : 8
- },
- {
- "sampler" : 0,
- "source" : 9
- },
- {
- "sampler" : 0,
- "source" : 10
- },
- {
- "sampler" : 0,
- "source" : 11
- },
- {
- "sampler" : 0,
- "source" : 12
- },
- {
- "sampler" : 0,
- "source" : 13
- },
- {
- "sampler" : 0,
- "source" : 14
- },
- {
- "sampler" : 0,
- "source" : 15
- },
- {
- "sampler" : 0,
- "source" : 16
- },
- {
- "sampler" : 0,
- "source" : 17
- },
- {
- "sampler" : 0,
- "source" : 18
- },
- {
- "sampler" : 0,
- "source" : 19
- },
- {
- "sampler" : 0,
- "source" : 20
- },
- {
- "sampler" : 0,
- "source" : 21
- },
- {
- "sampler" : 0,
- "source" : 22
- },
- {
- "sampler" : 0,
- "source" : 23
- },
- {
- "sampler" : 0,
- "source" : 24
- },
- {
- "sampler" : 0,
- "source" : 25
- },
- {
- "sampler" : 0,
- "source" : 26
- },
- {
- "sampler" : 0,
- "source" : 27
- },
- {
- "sampler" : 0,
- "source" : 28
- },
- {
- "sampler" : 0,
- "source" : 29
- },
- {
- "sampler" : 0,
- "source" : 30
- },
- {
- "sampler" : 0,
- "source" : 31
- },
- {
- "sampler" : 0,
- "source" : 32
- },
- {
- "sampler" : 0,
- "source" : 33
- },
- {
- "sampler" : 0,
- "source" : 34
- },
- {
- "sampler" : 0,
- "source" : 35
- },
- {
- "sampler" : 0,
- "source" : 36
- },
- {
- "sampler" : 0,
- "source" : 37
- },
- {
- "sampler" : 0,
- "source" : 38
- },
- {
- "sampler" : 0,
- "source" : 36
- },
- {
- "sampler" : 0,
- "source" : 39
- },
- {
- "sampler" : 0,
- "source" : 38
- },
- {
- "sampler" : 0,
- "source" : 36
- },
- {
- "sampler" : 0,
- "source" : 40
- },
- {
- "sampler" : 0,
- "source" : 38
- },
- {
- "sampler" : 0,
- "source" : 41
- },
- {
- "sampler" : 0,
- "source" : 42
- },
- {
- "sampler" : 0,
- "source" : 43
- },
- {
- "sampler" : 0,
- "source" : 41
- },
- {
- "sampler" : 0,
- "source" : 44
- },
- {
- "sampler" : 0,
- "source" : 43
- },
- {
- "sampler" : 0,
- "source" : 41
- },
- {
- "sampler" : 0,
- "source" : 45
- },
- {
- "sampler" : 0,
- "source" : 43
- },
- {
- "sampler" : 0,
- "source" : 46
- },
- {
- "sampler" : 0,
- "source" : 47
- },
- {
- "sampler" : 0,
- "source" : 48
- },
- {
- "sampler" : 0,
- "source" : 49
- },
- {
- "sampler" : 0,
- "source" : 50
- },
- {
- "sampler" : 0,
- "source" : 51
- },
- {
- "sampler" : 0,
- "source" : 52
- },
- {
- "sampler" : 0,
- "source" : 53
- },
- {
- "sampler" : 0,
- "source" : 54
- },
- {
- "sampler" : 0,
- "source" : 55
- },
- {
- "sampler" : 0,
- "source" : 56
- },
- {
- "sampler" : 0,
- "source" : 57
- },
- {
- "sampler" : 0,
- "source" : 58
- },
- {
- "sampler" : 0,
- "source" : 59
- },
- {
- "sampler" : 0,
- "source" : 60
- },
- {
- "sampler" : 0,
- "source" : 61
- },
- {
- "sampler" : 0,
- "source" : 62
- },
- {
- "sampler" : 0,
- "source" : 63
- }
- ],
- "images" : [
- {
- "mimeType" : "image/png",
- "name" : "sponza_thorn_normal",
- "uri" : "sponza_thorn_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_thorn_basecolor",
- "uri" : "sponza_thorn_basecolor.png"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_thorn_metallicroughness",
- "uri" : "sponza_thorn_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "vase_plant_normal",
- "uri" : "vase_plant_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "vase_plant_basecolor",
- "uri" : "vase_plant_basecolor.png"
- },
- {
- "mimeType" : "image/png",
- "name" : "vase_plant_metallicroughness",
- "uri" : "vase_plant_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "vase_round_normal",
- "uri" : "vase_round_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "vase_round_basecolor",
- "uri" : "vase_round_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "vase_round_metallicroughness",
- "uri" : "vase_round_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "background_normal",
- "uri" : "background_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "background_basecolor",
- "uri" : "background_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "background_metallicroughness",
- "uri" : "background_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_bricks_a_normal",
- "uri" : "sponza_bricks_a_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_bricks_a_basecolor",
- "uri" : "sponza_bricks_a_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_bricks_a_metallicroughness",
- "uri" : "sponza_bricks_a_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_arch_normal",
- "uri" : "sponza_arch_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_arch_basecolor",
- "uri" : "sponza_arch_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_arch_metallicroughness",
- "uri" : "sponza_arch_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_ceiling_a_normal",
- "uri" : "sponza_ceiling_a_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_ceiling_a_basecolor",
- "uri" : "sponza_ceiling_a_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_ceiling_a_metallicroughness",
- "uri" : "sponza_ceiling_a_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_column_a_normal",
- "uri" : "sponza_column_a_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_column_a_basecolor",
- "uri" : "sponza_column_a_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_column_a_metallicroughness",
- "uri" : "sponza_column_a_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_column_c_normal",
- "uri" : "sponza_column_c_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_column_c_basecolor",
- "uri" : "sponza_column_c_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_column_c_metallicroughness",
- "uri" : "sponza_column_c_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_floor_a_normal",
- "uri" : "sponza_floor_a_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_floor_a_basecolor",
- "uri" : "sponza_floor_a_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_floor_a_metallicroughness",
- "uri" : "sponza_floor_a_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_column_b_normal",
- "uri" : "sponza_column_b_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_column_b_basecolor",
- "uri" : "sponza_column_b_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_column_b_metallicroughness",
- "uri" : "sponza_column_b_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_flagpole_normal",
- "uri" : "sponza_flagpole_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_flagpole_basecolor",
- "uri" : "sponza_flagpole_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_flagpole_metallicroughness",
- "uri" : "sponza_flagpole_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_fabric_normal",
- "uri" : "sponza_fabric_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_fabric_green_basecolor",
- "uri" : "sponza_fabric_green_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_fabric_metallicroughness",
- "uri" : "sponza_fabric_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_fabric_blue_basecolor",
- "uri" : "sponza_fabric_blue_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_fabric_basecolor",
- "uri" : "sponza_fabric_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_curtain_normal",
- "uri" : "sponza_curtain_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_curtain_blue_basecolor",
- "uri" : "sponza_curtain_blue_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_curtain_metallicroughness",
- "uri" : "sponza_curtain_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_curtain_basecolor",
- "uri" : "sponza_curtain_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_curtain_green_basecolor",
- "uri" : "sponza_curtain_green_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "chain_texture_normal",
- "uri" : "chain_texture_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "chain_texture_basecolor",
- "uri" : "chain_texture_basecolor.png"
- },
- {
- "mimeType" : "image/png",
- "name" : "chain_texture_metallicroughness",
- "uri" : "chain_texture_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "vase_hanging_normal",
- "uri" : "vase_hanging_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "vase_hanging_basecolor",
- "uri" : "vase_hanging_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "vase_hanging_metallicroughness",
- "uri" : "vase_hanging_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "vase_normal",
- "uri" : "vase_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "vase_basecolor",
- "uri" : "vase_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "vase_metallicroughness",
- "uri" : "vase_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "lion_normal",
- "uri" : "lion_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "lion_basecolor",
- "uri" : "lion_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "lion_metallicroughness",
- "uri" : "lion_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_roof_normal",
- "uri" : "sponza_roof_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_roof_basecolor",
- "uri" : "sponza_roof_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_roof_metallicroughness",
- "uri" : "sponza_roof_metallicroughness.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_details_normal",
- "uri" : "sponza_details_normal.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_details_basecolor",
- "uri" : "sponza_details_basecolor.jpg"
- },
- {
- "mimeType" : "image/png",
- "name" : "sponza_details_metallicroughness",
- "uri" : "sponza_details_metallicroughness.jpg"
- }
- ],
- "accessors" : [
- {
- "bufferView" : 0,
- "componentType" : 5126,
- "count" : 3159,
- "max" : [
- 5.409964561462402,
- 2.109433889389038,
- 2.4489800930023193
- ],
- "min" : [
- 4.495628833770752,
- 0.8537139892578125,
- 1.520906925201416
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1,
- "componentType" : 5126,
- "count" : 3159,
- "type" : "VEC3"
- },
- {
- "bufferView" : 2,
- "componentType" : 5126,
- "count" : 3159,
- "type" : "VEC2"
- },
- {
- "bufferView" : 3,
- "componentType" : 5123,
- "count" : 10920,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 4,
- "componentType" : 5126,
- "count" : 536,
- "max" : [
- -2.091301918029785,
- 0.731235921382904,
- -1.8904279470443726
- ],
- "min" : [
- -2.7735557556152344,
- 0.4608149528503418,
- -2.5299859046936035
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 5,
- "componentType" : 5126,
- "count" : 536,
- "type" : "VEC3"
- },
- {
- "bufferView" : 6,
- "componentType" : 5126,
- "count" : 536,
- "type" : "VEC2"
- },
- {
- "bufferView" : 7,
- "componentType" : 5123,
- "count" : 1404,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 8,
- "componentType" : 5126,
- "count" : 1230,
- "max" : [
- -2.193237066268921,
- 0.5619949698448181,
- -1.9878801107406616
- ],
- "min" : [
- -2.7125461101531982,
- -0.0014009999576956034,
- -2.50777006149292
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 9,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC3"
- },
- {
- "bufferView" : 10,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC2"
- },
- {
- "bufferView" : 11,
- "componentType" : 5123,
- "count" : 6633,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 12,
- "componentType" : 5126,
- "count" : 750,
- "max" : [
- -14.016798973083496,
- 7.585530757904053,
- 0.8570510149002075
- ],
- "min" : [
- -14.2466402053833,
- 4.930471897125244,
- -1.6338648796081543
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 13,
- "componentType" : 5126,
- "count" : 750,
- "type" : "VEC3"
- },
- {
- "bufferView" : 14,
- "componentType" : 5126,
- "count" : 750,
- "type" : "VEC2"
- },
- {
- "bufferView" : 15,
- "componentType" : 5123,
- "count" : 4086,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 16,
- "componentType" : 5126,
- "count" : 20,
- "max" : [
- 9.1480073928833,
- 4.940524578094482,
- 2.3867948055267334
- ],
- "min" : [
- -10.45741081237793,
- 4.139111042022705,
- -3.1013457775115967
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 17,
- "componentType" : 5126,
- "count" : 20,
- "type" : "VEC3"
- },
- {
- "bufferView" : 18,
- "componentType" : 5126,
- "count" : 20,
- "type" : "VEC2"
- },
- {
- "bufferView" : 19,
- "componentType" : 5123,
- "count" : 24,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 20,
- "componentType" : 5126,
- "count" : 166,
- "max" : [
- 8.693511009216309,
- 4.95689582824707,
- 1.8013049364089966
- ],
- "min" : [
- -9.985177040100098,
- 2.214876890182495,
- -2.5081787109375
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 21,
- "componentType" : 5126,
- "count" : 166,
- "type" : "VEC3"
- },
- {
- "bufferView" : 22,
- "componentType" : 5126,
- "count" : 166,
- "type" : "VEC2"
- },
- {
- "bufferView" : 23,
- "componentType" : 5123,
- "count" : 300,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 24,
- "componentType" : 5126,
- "count" : 548,
- "max" : [
- 9.176836013793945,
- 5.07803201675415,
- 2.4355807304382324
- ],
- "min" : [
- -10.483080863952637,
- 4.929887771606445,
- -3.1810600757598877
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 25,
- "componentType" : 5126,
- "count" : 548,
- "type" : "VEC3"
- },
- {
- "bufferView" : 26,
- "componentType" : 5126,
- "count" : 548,
- "type" : "VEC2"
- },
- {
- "bufferView" : 27,
- "componentType" : 5123,
- "count" : 840,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 28,
- "componentType" : 5126,
- "count" : 1848,
- "max" : [
- 13.02202033996582,
- 3.8398799896240234,
- 5.749026775360107
- ],
- "min" : [
- -14.294520378112793,
- 2.1580357551574707,
- -6.45148229598999
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 29,
- "componentType" : 5126,
- "count" : 1848,
- "type" : "VEC3"
- },
- {
- "bufferView" : 30,
- "componentType" : 5126,
- "count" : 1848,
- "type" : "VEC2"
- },
- {
- "bufferView" : 31,
- "componentType" : 5123,
- "count" : 6996,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 32,
- "componentType" : 5126,
- "count" : 231,
- "max" : [
- -5.818408489227295,
- 2.2099709510803223,
- 2.4457008838653564
- ],
- "min" : [
- -6.585947513580322,
- -0.02460699900984764,
- 1.676918864250183
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 33,
- "componentType" : 5126,
- "count" : 231,
- "type" : "VEC3"
- },
- {
- "bufferView" : 34,
- "componentType" : 5126,
- "count" : 231,
- "type" : "VEC2"
- },
- {
- "bufferView" : 35,
- "componentType" : 5123,
- "count" : 546,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 36,
- "componentType" : 5126,
- "count" : 229,
- "max" : [
- -2.07704496383667,
- 2.2099709510803223,
- 2.4419548511505127
- ],
- "min" : [
- -2.845825672149658,
- -0.02460699900984764,
- 1.6744158267974854
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 37,
- "componentType" : 5126,
- "count" : 229,
- "type" : "VEC3"
- },
- {
- "bufferView" : 38,
- "componentType" : 5126,
- "count" : 229,
- "type" : "VEC2"
- },
- {
- "bufferView" : 39,
- "componentType" : 5123,
- "count" : 546,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 40,
- "componentType" : 5126,
- "count" : 163,
- "max" : [
- -5.890180587768555,
- 2.1761178970336914,
- 5.754880428314209
- ],
- "min" : [
- -6.497213363647461,
- 1.826522946357727,
- 5.598720550537109
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 41,
- "componentType" : 5126,
- "count" : 163,
- "type" : "VEC3"
- },
- {
- "bufferView" : 42,
- "componentType" : 5126,
- "count" : 163,
- "type" : "VEC2"
- },
- {
- "bufferView" : 43,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 44,
- "componentType" : 5126,
- "count" : 162,
- "max" : [
- -9.627448081970215,
- 2.176116943359375,
- 5.754880428314209
- ],
- "min" : [
- -10.49055004119873,
- 1.826522946357727,
- 5.598721981048584
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 45,
- "componentType" : 5126,
- "count" : 162,
- "type" : "VEC3"
- },
- {
- "bufferView" : 46,
- "componentType" : 5126,
- "count" : 162,
- "type" : "VEC2"
- },
- {
- "bufferView" : 47,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 48,
- "componentType" : 5126,
- "count" : 163,
- "max" : [
- -2.179433822631836,
- 2.176116943359375,
- 5.754880428314209
- ],
- "min" : [
- -2.7864646911621094,
- 1.826522946357727,
- 5.598721981048584
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 49,
- "componentType" : 5126,
- "count" : 163,
- "type" : "VEC3"
- },
- {
- "bufferView" : 50,
- "componentType" : 5126,
- "count" : 163,
- "type" : "VEC2"
- },
- {
- "bufferView" : 51,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 52,
- "componentType" : 5126,
- "count" : 163,
- "max" : [
- 1.5290719270706177,
- 2.176116943359375,
- 5.754880428314209
- ],
- "min" : [
- 0.9220399856567383,
- 1.826522946357727,
- 5.598721981048584
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 53,
- "componentType" : 5126,
- "count" : 163,
- "type" : "VEC3"
- },
- {
- "bufferView" : 54,
- "componentType" : 5126,
- "count" : 163,
- "type" : "VEC2"
- },
- {
- "bufferView" : 55,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 56,
- "componentType" : 5126,
- "count" : 163,
- "max" : [
- 5.233678340911865,
- 2.176116943359375,
- 5.754880428314209
- ],
- "min" : [
- 4.626646995544434,
- 1.826522946357727,
- 5.598721981048584
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 57,
- "componentType" : 5126,
- "count" : 163,
- "type" : "VEC3"
- },
- {
- "bufferView" : 58,
- "componentType" : 5126,
- "count" : 163,
- "type" : "VEC2"
- },
- {
- "bufferView" : 59,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 60,
- "componentType" : 5126,
- "count" : 161,
- "max" : [
- 9.23731517791748,
- 2.176116943359375,
- 5.754880428314209
- ],
- "min" : [
- 8.352161407470703,
- 1.826522946357727,
- 5.598721981048584
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 61,
- "componentType" : 5126,
- "count" : 161,
- "type" : "VEC3"
- },
- {
- "bufferView" : 62,
- "componentType" : 5126,
- "count" : 161,
- "type" : "VEC2"
- },
- {
- "bufferView" : 63,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 64,
- "componentType" : 5126,
- "count" : 163,
- "max" : [
- -5.890180587768555,
- 2.1761178970336914,
- -6.313518524169922
- ],
- "min" : [
- -6.497213363647461,
- 1.826522946357727,
- -6.469677448272705
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 65,
- "componentType" : 5126,
- "count" : 163,
- "type" : "VEC3"
- },
- {
- "bufferView" : 66,
- "componentType" : 5126,
- "count" : 163,
- "type" : "VEC2"
- },
- {
- "bufferView" : 67,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 68,
- "componentType" : 5126,
- "count" : 161,
- "max" : [
- -9.627448081970215,
- 2.176116943359375,
- -6.313520908355713
- ],
- "min" : [
- -10.49055004119873,
- 1.826522946357727,
- -6.46967887878418
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 69,
- "componentType" : 5126,
- "count" : 161,
- "type" : "VEC3"
- },
- {
- "bufferView" : 70,
- "componentType" : 5126,
- "count" : 161,
- "type" : "VEC2"
- },
- {
- "bufferView" : 71,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 72,
- "componentType" : 5126,
- "count" : 163,
- "max" : [
- -2.179433822631836,
- 2.176116943359375,
- -6.313520908355713
- ],
- "min" : [
- -2.7864646911621094,
- 1.826522946357727,
- -6.46967887878418
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 73,
- "componentType" : 5126,
- "count" : 163,
- "type" : "VEC3"
- },
- {
- "bufferView" : 74,
- "componentType" : 5126,
- "count" : 163,
- "type" : "VEC2"
- },
- {
- "bufferView" : 75,
- "componentType" : 5126,
- "count" : 161,
- "max" : [
- 1.5290719270706177,
- 2.176116943359375,
- -6.313520908355713
- ],
- "min" : [
- 0.9220399856567383,
- 1.826522946357727,
- -6.46967887878418
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 76,
- "componentType" : 5126,
- "count" : 161,
- "type" : "VEC3"
- },
- {
- "bufferView" : 77,
- "componentType" : 5126,
- "count" : 161,
- "type" : "VEC2"
- },
- {
- "bufferView" : 78,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 79,
- "componentType" : 5126,
- "count" : 228,
- "max" : [
- 1.6041380167007446,
- 2.2099709510803223,
- 2.4446768760681152
- ],
- "min" : [
- 0.8353559970855713,
- -0.02460699900984764,
- 1.677137851715088
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 80,
- "componentType" : 5126,
- "count" : 228,
- "type" : "VEC3"
- },
- {
- "bufferView" : 81,
- "componentType" : 5126,
- "count" : 228,
- "type" : "VEC2"
- },
- {
- "bufferView" : 82,
- "componentType" : 5123,
- "count" : 546,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 83,
- "componentType" : 5126,
- "count" : 164,
- "max" : [
- 5.233678340911865,
- 2.176116943359375,
- -6.313520908355713
- ],
- "min" : [
- 4.626646995544434,
- 1.826522946357727,
- -6.46967887878418
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 84,
- "componentType" : 5126,
- "count" : 164,
- "type" : "VEC3"
- },
- {
- "bufferView" : 85,
- "componentType" : 5126,
- "count" : 164,
- "type" : "VEC2"
- },
- {
- "bufferView" : 86,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 87,
- "componentType" : 5126,
- "count" : 161,
- "max" : [
- 9.23731517791748,
- 2.176116943359375,
- -6.313520908355713
- ],
- "min" : [
- 8.352161407470703,
- 1.826522946357727,
- -6.46967887878418
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 88,
- "componentType" : 5126,
- "count" : 161,
- "type" : "VEC3"
- },
- {
- "bufferView" : 89,
- "componentType" : 5126,
- "count" : 161,
- "type" : "VEC2"
- },
- {
- "bufferView" : 90,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 91,
- "componentType" : 5126,
- "count" : 165,
- "max" : [
- -14.146899223327637,
- 2.176116943359375,
- -2.2154388427734375
- ],
- "min" : [
- -14.30305004119873,
- 1.826522946357727,
- -3.1005918979644775
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 92,
- "componentType" : 5126,
- "count" : 165,
- "type" : "VEC3"
- },
- {
- "bufferView" : 93,
- "componentType" : 5126,
- "count" : 165,
- "type" : "VEC2"
- },
- {
- "bufferView" : 94,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 95,
- "componentType" : 5126,
- "count" : 167,
- "max" : [
- -14.146899223327637,
- 2.176116943359375,
- 2.4067718982696533
- ],
- "min" : [
- -14.30305004119873,
- 1.826522946357727,
- 1.5216178894042969
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 96,
- "componentType" : 5126,
- "count" : 167,
- "type" : "VEC3"
- },
- {
- "bufferView" : 97,
- "componentType" : 5126,
- "count" : 167,
- "type" : "VEC2"
- },
- {
- "bufferView" : 98,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 99,
- "componentType" : 5126,
- "count" : 127,
- "max" : [
- -14.170490264892578,
- 2.176116943359375,
- -6.291940689086914
- ],
- "min" : [
- -14.30150032043457,
- 1.826522946357727,
- -6.452885627746582
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 100,
- "componentType" : 5126,
- "count" : 127,
- "type" : "VEC3"
- },
- {
- "bufferView" : 101,
- "componentType" : 5126,
- "count" : 127,
- "type" : "VEC2"
- },
- {
- "bufferView" : 102,
- "componentType" : 5123,
- "count" : 222,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 103,
- "componentType" : 5126,
- "count" : 126,
- "max" : [
- -14.170490264892578,
- 2.176116943359375,
- 5.757254600524902
- ],
- "min" : [
- -14.30150032043457,
- 1.826522946357727,
- 5.596310138702393
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 104,
- "componentType" : 5126,
- "count" : 126,
- "type" : "VEC3"
- },
- {
- "bufferView" : 105,
- "componentType" : 5126,
- "count" : 126,
- "type" : "VEC2"
- },
- {
- "bufferView" : 106,
- "componentType" : 5123,
- "count" : 222,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 107,
- "componentType" : 5126,
- "count" : 118,
- "max" : [
- 13.021909713745117,
- 0.05625099688768387,
- 5.740296363830566
- ],
- "min" : [
- -14.285200119018555,
- -0.03379400074481964,
- -6.443113803863525
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 108,
- "componentType" : 5126,
- "count" : 118,
- "type" : "VEC3"
- },
- {
- "bufferView" : 109,
- "componentType" : 5126,
- "count" : 118,
- "type" : "VEC2"
- },
- {
- "bufferView" : 110,
- "componentType" : 5123,
- "count" : 150,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 111,
- "componentType" : 5126,
- "count" : 13,
- "max" : [
- 13.021909713745117,
- -0.025061998516321182,
- 5.740296363830566
- ],
- "min" : [
- -14.285200119018555,
- -0.025061998516321182,
- -6.443113803863525
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 112,
- "componentType" : 5126,
- "count" : 13,
- "type" : "VEC3"
- },
- {
- "bufferView" : 113,
- "componentType" : 5126,
- "count" : 13,
- "type" : "VEC2"
- },
- {
- "bufferView" : 114,
- "componentType" : 5123,
- "count" : 15,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 115,
- "componentType" : 5126,
- "count" : 422,
- "max" : [
- -9.479555130004883,
- 2.2099709510803223,
- 2.466148853302002
- ],
- "min" : [
- -10.572199821472168,
- -0.02460699900984764,
- 1.3735029697418213
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 116,
- "componentType" : 5126,
- "count" : 422,
- "type" : "VEC3"
- },
- {
- "bufferView" : 117,
- "componentType" : 5126,
- "count" : 422,
- "type" : "VEC2"
- },
- {
- "bufferView" : 118,
- "componentType" : 5123,
- "count" : 1020,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 119,
- "componentType" : 5126,
- "count" : 414,
- "max" : [
- -9.479555130004883,
- 2.2099709510803223,
- -2.0760459899902344
- ],
- "min" : [
- -10.572199821472168,
- -0.02460699900984764,
- -3.168691873550415
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 120,
- "componentType" : 5126,
- "count" : 414,
- "type" : "VEC3"
- },
- {
- "bufferView" : 121,
- "componentType" : 5126,
- "count" : 414,
- "type" : "VEC2"
- },
- {
- "bufferView" : 122,
- "componentType" : 5123,
- "count" : 1020,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 123,
- "componentType" : 5126,
- "count" : 242,
- "max" : [
- 5.286698341369629,
- 2.2099709510803223,
- 2.445697784423828
- ],
- "min" : [
- 4.519160270690918,
- -0.02460699900984764,
- 1.6769169569015503
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 124,
- "componentType" : 5126,
- "count" : 242,
- "type" : "VEC3"
- },
- {
- "bufferView" : 125,
- "componentType" : 5126,
- "count" : 242,
- "type" : "VEC2"
- },
- {
- "bufferView" : 126,
- "componentType" : 5123,
- "count" : 546,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 127,
- "componentType" : 5126,
- "count" : 407,
- "max" : [
- 9.256037712097168,
- 2.2099709510803223,
- -2.0760459899902344
- ],
- "min" : [
- 8.163393020629883,
- -0.02460699900984764,
- -3.168691873550415
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 128,
- "componentType" : 5126,
- "count" : 407,
- "type" : "VEC3"
- },
- {
- "bufferView" : 129,
- "componentType" : 5126,
- "count" : 407,
- "type" : "VEC2"
- },
- {
- "bufferView" : 130,
- "componentType" : 5123,
- "count" : 1020,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 131,
- "componentType" : 5126,
- "count" : 426,
- "max" : [
- 9.256037712097168,
- 2.2099709510803223,
- 2.466148853302002
- ],
- "min" : [
- 8.163393020629883,
- -0.02460699900984764,
- 1.3735029697418213
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 132,
- "componentType" : 5126,
- "count" : 426,
- "type" : "VEC3"
- },
- {
- "bufferView" : 133,
- "componentType" : 5126,
- "count" : 426,
- "type" : "VEC2"
- },
- {
- "bufferView" : 134,
- "componentType" : 5123,
- "count" : 1020,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 135,
- "componentType" : 5126,
- "count" : 35,
- "max" : [
- 9.219354629516602,
- 4.222416877746582,
- 2.458141803741455
- ],
- "min" : [
- -10.52876091003418,
- 4.139111042022705,
- -3.1726927757263184
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 136,
- "componentType" : 5126,
- "count" : 35,
- "type" : "VEC3"
- },
- {
- "bufferView" : 137,
- "componentType" : 5126,
- "count" : 35,
- "type" : "VEC2"
- },
- {
- "bufferView" : 138,
- "componentType" : 5123,
- "count" : 48,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 139,
- "componentType" : 5126,
- "count" : 2322,
- "max" : [
- 8.624395370483398,
- 8.233441352844238,
- -2.447730779647827
- ],
- "min" : [
- -9.904375076293945,
- 6.909215450286865,
- -3.023531675338745
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 140,
- "componentType" : 5126,
- "count" : 2322,
- "type" : "VEC3"
- },
- {
- "bufferView" : 141,
- "componentType" : 5126,
- "count" : 2322,
- "type" : "VEC2"
- },
- {
- "bufferView" : 142,
- "componentType" : 5123,
- "count" : 5580,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 143,
- "componentType" : 5126,
- "count" : 2310,
- "max" : [
- 8.624396324157715,
- 8.233441352844238,
- 2.3143439292907715
- ],
- "min" : [
- -9.904375076293945,
- 6.909215450286865,
- 1.7385419607162476
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 144,
- "componentType" : 5126,
- "count" : 2310,
- "type" : "VEC3"
- },
- {
- "bufferView" : 145,
- "componentType" : 5126,
- "count" : 2310,
- "type" : "VEC2"
- },
- {
- "bufferView" : 146,
- "componentType" : 5123,
- "count" : 5580,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 147,
- "componentType" : 5126,
- "count" : 1127,
- "max" : [
- -9.894766807556152,
- 6.924715518951416,
- -0.1202629953622818
- ],
- "min" : [
- -10.349499702453613,
- 5.163723468780518,
- -0.5746449828147888
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 148,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC3"
- },
- {
- "bufferView" : 149,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC2"
- },
- {
- "bufferView" : 150,
- "componentType" : 5123,
- "count" : 3660,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 151,
- "componentType" : 5126,
- "count" : 40,
- "max" : [
- -10.077520370483398,
- 6.922971725463867,
- -0.4687189757823944
- ],
- "min" : [
- -10.157400131225586,
- 6.8095703125,
- -0.5986160039901733
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 152,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC3"
- },
- {
- "bufferView" : 153,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC2"
- },
- {
- "bufferView" : 154,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 155,
- "componentType" : 5126,
- "count" : 64,
- "max" : [
- -10.088150024414062,
- 6.809845447540283,
- -0.45008400082588196
- ],
- "min" : [
- -10.147699356079102,
- 6.6970038414001465,
- -0.5725650191307068
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 156,
- "componentType" : 5126,
- "count" : 64,
- "type" : "VEC3"
- },
- {
- "bufferView" : 157,
- "componentType" : 5126,
- "count" : 64,
- "type" : "VEC2"
- },
- {
- "bufferView" : 158,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 159,
- "componentType" : 5126,
- "count" : 40,
- "max" : [
- -9.86715030670166,
- 6.922971725463867,
- -0.30837297439575195
- ],
- "min" : [
- -9.997050285339355,
- 6.8095703125,
- -0.3882579803466797
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 160,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC3"
- },
- {
- "bufferView" : 161,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC2"
- },
- {
- "bufferView" : 162,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 163,
- "componentType" : 5126,
- "count" : 81,
- "max" : [
- -9.89320182800293,
- 6.809845447540283,
- -0.3190079927444458
- ],
- "min" : [
- -10.015680313110352,
- 6.6970038414001465,
- -0.37855398654937744
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 164,
- "componentType" : 5126,
- "count" : 81,
- "type" : "VEC3"
- },
- {
- "bufferView" : 165,
- "componentType" : 5126,
- "count" : 81,
- "type" : "VEC2"
- },
- {
- "bufferView" : 166,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 167,
- "componentType" : 5126,
- "count" : 226,
- "max" : [
- -5.814660549163818,
- 2.2099709510803223,
- -2.400134801864624
- ],
- "min" : [
- -6.583441734313965,
- -0.02460699900984764,
- -3.1676738262176514
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 168,
- "componentType" : 5126,
- "count" : 226,
- "type" : "VEC3"
- },
- {
- "bufferView" : 169,
- "componentType" : 5126,
- "count" : 226,
- "type" : "VEC2"
- },
- {
- "bufferView" : 170,
- "componentType" : 5123,
- "count" : 546,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 171,
- "componentType" : 5126,
- "count" : 37,
- "max" : [
- -10.078360557556152,
- 6.922971725463867,
- -0.09912099689245224
- ],
- "min" : [
- -10.15825080871582,
- 6.8095703125,
- -0.22901800274848938
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 172,
- "componentType" : 5126,
- "count" : 37,
- "type" : "VEC3"
- },
- {
- "bufferView" : 173,
- "componentType" : 5126,
- "count" : 37,
- "type" : "VEC2"
- },
- {
- "bufferView" : 174,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 175,
- "componentType" : 5126,
- "count" : 66,
- "max" : [
- -10.0880708694458,
- 6.809845447540283,
- -0.1251709908246994
- ],
- "min" : [
- -10.147610664367676,
- 6.6970038414001465,
- -0.24765297770500183
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 176,
- "componentType" : 5126,
- "count" : 66,
- "type" : "VEC3"
- },
- {
- "bufferView" : 177,
- "componentType" : 5126,
- "count" : 66,
- "type" : "VEC2"
- },
- {
- "bufferView" : 178,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 179,
- "componentType" : 5126,
- "count" : 30,
- "max" : [
- -10.238720893859863,
- 6.922971725463867,
- -0.3094789683818817
- ],
- "min" : [
- -10.368610382080078,
- 6.8095703125,
- -0.38936296105384827
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 180,
- "componentType" : 5126,
- "count" : 30,
- "type" : "VEC3"
- },
- {
- "bufferView" : 181,
- "componentType" : 5126,
- "count" : 30,
- "type" : "VEC2"
- },
- {
- "bufferView" : 182,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 183,
- "componentType" : 5126,
- "count" : 86,
- "max" : [
- -10.220080375671387,
- 6.809845447540283,
- -0.31918197870254517
- ],
- "min" : [
- -10.342560768127441,
- 6.6970038414001465,
- -0.378728985786438
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 184,
- "componentType" : 5126,
- "count" : 86,
- "type" : "VEC3"
- },
- {
- "bufferView" : 185,
- "componentType" : 5126,
- "count" : 86,
- "type" : "VEC2"
- },
- {
- "bufferView" : 186,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 187,
- "componentType" : 5126,
- "count" : 292,
- "max" : [
- -9.858739852905273,
- 6.99611759185791,
- -0.09251099079847336
- ],
- "min" : [
- -10.376521110534668,
- 6.922728538513184,
- -0.609373927116394
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 188,
- "componentType" : 5126,
- "count" : 292,
- "type" : "VEC3"
- },
- {
- "bufferView" : 189,
- "componentType" : 5126,
- "count" : 292,
- "type" : "VEC2"
- },
- {
- "bufferView" : 190,
- "componentType" : 5123,
- "count" : 900,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 191,
- "componentType" : 5126,
- "count" : 209,
- "max" : [
- -9.881155967712402,
- 5.1652679443359375,
- -0.11171899735927582
- ],
- "min" : [
- -10.35690975189209,
- 5.072018623352051,
- -0.5875709652900696
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 192,
- "componentType" : 5126,
- "count" : 209,
- "type" : "VEC3"
- },
- {
- "bufferView" : 193,
- "componentType" : 5126,
- "count" : 209,
- "type" : "VEC2"
- },
- {
- "bufferView" : 194,
- "componentType" : 5123,
- "count" : 498,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 195,
- "componentType" : 5126,
- "count" : 1127,
- "max" : [
- 7.03314733505249,
- 6.87420654296875,
- -2.54028582572937
- ],
- "min" : [
- 6.508020401000977,
- 5.172232627868652,
- -3.0650057792663574
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 196,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC3"
- },
- {
- "bufferView" : 197,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC2"
- },
- {
- "bufferView" : 198,
- "componentType" : 5123,
- "count" : 3660,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 199,
- "componentType" : 5126,
- "count" : 36,
- "max" : [
- 6.822110652923584,
- 6.872191429138184,
- -2.5126049518585205
- ],
- "min" : [
- 6.729860782623291,
- 6.741235733032227,
- -2.6626100540161133
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 200,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC3"
- },
- {
- "bufferView" : 201,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC2"
- },
- {
- "bufferView" : 202,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 203,
- "componentType" : 5126,
- "count" : 76,
- "max" : [
- 6.809830188751221,
- 6.741554260253906,
- -2.5426878929138184
- ],
- "min" : [
- 6.741065502166748,
- 6.611245155334473,
- -2.6841301918029785
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 204,
- "componentType" : 5126,
- "count" : 76,
- "type" : "VEC3"
- },
- {
- "bufferView" : 205,
- "componentType" : 5126,
- "count" : 76,
- "type" : "VEC2"
- },
- {
- "bufferView" : 206,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 207,
- "componentType" : 5126,
- "count" : 37,
- "max" : [
- 7.065038681030273,
- 6.872191429138184,
- -2.755525827407837
- ],
- "min" : [
- 6.915033340454102,
- 6.741235733032227,
- -2.8477766513824463
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 208,
- "componentType" : 5126,
- "count" : 37,
- "type" : "VEC3"
- },
- {
- "bufferView" : 209,
- "componentType" : 5126,
- "count" : 37,
- "type" : "VEC2"
- },
- {
- "bufferView" : 210,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 211,
- "componentType" : 5126,
- "count" : 231,
- "max" : [
- -2.07704496383667,
- 2.2099709510803223,
- -2.397408962249756
- ],
- "min" : [
- -2.845824718475342,
- -0.02460699900984764,
- -3.164947748184204
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 212,
- "componentType" : 5126,
- "count" : 231,
- "type" : "VEC3"
- },
- {
- "bufferView" : 213,
- "componentType" : 5126,
- "count" : 231,
- "type" : "VEC2"
- },
- {
- "bufferView" : 214,
- "componentType" : 5123,
- "count" : 546,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 215,
- "componentType" : 5126,
- "count" : 93,
- "max" : [
- 7.034955978393555,
- 6.741554260253906,
- -2.7667317390441895
- ],
- "min" : [
- 6.8935136795043945,
- 6.611245155334473,
- -2.835495948791504
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 216,
- "componentType" : 5126,
- "count" : 93,
- "type" : "VEC3"
- },
- {
- "bufferView" : 217,
- "componentType" : 5126,
- "count" : 93,
- "type" : "VEC2"
- },
- {
- "bufferView" : 218,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 219,
- "componentType" : 5126,
- "count" : 38,
- "max" : [
- 6.821131229400635,
- 6.872191429138184,
- -2.9394166469573975
- ],
- "min" : [
- 6.728880405426025,
- 6.741235733032227,
- -3.0894219875335693
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 220,
- "componentType" : 5126,
- "count" : 38,
- "type" : "VEC3"
- },
- {
- "bufferView" : 221,
- "componentType" : 5126,
- "count" : 38,
- "type" : "VEC2"
- },
- {
- "bufferView" : 222,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 223,
- "componentType" : 5126,
- "count" : 63,
- "max" : [
- 6.809925556182861,
- 6.741554260253906,
- -2.9178969860076904
- ],
- "min" : [
- 6.741161823272705,
- 6.611245155334473,
- -3.059338092803955
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 224,
- "componentType" : 5126,
- "count" : 63,
- "type" : "VEC3"
- },
- {
- "bufferView" : 225,
- "componentType" : 5126,
- "count" : 63,
- "type" : "VEC2"
- },
- {
- "bufferView" : 226,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 227,
- "componentType" : 5126,
- "count" : 36,
- "max" : [
- 6.635957717895508,
- 6.872191429138184,
- -2.7542500495910645
- ],
- "min" : [
- 6.485952377319336,
- 6.741235733032227,
- -2.8464999198913574
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 228,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC3"
- },
- {
- "bufferView" : 229,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC2"
- },
- {
- "bufferView" : 230,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 231,
- "componentType" : 5126,
- "count" : 96,
- "max" : [
- 6.657477855682373,
- 6.741554260253906,
- -2.7665300369262695
- ],
- "min" : [
- 6.516035556793213,
- 6.611245155334473,
- -2.835294723510742
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 232,
- "componentType" : 5126,
- "count" : 96,
- "type" : "VEC3"
- },
- {
- "bufferView" : 233,
- "componentType" : 5126,
- "count" : 96,
- "type" : "VEC2"
- },
- {
- "bufferView" : 234,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 235,
- "componentType" : 5126,
- "count" : 268,
- "max" : [
- 7.0747528076171875,
- 6.956661701202393,
- -2.500180959701538
- ],
- "min" : [
- 6.476824760437012,
- 6.871912479400635,
- -3.097054958343506
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 236,
- "componentType" : 5126,
- "count" : 268,
- "type" : "VEC3"
- },
- {
- "bufferView" : 237,
- "componentType" : 5126,
- "count" : 268,
- "type" : "VEC2"
- },
- {
- "bufferView" : 238,
- "componentType" : 5123,
- "count" : 900,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 239,
- "componentType" : 5126,
- "count" : 214,
- "max" : [
- 7.048864364624023,
- 5.174014568328857,
- -2.525360107421875
- ],
- "min" : [
- 6.49946403503418,
- 5.06633186340332,
- -3.074873924255371
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 240,
- "componentType" : 5126,
- "count" : 214,
- "type" : "VEC3"
- },
- {
- "bufferView" : 241,
- "componentType" : 5126,
- "count" : 214,
- "type" : "VEC2"
- },
- {
- "bufferView" : 242,
- "componentType" : 5123,
- "count" : 498,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 243,
- "componentType" : 5126,
- "count" : 1127,
- "max" : [
- 3.3218438625335693,
- 6.87420654296875,
- -2.54028582572937
- ],
- "min" : [
- 2.796717882156372,
- 5.172232627868652,
- -3.0650057792663574
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 244,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC3"
- },
- {
- "bufferView" : 245,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC2"
- },
- {
- "bufferView" : 246,
- "componentType" : 5123,
- "count" : 3660,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 247,
- "componentType" : 5126,
- "count" : 35,
- "max" : [
- 3.1000049114227295,
- 6.872191429138184,
- -2.5126049518585205
- ],
- "min" : [
- 3.0077548027038574,
- 6.741235733032227,
- -2.6626100540161133
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 248,
- "componentType" : 5126,
- "count" : 35,
- "type" : "VEC3"
- },
- {
- "bufferView" : 249,
- "componentType" : 5126,
- "count" : 35,
- "type" : "VEC2"
- },
- {
- "bufferView" : 250,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 251,
- "componentType" : 5126,
- "count" : 75,
- "max" : [
- 3.088798761367798,
- 6.741554260253906,
- -2.5426878929138184
- ],
- "min" : [
- 3.0200347900390625,
- 6.611245155334473,
- -2.6841301918029785
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 252,
- "componentType" : 5126,
- "count" : 75,
- "type" : "VEC3"
- },
- {
- "bufferView" : 253,
- "componentType" : 5126,
- "count" : 75,
- "type" : "VEC2"
- },
- {
- "bufferView" : 254,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 255,
- "componentType" : 5126,
- "count" : 244,
- "max" : [
- 1.6003919839859009,
- 2.2099709510803223,
- -2.3999109268188477
- ],
- "min" : [
- 0.8328530192375183,
- -0.02460699900984764,
- -3.168691873550415
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 256,
- "componentType" : 5126,
- "count" : 244,
- "type" : "VEC3"
- },
- {
- "bufferView" : 257,
- "componentType" : 5126,
- "count" : 244,
- "type" : "VEC2"
- },
- {
- "bufferView" : 258,
- "componentType" : 5123,
- "count" : 546,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 259,
- "componentType" : 5126,
- "count" : 36,
- "max" : [
- 2.9148318767547607,
- 6.872191429138184,
- -2.755525827407837
- ],
- "min" : [
- 2.7648260593414307,
- 6.741235733032227,
- -2.84777569770813
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 260,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC3"
- },
- {
- "bufferView" : 261,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC2"
- },
- {
- "bufferView" : 262,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 263,
- "componentType" : 5126,
- "count" : 93,
- "max" : [
- 2.9363510608673096,
- 6.741554260253906,
- -2.7667317390441895
- ],
- "min" : [
- 2.794910192489624,
- 6.611245155334473,
- -2.835495948791504
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 264,
- "componentType" : 5126,
- "count" : 93,
- "type" : "VEC3"
- },
- {
- "bufferView" : 265,
- "componentType" : 5126,
- "count" : 93,
- "type" : "VEC2"
- },
- {
- "bufferView" : 266,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 267,
- "componentType" : 5126,
- "count" : 35,
- "max" : [
- 3.1009838581085205,
- 6.872191429138184,
- -2.93941593170166
- ],
- "min" : [
- 3.0087337493896484,
- 6.741235733032227,
- -3.0894219875335693
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 268,
- "componentType" : 5126,
- "count" : 35,
- "type" : "VEC3"
- },
- {
- "bufferView" : 269,
- "componentType" : 5126,
- "count" : 35,
- "type" : "VEC2"
- },
- {
- "bufferView" : 270,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 271,
- "componentType" : 5126,
- "count" : 69,
- "max" : [
- 3.0887038707733154,
- 6.741554260253906,
- -2.9178969860076904
- ],
- "min" : [
- 3.0199389457702637,
- 6.611245155334473,
- -3.059338092803955
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 272,
- "componentType" : 5126,
- "count" : 69,
- "type" : "VEC3"
- },
- {
- "bufferView" : 273,
- "componentType" : 5126,
- "count" : 69,
- "type" : "VEC2"
- },
- {
- "bufferView" : 274,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 275,
- "componentType" : 5126,
- "count" : 40,
- "max" : [
- 3.34391188621521,
- 6.872191429138184,
- -2.7542500495910645
- ],
- "min" : [
- 3.193906784057617,
- 6.741235733032227,
- -2.8464999198913574
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 276,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC3"
- },
- {
- "bufferView" : 277,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC2"
- },
- {
- "bufferView" : 278,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 279,
- "componentType" : 5126,
- "count" : 83,
- "max" : [
- 3.313828945159912,
- 6.741554260253906,
- -2.7665300369262695
- ],
- "min" : [
- 3.1723878383636475,
- 6.611245155334473,
- -2.835294723510742
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 280,
- "componentType" : 5126,
- "count" : 83,
- "type" : "VEC3"
- },
- {
- "bufferView" : 281,
- "componentType" : 5126,
- "count" : 83,
- "type" : "VEC2"
- },
- {
- "bufferView" : 282,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 283,
- "componentType" : 5126,
- "count" : 269,
- "max" : [
- 3.3530399799346924,
- 6.956661701202393,
- -2.500180959701538
- ],
- "min" : [
- 2.7551119327545166,
- 6.871912479400635,
- -3.097054958343506
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 284,
- "componentType" : 5126,
- "count" : 269,
- "type" : "VEC3"
- },
- {
- "bufferView" : 285,
- "componentType" : 5126,
- "count" : 269,
- "type" : "VEC2"
- },
- {
- "bufferView" : 286,
- "componentType" : 5123,
- "count" : 900,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 287,
- "componentType" : 5126,
- "count" : 210,
- "max" : [
- 3.3304009437561035,
- 5.174014568328857,
- -2.525360107421875
- ],
- "min" : [
- 2.781000852584839,
- 5.06633186340332,
- -3.074873924255371
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 288,
- "componentType" : 5126,
- "count" : 210,
- "type" : "VEC3"
- },
- {
- "bufferView" : 289,
- "componentType" : 5126,
- "count" : 210,
- "type" : "VEC2"
- },
- {
- "bufferView" : 290,
- "componentType" : 5123,
- "count" : 498,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 291,
- "componentType" : 5126,
- "count" : 1127,
- "max" : [
- -0.3664289712905884,
- 6.87420654296875,
- -2.5322299003601074
- ],
- "min" : [
- -0.8915549516677856,
- 5.172232627868652,
- -3.056950092315674
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 292,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC3"
- },
- {
- "bufferView" : 293,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC2"
- },
- {
- "bufferView" : 294,
- "componentType" : 5123,
- "count" : 3660,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 295,
- "componentType" : 5126,
- "count" : 41,
- "max" : [
- -0.588267982006073,
- 6.872191429138184,
- -2.9346258640289307
- ],
- "min" : [
- -0.6805179715156555,
- 6.741235733032227,
- -3.0846309661865234
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 296,
- "componentType" : 5126,
- "count" : 41,
- "type" : "VEC3"
- },
- {
- "bufferView" : 297,
- "componentType" : 5126,
- "count" : 41,
- "type" : "VEC2"
- },
- {
- "bufferView" : 298,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 299,
- "componentType" : 5126,
- "count" : 236,
- "max" : [
- 5.2894110679626465,
- 2.2099709510803223,
- -2.396385908126831
- ],
- "min" : [
- 4.521872043609619,
- -0.02460699900984764,
- -3.165167808532715
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 300,
- "componentType" : 5126,
- "count" : 236,
- "type" : "VEC3"
- },
- {
- "bufferView" : 301,
- "componentType" : 5126,
- "count" : 236,
- "type" : "VEC2"
- },
- {
- "bufferView" : 302,
- "componentType" : 5123,
- "count" : 546,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 303,
- "componentType" : 5126,
- "count" : 79,
- "max" : [
- -0.5994729995727539,
- 6.741554260253906,
- -2.9131057262420654
- ],
- "min" : [
- -0.6682379841804504,
- 6.611245155334473,
- -3.0545480251312256
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 304,
- "componentType" : 5126,
- "count" : 79,
- "type" : "VEC3"
- },
- {
- "bufferView" : 305,
- "componentType" : 5126,
- "count" : 79,
- "type" : "VEC2"
- },
- {
- "bufferView" : 306,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 307,
- "componentType" : 5126,
- "count" : 36,
- "max" : [
- -0.7734410166740417,
- 6.872191429138184,
- -2.7494587898254395
- ],
- "min" : [
- -0.9234469532966614,
- 6.741235733032227,
- -2.841710090637207
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 308,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC3"
- },
- {
- "bufferView" : 309,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC2"
- },
- {
- "bufferView" : 310,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 311,
- "componentType" : 5126,
- "count" : 88,
- "max" : [
- -0.7519219517707825,
- 6.741554260253906,
- -2.76173996925354
- ],
- "min" : [
- -0.8933629393577576,
- 6.611245155334473,
- -2.8305037021636963
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 312,
- "componentType" : 5126,
- "count" : 88,
- "type" : "VEC3"
- },
- {
- "bufferView" : 313,
- "componentType" : 5126,
- "count" : 88,
- "type" : "VEC2"
- },
- {
- "bufferView" : 314,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 315,
- "componentType" : 5126,
- "count" : 44,
- "max" : [
- -0.5872889757156372,
- 6.872191429138184,
- -2.5078139305114746
- ],
- "min" : [
- -0.6795389652252197,
- 6.741235733032227,
- -2.657819986343384
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 316,
- "componentType" : 5126,
- "count" : 44,
- "type" : "VEC3"
- },
- {
- "bufferView" : 317,
- "componentType" : 5126,
- "count" : 44,
- "type" : "VEC2"
- },
- {
- "bufferView" : 318,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 319,
- "componentType" : 5126,
- "count" : 67,
- "max" : [
- -0.5995700359344482,
- 6.741554260253906,
- -2.5378968715667725
- ],
- "min" : [
- -0.6683339476585388,
- 6.611245155334473,
- -2.6793389320373535
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 320,
- "componentType" : 5126,
- "count" : 67,
- "type" : "VEC3"
- },
- {
- "bufferView" : 321,
- "componentType" : 5126,
- "count" : 67,
- "type" : "VEC2"
- },
- {
- "bufferView" : 322,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 323,
- "componentType" : 5126,
- "count" : 36,
- "max" : [
- -0.34435999393463135,
- 6.872191429138184,
- -2.7507357597351074
- ],
- "min" : [
- -0.49436599016189575,
- 6.741235733032227,
- -2.8429858684539795
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 324,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC3"
- },
- {
- "bufferView" : 325,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC2"
- },
- {
- "bufferView" : 326,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 327,
- "componentType" : 5126,
- "count" : 91,
- "max" : [
- -0.37444400787353516,
- 6.741554260253906,
- -2.7619409561157227
- ],
- "min" : [
- -0.5158860087394714,
- 6.611245155334473,
- -2.8307058811187744
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 328,
- "componentType" : 5126,
- "count" : 91,
- "type" : "VEC3"
- },
- {
- "bufferView" : 329,
- "componentType" : 5126,
- "count" : 91,
- "type" : "VEC2"
- },
- {
- "bufferView" : 330,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 331,
- "componentType" : 5126,
- "count" : 267,
- "max" : [
- -0.33523300290107727,
- 6.956661701202393,
- -2.500180959701538
- ],
- "min" : [
- -0.9331609606742859,
- 6.871912479400635,
- -3.097054958343506
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 332,
- "componentType" : 5126,
- "count" : 267,
- "type" : "VEC3"
- },
- {
- "bufferView" : 333,
- "componentType" : 5126,
- "count" : 267,
- "type" : "VEC2"
- },
- {
- "bufferView" : 334,
- "componentType" : 5123,
- "count" : 900,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 335,
- "componentType" : 5126,
- "count" : 213,
- "max" : [
- -0.35787200927734375,
- 5.174014568328857,
- -2.5223629474639893
- ],
- "min" : [
- -0.9072719216346741,
- 5.06633186340332,
- -3.071875810623169
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 336,
- "componentType" : 5126,
- "count" : 213,
- "type" : "VEC3"
- },
- {
- "bufferView" : 337,
- "componentType" : 5126,
- "count" : 213,
- "type" : "VEC2"
- },
- {
- "bufferView" : 338,
- "componentType" : 5123,
- "count" : 498,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 339,
- "componentType" : 5126,
- "count" : 1127,
- "max" : [
- -7.7908244132995605,
- 6.87420654296875,
- -2.532228946685791
- ],
- "min" : [
- -8.315951347351074,
- 5.172232627868652,
- -3.056950092315674
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 340,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC3"
- },
- {
- "bufferView" : 341,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC2"
- },
- {
- "bufferView" : 342,
- "componentType" : 5123,
- "count" : 3660,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 343,
- "componentType" : 5126,
- "count" : 4749,
- "max" : [
- 9.128480911254883,
- 4.104053020477295,
- 2.333263874053955
- ],
- "min" : [
- -10.4122896194458,
- 2.113954782485962,
- -3.0553789138793945
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 344,
- "componentType" : 5126,
- "count" : 4749,
- "type" : "VEC3"
- },
- {
- "bufferView" : 345,
- "componentType" : 5126,
- "count" : 4749,
- "type" : "VEC2"
- },
- {
- "bufferView" : 346,
- "componentType" : 5123,
- "count" : 8688,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 347,
- "componentType" : 5126,
- "count" : 37,
- "max" : [
- -8.001862525939941,
- 6.872191429138184,
- -2.9346258640289307
- ],
- "min" : [
- -8.094112396240234,
- 6.741235733032227,
- -3.0846309661865234
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 348,
- "componentType" : 5126,
- "count" : 37,
- "type" : "VEC3"
- },
- {
- "bufferView" : 349,
- "componentType" : 5126,
- "count" : 37,
- "type" : "VEC2"
- },
- {
- "bufferView" : 350,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 351,
- "componentType" : 5126,
- "count" : 80,
- "max" : [
- -8.014142990112305,
- 6.741554260253906,
- -2.9131057262420654
- ],
- "min" : [
- -8.082907676696777,
- 6.611245155334473,
- -3.0545480251312256
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 352,
- "componentType" : 5126,
- "count" : 80,
- "type" : "VEC3"
- },
- {
- "bufferView" : 353,
- "componentType" : 5126,
- "count" : 80,
- "type" : "VEC2"
- },
- {
- "bufferView" : 354,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 355,
- "componentType" : 5126,
- "count" : 39,
- "max" : [
- -7.7589335441589355,
- 6.872191429138184,
- -2.7494587898254395
- ],
- "min" : [
- -7.908940315246582,
- 6.741235733032227,
- -2.841710090637207
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 356,
- "componentType" : 5126,
- "count" : 39,
- "type" : "VEC3"
- },
- {
- "bufferView" : 357,
- "componentType" : 5126,
- "count" : 39,
- "type" : "VEC2"
- },
- {
- "bufferView" : 358,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 359,
- "componentType" : 5126,
- "count" : 81,
- "max" : [
- -7.7890167236328125,
- 6.741554260253906,
- -2.76173996925354
- ],
- "min" : [
- -7.930459022521973,
- 6.611245155334473,
- -2.8305037021636963
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 360,
- "componentType" : 5126,
- "count" : 81,
- "type" : "VEC3"
- },
- {
- "bufferView" : 361,
- "componentType" : 5126,
- "count" : 81,
- "type" : "VEC2"
- },
- {
- "bufferView" : 362,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 363,
- "componentType" : 5126,
- "count" : 38,
- "max" : [
- -8.00284194946289,
- 6.872191429138184,
- -2.5078139305114746
- ],
- "min" : [
- -8.0950927734375,
- 6.741235733032227,
- -2.657819986343384
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 364,
- "componentType" : 5126,
- "count" : 38,
- "type" : "VEC3"
- },
- {
- "bufferView" : 365,
- "componentType" : 5126,
- "count" : 38,
- "type" : "VEC2"
- },
- {
- "bufferView" : 366,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 367,
- "componentType" : 5126,
- "count" : 72,
- "max" : [
- -8.014047622680664,
- 6.741554260253906,
- -2.5378968715667725
- ],
- "min" : [
- -8.082810401916504,
- 6.611245155334473,
- -2.6793389320373535
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 368,
- "componentType" : 5126,
- "count" : 72,
- "type" : "VEC3"
- },
- {
- "bufferView" : 369,
- "componentType" : 5126,
- "count" : 72,
- "type" : "VEC2"
- },
- {
- "bufferView" : 370,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 371,
- "componentType" : 5126,
- "count" : 35,
- "max" : [
- -8.188014030456543,
- 6.872191429138184,
- -2.7507357597351074
- ],
- "min" : [
- -8.338020324707031,
- 6.741235733032227,
- -2.8429858684539795
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 372,
- "componentType" : 5126,
- "count" : 35,
- "type" : "VEC3"
- },
- {
- "bufferView" : 373,
- "componentType" : 5126,
- "count" : 35,
- "type" : "VEC2"
- },
- {
- "bufferView" : 374,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 375,
- "componentType" : 5126,
- "count" : 92,
- "max" : [
- -8.166494369506836,
- 6.741554260253906,
- -2.7619409561157227
- ],
- "min" : [
- -8.307936668395996,
- 6.611245155334473,
- -2.8307058811187744
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 376,
- "componentType" : 5126,
- "count" : 92,
- "type" : "VEC3"
- },
- {
- "bufferView" : 377,
- "componentType" : 5126,
- "count" : 92,
- "type" : "VEC2"
- },
- {
- "bufferView" : 378,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 379,
- "componentType" : 5126,
- "count" : 267,
- "max" : [
- -7.749220371246338,
- 6.956661701202393,
- -2.500180959701538
- ],
- "min" : [
- -8.347147941589355,
- 6.871912479400635,
- -3.097054958343506
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 380,
- "componentType" : 5126,
- "count" : 267,
- "type" : "VEC3"
- },
- {
- "bufferView" : 381,
- "componentType" : 5126,
- "count" : 267,
- "type" : "VEC2"
- },
- {
- "bufferView" : 382,
- "componentType" : 5123,
- "count" : 900,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 383,
- "componentType" : 5126,
- "count" : 212,
- "max" : [
- -7.775108337402344,
- 5.174014568328857,
- -2.5223617553710938
- ],
- "min" : [
- -8.324508666992188,
- 5.06633186340332,
- -3.071875810623169
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 384,
- "componentType" : 5126,
- "count" : 212,
- "type" : "VEC3"
- },
- {
- "bufferView" : 385,
- "componentType" : 5126,
- "count" : 212,
- "type" : "VEC2"
- },
- {
- "bufferView" : 386,
- "componentType" : 5123,
- "count" : 498,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 387,
- "componentType" : 5126,
- "count" : 25,
- "max" : [
- 13.022210121154785,
- 4.155303001403809,
- 5.741851806640625
- ],
- "min" : [
- -14.322240829467773,
- 4.155303001403809,
- -6.454309940338135
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 388,
- "componentType" : 5126,
- "count" : 25,
- "type" : "VEC3"
- },
- {
- "bufferView" : 389,
- "componentType" : 5126,
- "count" : 25,
- "type" : "VEC2"
- },
- {
- "bufferView" : 390,
- "componentType" : 5123,
- "count" : 48,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 391,
- "componentType" : 5126,
- "count" : 1127,
- "max" : [
- -4.0750627517700195,
- 6.87420654296875,
- -2.54028582572937
- ],
- "min" : [
- -4.600190162658691,
- 5.172232627868652,
- -3.0650057792663574
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 392,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC3"
- },
- {
- "bufferView" : 393,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC2"
- },
- {
- "bufferView" : 394,
- "componentType" : 5123,
- "count" : 3660,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 395,
- "componentType" : 5126,
- "count" : 38,
- "max" : [
- -4.2861008644104,
- 6.872191429138184,
- -2.5126049518585205
- ],
- "min" : [
- -4.378350734710693,
- 6.741235733032227,
- -2.6626100540161133
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 396,
- "componentType" : 5126,
- "count" : 38,
- "type" : "VEC3"
- },
- {
- "bufferView" : 397,
- "componentType" : 5126,
- "count" : 38,
- "type" : "VEC2"
- },
- {
- "bufferView" : 398,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 399,
- "componentType" : 5126,
- "count" : 80,
- "max" : [
- -4.2983808517456055,
- 6.741554260253906,
- -2.5426878929138184
- ],
- "min" : [
- -4.367146015167236,
- 6.611245155334473,
- -2.6841301918029785
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 400,
- "componentType" : 5126,
- "count" : 80,
- "type" : "VEC3"
- },
- {
- "bufferView" : 401,
- "componentType" : 5126,
- "count" : 80,
- "type" : "VEC2"
- },
- {
- "bufferView" : 402,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 403,
- "componentType" : 5126,
- "count" : 42,
- "max" : [
- -4.043172836303711,
- 6.872191429138184,
- -2.755525827407837
- ],
- "min" : [
- -4.193179130554199,
- 6.741235733032227,
- -2.8477766513824463
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 404,
- "componentType" : 5126,
- "count" : 42,
- "type" : "VEC3"
- },
- {
- "bufferView" : 405,
- "componentType" : 5126,
- "count" : 42,
- "type" : "VEC2"
- },
- {
- "bufferView" : 406,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 407,
- "componentType" : 5126,
- "count" : 87,
- "max" : [
- -4.073256015777588,
- 6.741554260253906,
- -2.7667317390441895
- ],
- "min" : [
- -4.214696884155273,
- 6.611245155334473,
- -2.835495948791504
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 408,
- "componentType" : 5126,
- "count" : 87,
- "type" : "VEC3"
- },
- {
- "bufferView" : 409,
- "componentType" : 5126,
- "count" : 87,
- "type" : "VEC2"
- },
- {
- "bufferView" : 410,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 411,
- "componentType" : 5126,
- "count" : 40,
- "max" : [
- -4.287079811096191,
- 6.872191429138184,
- -2.9394166469573975
- ],
- "min" : [
- -4.379330635070801,
- 6.741235733032227,
- -3.0894219875335693
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 412,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC3"
- },
- {
- "bufferView" : 413,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC2"
- },
- {
- "bufferView" : 414,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 415,
- "componentType" : 5126,
- "count" : 61,
- "max" : [
- -4.298285961151123,
- 6.741554260253906,
- -2.9178969860076904
- ],
- "min" : [
- -4.3670501708984375,
- 6.611245155334473,
- -3.059338092803955
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 416,
- "componentType" : 5126,
- "count" : 61,
- "type" : "VEC3"
- },
- {
- "bufferView" : 417,
- "componentType" : 5126,
- "count" : 61,
- "type" : "VEC2"
- },
- {
- "bufferView" : 418,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 419,
- "componentType" : 5126,
- "count" : 38,
- "max" : [
- -4.47225284576416,
- 6.872191429138184,
- -2.7542500495910645
- ],
- "min" : [
- -4.622257709503174,
- 6.741235733032227,
- -2.8464999198913574
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 420,
- "componentType" : 5126,
- "count" : 38,
- "type" : "VEC3"
- },
- {
- "bufferView" : 421,
- "componentType" : 5126,
- "count" : 38,
- "type" : "VEC2"
- },
- {
- "bufferView" : 422,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 423,
- "componentType" : 5126,
- "count" : 97,
- "max" : [
- -4.450733661651611,
- 6.741554260253906,
- -2.7665300369262695
- ],
- "min" : [
- -4.592175006866455,
- 6.611245155334473,
- -2.835294723510742
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 424,
- "componentType" : 5126,
- "count" : 97,
- "type" : "VEC3"
- },
- {
- "bufferView" : 425,
- "componentType" : 5126,
- "count" : 97,
- "type" : "VEC2"
- },
- {
- "bufferView" : 426,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 427,
- "componentType" : 5126,
- "count" : 269,
- "max" : [
- -4.0334577560424805,
- 6.956661701202393,
- -2.500180959701538
- ],
- "min" : [
- -4.631386756896973,
- 6.871912479400635,
- -3.097054958343506
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 428,
- "componentType" : 5126,
- "count" : 269,
- "type" : "VEC3"
- },
- {
- "bufferView" : 429,
- "componentType" : 5126,
- "count" : 269,
- "type" : "VEC2"
- },
- {
- "bufferView" : 430,
- "componentType" : 5123,
- "count" : 900,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 431,
- "componentType" : 5126,
- "count" : 1848,
- "max" : [
- 13.02202033996582,
- 8.62651538848877,
- 5.749026775360107
- ],
- "min" : [
- -14.294520378112793,
- 6.944672584533691,
- -6.45148229598999
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 432,
- "componentType" : 5126,
- "count" : 1848,
- "type" : "VEC3"
- },
- {
- "bufferView" : 433,
- "componentType" : 5126,
- "count" : 1848,
- "type" : "VEC2"
- },
- {
- "bufferView" : 434,
- "componentType" : 5123,
- "count" : 6996,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 435,
- "componentType" : 5126,
- "count" : 213,
- "max" : [
- -4.059346675872803,
- 5.174014568328857,
- -2.525360107421875
- ],
- "min" : [
- -4.608747959136963,
- 5.06633186340332,
- -3.074873924255371
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 436,
- "componentType" : 5126,
- "count" : 213,
- "type" : "VEC3"
- },
- {
- "bufferView" : 437,
- "componentType" : 5126,
- "count" : 213,
- "type" : "VEC2"
- },
- {
- "bufferView" : 438,
- "componentType" : 5123,
- "count" : 498,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 439,
- "componentType" : 5126,
- "count" : 1127,
- "max" : [
- 7.03314733505249,
- 6.87420654296875,
- 2.307628870010376
- ],
- "min" : [
- 6.508020401000977,
- 5.172232627868652,
- 1.7829079627990723
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 440,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC3"
- },
- {
- "bufferView" : 441,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC2"
- },
- {
- "bufferView" : 442,
- "componentType" : 5123,
- "count" : 3660,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 443,
- "componentType" : 5126,
- "count" : 38,
- "max" : [
- 6.822110652923584,
- 6.872191429138184,
- 2.3353099822998047
- ],
- "min" : [
- 6.729860782623291,
- 6.741235733032227,
- 2.185304880142212
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 444,
- "componentType" : 5126,
- "count" : 38,
- "type" : "VEC3"
- },
- {
- "bufferView" : 445,
- "componentType" : 5126,
- "count" : 38,
- "type" : "VEC2"
- },
- {
- "bufferView" : 446,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 447,
- "componentType" : 5126,
- "count" : 68,
- "max" : [
- 6.809830188751221,
- 6.741554260253906,
- 2.3052268028259277
- ],
- "min" : [
- 6.741065502166748,
- 6.611245155334473,
- 2.163784980773926
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 448,
- "componentType" : 5126,
- "count" : 68,
- "type" : "VEC3"
- },
- {
- "bufferView" : 449,
- "componentType" : 5126,
- "count" : 68,
- "type" : "VEC2"
- },
- {
- "bufferView" : 450,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 451,
- "componentType" : 5126,
- "count" : 39,
- "max" : [
- 7.065038681030273,
- 6.872191429138184,
- 2.0923879146575928
- ],
- "min" : [
- 6.915033340454102,
- 6.741235733032227,
- 2.0001378059387207
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 452,
- "componentType" : 5126,
- "count" : 39,
- "type" : "VEC3"
- },
- {
- "bufferView" : 453,
- "componentType" : 5126,
- "count" : 39,
- "type" : "VEC2"
- },
- {
- "bufferView" : 454,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 455,
- "componentType" : 5126,
- "count" : 90,
- "max" : [
- 7.034955978393555,
- 6.741554260253906,
- 2.0811829566955566
- ],
- "min" : [
- 6.8935136795043945,
- 6.611245155334473,
- 2.0124189853668213
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 456,
- "componentType" : 5126,
- "count" : 90,
- "type" : "VEC3"
- },
- {
- "bufferView" : 457,
- "componentType" : 5126,
- "count" : 90,
- "type" : "VEC2"
- },
- {
- "bufferView" : 458,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 459,
- "componentType" : 5126,
- "count" : 42,
- "max" : [
- 6.821131229400635,
- 6.872191429138184,
- 1.908497929573059
- ],
- "min" : [
- 6.728880405426025,
- 6.741235733032227,
- 1.7584928274154663
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 460,
- "componentType" : 5126,
- "count" : 42,
- "type" : "VEC3"
- },
- {
- "bufferView" : 461,
- "componentType" : 5126,
- "count" : 42,
- "type" : "VEC2"
- },
- {
- "bufferView" : 462,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 463,
- "componentType" : 5126,
- "count" : 70,
- "max" : [
- 6.809925556182861,
- 6.741554260253906,
- 1.9300179481506348
- ],
- "min" : [
- 6.741161823272705,
- 6.611245155334473,
- 1.7885758876800537
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 464,
- "componentType" : 5126,
- "count" : 70,
- "type" : "VEC3"
- },
- {
- "bufferView" : 465,
- "componentType" : 5126,
- "count" : 70,
- "type" : "VEC2"
- },
- {
- "bufferView" : 466,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 467,
- "componentType" : 5126,
- "count" : 37,
- "max" : [
- 6.635957717895508,
- 6.872191429138184,
- 2.0936648845672607
- ],
- "min" : [
- 6.485952377319336,
- 6.741235733032227,
- 2.0014138221740723
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 468,
- "componentType" : 5126,
- "count" : 37,
- "type" : "VEC3"
- },
- {
- "bufferView" : 469,
- "componentType" : 5126,
- "count" : 37,
- "type" : "VEC2"
- },
- {
- "bufferView" : 470,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 471,
- "componentType" : 5126,
- "count" : 85,
- "max" : [
- 6.657477855682373,
- 6.741554260253906,
- 2.0813839435577393
- ],
- "min" : [
- 6.516035556793213,
- 6.611245155334473,
- 2.012619972229004
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 472,
- "componentType" : 5126,
- "count" : 85,
- "type" : "VEC3"
- },
- {
- "bufferView" : 473,
- "componentType" : 5126,
- "count" : 85,
- "type" : "VEC2"
- },
- {
- "bufferView" : 474,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 475,
- "componentType" : 5126,
- "count" : 874,
- "max" : [
- -9.919081687927246,
- 8.201327323913574,
- 1.7145469188690186
- ],
- "min" : [
- -10.291831016540527,
- 6.957372665405273,
- -2.4111900329589844
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 476,
- "componentType" : 5126,
- "count" : 874,
- "type" : "VEC3"
- },
- {
- "bufferView" : 477,
- "componentType" : 5126,
- "count" : 874,
- "type" : "VEC2"
- },
- {
- "bufferView" : 478,
- "componentType" : 5123,
- "count" : 1644,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 479,
- "componentType" : 5126,
- "count" : 269,
- "max" : [
- 7.0747528076171875,
- 6.956661701202393,
- 2.3477330207824707
- ],
- "min" : [
- 6.476824760437012,
- 6.871912479400635,
- 1.7508600950241089
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 480,
- "componentType" : 5126,
- "count" : 269,
- "type" : "VEC3"
- },
- {
- "bufferView" : 481,
- "componentType" : 5126,
- "count" : 269,
- "type" : "VEC2"
- },
- {
- "bufferView" : 482,
- "componentType" : 5123,
- "count" : 900,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 483,
- "componentType" : 5126,
- "count" : 208,
- "max" : [
- 7.048864364624023,
- 5.174014568328857,
- 2.32255482673645
- ],
- "min" : [
- 6.49946403503418,
- 5.06633186340332,
- 1.7730408906936646
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 484,
- "componentType" : 5126,
- "count" : 208,
- "type" : "VEC3"
- },
- {
- "bufferView" : 485,
- "componentType" : 5126,
- "count" : 208,
- "type" : "VEC2"
- },
- {
- "bufferView" : 486,
- "componentType" : 5123,
- "count" : 498,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 487,
- "componentType" : 5126,
- "count" : 1127,
- "max" : [
- 3.3218438625335693,
- 6.87420654296875,
- 2.307628870010376
- ],
- "min" : [
- 2.796717882156372,
- 5.172232627868652,
- 1.7829079627990723
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 488,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC3"
- },
- {
- "bufferView" : 489,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC2"
- },
- {
- "bufferView" : 490,
- "componentType" : 5123,
- "count" : 3660,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 491,
- "componentType" : 5126,
- "count" : 37,
- "max" : [
- 3.1000049114227295,
- 6.872191429138184,
- 2.3353099822998047
- ],
- "min" : [
- 3.0077548027038574,
- 6.741235733032227,
- 2.185304880142212
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 492,
- "componentType" : 5126,
- "count" : 37,
- "type" : "VEC3"
- },
- {
- "bufferView" : 493,
- "componentType" : 5126,
- "count" : 37,
- "type" : "VEC2"
- },
- {
- "bufferView" : 494,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 495,
- "componentType" : 5126,
- "count" : 72,
- "max" : [
- 3.088798761367798,
- 6.741554260253906,
- 2.3052268028259277
- ],
- "min" : [
- 3.0200347900390625,
- 6.611245155334473,
- 2.163784980773926
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 496,
- "componentType" : 5126,
- "count" : 72,
- "type" : "VEC3"
- },
- {
- "bufferView" : 497,
- "componentType" : 5126,
- "count" : 72,
- "type" : "VEC2"
- },
- {
- "bufferView" : 498,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 499,
- "componentType" : 5126,
- "count" : 36,
- "max" : [
- 2.9148318767547607,
- 6.872191429138184,
- 2.0923879146575928
- ],
- "min" : [
- 2.7648260593414307,
- 6.741235733032227,
- 2.0001378059387207
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 500,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC3"
- },
- {
- "bufferView" : 501,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC2"
- },
- {
- "bufferView" : 502,
- "componentType" : 5126,
- "count" : 84,
- "max" : [
- 2.9363510608673096,
- 6.741554260253906,
- 2.0811829566955566
- ],
- "min" : [
- 2.794910192489624,
- 6.611245155334473,
- 2.0124189853668213
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 503,
- "componentType" : 5126,
- "count" : 84,
- "type" : "VEC3"
- },
- {
- "bufferView" : 504,
- "componentType" : 5126,
- "count" : 84,
- "type" : "VEC2"
- },
- {
- "bufferView" : 505,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 506,
- "componentType" : 5126,
- "count" : 37,
- "max" : [
- 3.1009838581085205,
- 6.872191429138184,
- 1.908499002456665
- ],
- "min" : [
- 3.0087337493896484,
- 6.741235733032227,
- 1.7584928274154663
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 507,
- "componentType" : 5126,
- "count" : 37,
- "type" : "VEC3"
- },
- {
- "bufferView" : 508,
- "componentType" : 5126,
- "count" : 37,
- "type" : "VEC2"
- },
- {
- "bufferView" : 509,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 510,
- "componentType" : 5126,
- "count" : 72,
- "max" : [
- 3.0887038707733154,
- 6.741554260253906,
- 1.9300179481506348
- ],
- "min" : [
- 3.0199389457702637,
- 6.611245155334473,
- 1.7885758876800537
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 511,
- "componentType" : 5126,
- "count" : 72,
- "type" : "VEC3"
- },
- {
- "bufferView" : 512,
- "componentType" : 5126,
- "count" : 72,
- "type" : "VEC2"
- },
- {
- "bufferView" : 513,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 514,
- "componentType" : 5126,
- "count" : 35,
- "max" : [
- 3.34391188621521,
- 6.872191429138184,
- 2.0936648845672607
- ],
- "min" : [
- 3.193906784057617,
- 6.741235733032227,
- 2.0014150142669678
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 515,
- "componentType" : 5126,
- "count" : 35,
- "type" : "VEC3"
- },
- {
- "bufferView" : 516,
- "componentType" : 5126,
- "count" : 35,
- "type" : "VEC2"
- },
- {
- "bufferView" : 517,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 518,
- "componentType" : 5126,
- "count" : 899,
- "max" : [
- 8.972500801086426,
- 8.201327323913574,
- 1.7145469188690186
- ],
- "min" : [
- 8.599747657775879,
- 6.957372665405273,
- -2.4111900329589844
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 519,
- "componentType" : 5126,
- "count" : 899,
- "type" : "VEC3"
- },
- {
- "bufferView" : 520,
- "componentType" : 5126,
- "count" : 899,
- "type" : "VEC2"
- },
- {
- "bufferView" : 521,
- "componentType" : 5123,
- "count" : 1644,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 522,
- "componentType" : 5126,
- "count" : 82,
- "max" : [
- 3.313828945159912,
- 6.741554260253906,
- 2.0813839435577393
- ],
- "min" : [
- 3.1723878383636475,
- 6.611245155334473,
- 2.012619972229004
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 523,
- "componentType" : 5126,
- "count" : 82,
- "type" : "VEC3"
- },
- {
- "bufferView" : 524,
- "componentType" : 5126,
- "count" : 82,
- "type" : "VEC2"
- },
- {
- "bufferView" : 525,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 526,
- "componentType" : 5126,
- "count" : 266,
- "max" : [
- 3.3530399799346924,
- 6.956661701202393,
- 2.347733974456787
- ],
- "min" : [
- 2.7551119327545166,
- 6.871912479400635,
- 1.7508600950241089
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 527,
- "componentType" : 5126,
- "count" : 266,
- "type" : "VEC3"
- },
- {
- "bufferView" : 528,
- "componentType" : 5126,
- "count" : 266,
- "type" : "VEC2"
- },
- {
- "bufferView" : 529,
- "componentType" : 5123,
- "count" : 900,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 530,
- "componentType" : 5126,
- "count" : 207,
- "max" : [
- 3.3304009437561035,
- 5.174014568328857,
- 2.32255482673645
- ],
- "min" : [
- 2.781000852584839,
- 5.06633186340332,
- 1.7730408906936646
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 531,
- "componentType" : 5126,
- "count" : 207,
- "type" : "VEC3"
- },
- {
- "bufferView" : 532,
- "componentType" : 5126,
- "count" : 207,
- "type" : "VEC2"
- },
- {
- "bufferView" : 533,
- "componentType" : 5123,
- "count" : 498,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 534,
- "componentType" : 5126,
- "count" : 1127,
- "max" : [
- -0.3664289712905884,
- 6.87420654296875,
- 2.3156850337982178
- ],
- "min" : [
- -0.8915549516677856,
- 5.172232627868652,
- 1.790964961051941
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 535,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC3"
- },
- {
- "bufferView" : 536,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC2"
- },
- {
- "bufferView" : 537,
- "componentType" : 5123,
- "count" : 3660,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 538,
- "componentType" : 5126,
- "count" : 39,
- "max" : [
- -0.588267982006073,
- 6.872191429138184,
- 1.9132888317108154
- ],
- "min" : [
- -0.6805179715156555,
- 6.741235733032227,
- 1.7632828950881958
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 539,
- "componentType" : 5126,
- "count" : 39,
- "type" : "VEC3"
- },
- {
- "bufferView" : 540,
- "componentType" : 5126,
- "count" : 39,
- "type" : "VEC2"
- },
- {
- "bufferView" : 541,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 542,
- "componentType" : 5126,
- "count" : 70,
- "max" : [
- -0.5994729995727539,
- 6.741554260253906,
- 1.9348078966140747
- ],
- "min" : [
- -0.6682379841804504,
- 6.611245155334473,
- 1.7933669090270996
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 543,
- "componentType" : 5126,
- "count" : 70,
- "type" : "VEC3"
- },
- {
- "bufferView" : 544,
- "componentType" : 5126,
- "count" : 70,
- "type" : "VEC2"
- },
- {
- "bufferView" : 545,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 546,
- "componentType" : 5126,
- "count" : 35,
- "max" : [
- -0.7734410166740417,
- 6.872191429138184,
- 2.0984559059143066
- ],
- "min" : [
- -0.9234469532966614,
- 6.741235733032227,
- 2.006204843521118
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 547,
- "componentType" : 5126,
- "count" : 35,
- "type" : "VEC3"
- },
- {
- "bufferView" : 548,
- "componentType" : 5126,
- "count" : 35,
- "type" : "VEC2"
- },
- {
- "bufferView" : 549,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 550,
- "componentType" : 5126,
- "count" : 94,
- "max" : [
- -0.7519219517707825,
- 6.741554260253906,
- 2.086174964904785
- ],
- "min" : [
- -0.8933629393577576,
- 6.611245155334473,
- 2.0174107551574707
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 551,
- "componentType" : 5126,
- "count" : 94,
- "type" : "VEC3"
- },
- {
- "bufferView" : 552,
- "componentType" : 5126,
- "count" : 94,
- "type" : "VEC2"
- },
- {
- "bufferView" : 553,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 554,
- "componentType" : 5126,
- "count" : 44,
- "max" : [
- -0.5872889757156372,
- 6.872191429138184,
- 2.340099811553955
- ],
- "min" : [
- -0.6795389652252197,
- 6.741235733032227,
- 2.1900949478149414
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 555,
- "componentType" : 5126,
- "count" : 44,
- "type" : "VEC3"
- },
- {
- "bufferView" : 556,
- "componentType" : 5126,
- "count" : 44,
- "type" : "VEC2"
- },
- {
- "bufferView" : 557,
- "componentType" : 5126,
- "count" : 69,
- "max" : [
- -0.5995700359344482,
- 6.741554260253906,
- 2.3100168704986572
- ],
- "min" : [
- -0.6683339476585388,
- 6.611245155334473,
- 2.1685757637023926
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 558,
- "componentType" : 5126,
- "count" : 69,
- "type" : "VEC3"
- },
- {
- "bufferView" : 559,
- "componentType" : 5126,
- "count" : 69,
- "type" : "VEC2"
- },
- {
- "bufferView" : 560,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 561,
- "componentType" : 5126,
- "count" : 696,
- "max" : [
- -9.481002807617188,
- 6.953227519989014,
- 2.4335010051727295
- ],
- "min" : [
- -10.462919235229492,
- 5.07139778137207,
- 1.4515849351882935
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 562,
- "componentType" : 5126,
- "count" : 696,
- "type" : "VEC3"
- },
- {
- "bufferView" : 563,
- "componentType" : 5126,
- "count" : 696,
- "type" : "VEC2"
- },
- {
- "bufferView" : 564,
- "componentType" : 5123,
- "count" : 1188,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 565,
- "componentType" : 5126,
- "count" : 36,
- "max" : [
- -0.34435999393463135,
- 6.872191429138184,
- 2.0971789360046387
- ],
- "min" : [
- -0.49436599016189575,
- 6.741235733032227,
- 2.0049288272857666
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 566,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC3"
- },
- {
- "bufferView" : 567,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC2"
- },
- {
- "bufferView" : 568,
- "componentType" : 5126,
- "count" : 85,
- "max" : [
- -0.37444400787353516,
- 6.741554260253906,
- 2.0859739780426025
- ],
- "min" : [
- -0.5158860087394714,
- 6.611245155334473,
- 2.017209053039551
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 569,
- "componentType" : 5126,
- "count" : 85,
- "type" : "VEC3"
- },
- {
- "bufferView" : 570,
- "componentType" : 5126,
- "count" : 85,
- "type" : "VEC2"
- },
- {
- "bufferView" : 571,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 572,
- "componentType" : 5126,
- "count" : 267,
- "max" : [
- -0.33523300290107727,
- 6.956661701202393,
- 2.3477330207824707
- ],
- "min" : [
- -0.9331609606742859,
- 6.871912479400635,
- 1.7508600950241089
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 573,
- "componentType" : 5126,
- "count" : 267,
- "type" : "VEC3"
- },
- {
- "bufferView" : 574,
- "componentType" : 5126,
- "count" : 267,
- "type" : "VEC2"
- },
- {
- "bufferView" : 575,
- "componentType" : 5123,
- "count" : 900,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 576,
- "componentType" : 5126,
- "count" : 210,
- "max" : [
- -0.35787200927734375,
- 5.174014568328857,
- 2.325551748275757
- ],
- "min" : [
- -0.9072719216346741,
- 5.06633186340332,
- 1.7760388851165771
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 577,
- "componentType" : 5126,
- "count" : 210,
- "type" : "VEC3"
- },
- {
- "bufferView" : 578,
- "componentType" : 5126,
- "count" : 210,
- "type" : "VEC2"
- },
- {
- "bufferView" : 579,
- "componentType" : 5123,
- "count" : 498,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 580,
- "componentType" : 5126,
- "count" : 1127,
- "max" : [
- -7.7908244132995605,
- 6.87420654296875,
- 2.3156850337982178
- ],
- "min" : [
- -8.315951347351074,
- 5.172232627868652,
- 1.790964961051941
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 581,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC3"
- },
- {
- "bufferView" : 582,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC2"
- },
- {
- "bufferView" : 583,
- "componentType" : 5123,
- "count" : 3660,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 584,
- "componentType" : 5126,
- "count" : 35,
- "max" : [
- -8.001862525939941,
- 6.872191429138184,
- 1.9132888317108154
- ],
- "min" : [
- -8.094112396240234,
- 6.741235733032227,
- 1.7632828950881958
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 585,
- "componentType" : 5126,
- "count" : 35,
- "type" : "VEC3"
- },
- {
- "bufferView" : 586,
- "componentType" : 5126,
- "count" : 35,
- "type" : "VEC2"
- },
- {
- "bufferView" : 587,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 588,
- "componentType" : 5126,
- "count" : 73,
- "max" : [
- -8.014142990112305,
- 6.741554260253906,
- 1.9348078966140747
- ],
- "min" : [
- -8.082907676696777,
- 6.611245155334473,
- 1.7933669090270996
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 589,
- "componentType" : 5126,
- "count" : 73,
- "type" : "VEC3"
- },
- {
- "bufferView" : 590,
- "componentType" : 5126,
- "count" : 73,
- "type" : "VEC2"
- },
- {
- "bufferView" : 591,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 592,
- "componentType" : 5126,
- "count" : 34,
- "max" : [
- -7.7589335441589355,
- 6.872191429138184,
- 2.0984559059143066
- ],
- "min" : [
- -7.908940315246582,
- 6.741235733032227,
- 2.006204843521118
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 593,
- "componentType" : 5126,
- "count" : 34,
- "type" : "VEC3"
- },
- {
- "bufferView" : 594,
- "componentType" : 5126,
- "count" : 34,
- "type" : "VEC2"
- },
- {
- "bufferView" : 595,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 596,
- "componentType" : 5126,
- "count" : 85,
- "max" : [
- -7.7890167236328125,
- 6.741554260253906,
- 2.086174964904785
- ],
- "min" : [
- -7.930459022521973,
- 6.611245155334473,
- 2.0174107551574707
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 597,
- "componentType" : 5126,
- "count" : 85,
- "type" : "VEC3"
- },
- {
- "bufferView" : 598,
- "componentType" : 5126,
- "count" : 85,
- "type" : "VEC2"
- },
- {
- "bufferView" : 599,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 600,
- "componentType" : 5126,
- "count" : 40,
- "max" : [
- -8.00284194946289,
- 6.872191429138184,
- 2.340099811553955
- ],
- "min" : [
- -8.0950927734375,
- 6.741235733032227,
- 2.1900949478149414
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 601,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC3"
- },
- {
- "bufferView" : 602,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC2"
- },
- {
- "bufferView" : 603,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 604,
- "componentType" : 5126,
- "count" : 495,
- "max" : [
- -5.810407638549805,
- 6.953227519989014,
- 2.4335010051727295
- ],
- "min" : [
- -6.556130409240723,
- 5.07139778137207,
- 1.687882900238037
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 605,
- "componentType" : 5126,
- "count" : 495,
- "type" : "VEC3"
- },
- {
- "bufferView" : 606,
- "componentType" : 5126,
- "count" : 495,
- "type" : "VEC2"
- },
- {
- "bufferView" : 607,
- "componentType" : 5123,
- "count" : 786,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 608,
- "componentType" : 5126,
- "count" : 74,
- "max" : [
- -8.014047622680664,
- 6.741554260253906,
- 2.3100168704986572
- ],
- "min" : [
- -8.082810401916504,
- 6.611245155334473,
- 2.1685757637023926
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 609,
- "componentType" : 5126,
- "count" : 74,
- "type" : "VEC3"
- },
- {
- "bufferView" : 610,
- "componentType" : 5126,
- "count" : 74,
- "type" : "VEC2"
- },
- {
- "bufferView" : 611,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 612,
- "componentType" : 5126,
- "count" : 33,
- "max" : [
- -8.188014030456543,
- 6.872191429138184,
- 2.0971789360046387
- ],
- "min" : [
- -8.338020324707031,
- 6.741235733032227,
- 2.0049288272857666
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 613,
- "componentType" : 5126,
- "count" : 33,
- "type" : "VEC3"
- },
- {
- "bufferView" : 614,
- "componentType" : 5126,
- "count" : 33,
- "type" : "VEC2"
- },
- {
- "bufferView" : 615,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 616,
- "componentType" : 5126,
- "count" : 90,
- "max" : [
- -8.166494369506836,
- 6.741554260253906,
- 2.0859739780426025
- ],
- "min" : [
- -8.307936668395996,
- 6.611245155334473,
- 2.017209053039551
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 617,
- "componentType" : 5126,
- "count" : 90,
- "type" : "VEC3"
- },
- {
- "bufferView" : 618,
- "componentType" : 5126,
- "count" : 90,
- "type" : "VEC2"
- },
- {
- "bufferView" : 619,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 620,
- "componentType" : 5126,
- "count" : 267,
- "max" : [
- -7.749220371246338,
- 6.956661701202393,
- 2.347733974456787
- ],
- "min" : [
- -8.347147941589355,
- 6.871912479400635,
- 1.7508600950241089
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 621,
- "componentType" : 5126,
- "count" : 267,
- "type" : "VEC3"
- },
- {
- "bufferView" : 622,
- "componentType" : 5126,
- "count" : 267,
- "type" : "VEC2"
- },
- {
- "bufferView" : 623,
- "componentType" : 5123,
- "count" : 900,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 624,
- "componentType" : 5126,
- "count" : 199,
- "max" : [
- -7.775108337402344,
- 5.174014568328857,
- 2.325551748275757
- ],
- "min" : [
- -8.324508666992188,
- 5.06633186340332,
- 1.7760388851165771
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 625,
- "componentType" : 5126,
- "count" : 199,
- "type" : "VEC3"
- },
- {
- "bufferView" : 626,
- "componentType" : 5126,
- "count" : 199,
- "type" : "VEC2"
- },
- {
- "bufferView" : 627,
- "componentType" : 5123,
- "count" : 498,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 628,
- "componentType" : 5126,
- "count" : 1127,
- "max" : [
- -4.0750627517700195,
- 6.87420654296875,
- 2.307628870010376
- ],
- "min" : [
- -4.600190162658691,
- 5.172232627868652,
- 1.7829079627990723
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 629,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC3"
- },
- {
- "bufferView" : 630,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC2"
- },
- {
- "bufferView" : 631,
- "componentType" : 5123,
- "count" : 3660,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 632,
- "componentType" : 5126,
- "count" : 40,
- "max" : [
- -4.2861008644104,
- 6.872191429138184,
- 2.3353099822998047
- ],
- "min" : [
- -4.378350734710693,
- 6.741235733032227,
- 2.185304880142212
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 633,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC3"
- },
- {
- "bufferView" : 634,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC2"
- },
- {
- "bufferView" : 635,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 636,
- "componentType" : 5126,
- "count" : 70,
- "max" : [
- -4.2983808517456055,
- 6.741554260253906,
- 2.3052268028259277
- ],
- "min" : [
- -4.367146015167236,
- 6.611245155334473,
- 2.163784980773926
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 637,
- "componentType" : 5126,
- "count" : 70,
- "type" : "VEC3"
- },
- {
- "bufferView" : 638,
- "componentType" : 5126,
- "count" : 70,
- "type" : "VEC2"
- },
- {
- "bufferView" : 639,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 640,
- "componentType" : 5126,
- "count" : 36,
- "max" : [
- -4.043172836303711,
- 6.872191429138184,
- 2.0923879146575928
- ],
- "min" : [
- -4.193179130554199,
- 6.741235733032227,
- 2.0001378059387207
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 641,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC3"
- },
- {
- "bufferView" : 642,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC2"
- },
- {
- "bufferView" : 643,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 644,
- "componentType" : 5126,
- "count" : 92,
- "max" : [
- -4.073256015777588,
- 6.741554260253906,
- 2.0811829566955566
- ],
- "min" : [
- -4.214696884155273,
- 6.611245155334473,
- 2.0124189853668213
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 645,
- "componentType" : 5126,
- "count" : 92,
- "type" : "VEC3"
- },
- {
- "bufferView" : 646,
- "componentType" : 5126,
- "count" : 92,
- "type" : "VEC2"
- },
- {
- "bufferView" : 647,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 648,
- "componentType" : 5126,
- "count" : 498,
- "max" : [
- -2.1150100231170654,
- 6.953227519989014,
- 2.4335010051727295
- ],
- "min" : [
- -2.860734701156616,
- 5.071398735046387,
- 1.687882900238037
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 649,
- "componentType" : 5126,
- "count" : 498,
- "type" : "VEC3"
- },
- {
- "bufferView" : 650,
- "componentType" : 5126,
- "count" : 498,
- "type" : "VEC2"
- },
- {
- "bufferView" : 651,
- "componentType" : 5123,
- "count" : 786,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 652,
- "componentType" : 5126,
- "count" : 38,
- "max" : [
- -4.287079811096191,
- 6.872191429138184,
- 1.908497929573059
- ],
- "min" : [
- -4.379330635070801,
- 6.741235733032227,
- 1.7584928274154663
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 653,
- "componentType" : 5126,
- "count" : 38,
- "type" : "VEC3"
- },
- {
- "bufferView" : 654,
- "componentType" : 5126,
- "count" : 38,
- "type" : "VEC2"
- },
- {
- "bufferView" : 655,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 656,
- "componentType" : 5126,
- "count" : 68,
- "max" : [
- -4.298285961151123,
- 6.741554260253906,
- 1.9300179481506348
- ],
- "min" : [
- -4.3670501708984375,
- 6.611245155334473,
- 1.7885758876800537
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 657,
- "componentType" : 5126,
- "count" : 68,
- "type" : "VEC3"
- },
- {
- "bufferView" : 658,
- "componentType" : 5126,
- "count" : 68,
- "type" : "VEC2"
- },
- {
- "bufferView" : 659,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 660,
- "componentType" : 5126,
- "count" : 36,
- "max" : [
- -4.47225284576416,
- 6.872191429138184,
- 2.0936648845672607
- ],
- "min" : [
- -4.622257709503174,
- 6.741235733032227,
- 2.0014138221740723
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 661,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC3"
- },
- {
- "bufferView" : 662,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC2"
- },
- {
- "bufferView" : 663,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 664,
- "componentType" : 5126,
- "count" : 88,
- "max" : [
- -4.450733661651611,
- 6.741554260253906,
- 2.0813839435577393
- ],
- "min" : [
- -4.592175006866455,
- 6.611245155334473,
- 2.012619972229004
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 665,
- "componentType" : 5126,
- "count" : 88,
- "type" : "VEC3"
- },
- {
- "bufferView" : 666,
- "componentType" : 5126,
- "count" : 88,
- "type" : "VEC2"
- },
- {
- "bufferView" : 667,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 668,
- "componentType" : 5126,
- "count" : 268,
- "max" : [
- -4.0334577560424805,
- 6.956661701202393,
- 2.3477330207824707
- ],
- "min" : [
- -4.631386756896973,
- 6.871912479400635,
- 1.7508600950241089
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 669,
- "componentType" : 5126,
- "count" : 268,
- "type" : "VEC3"
- },
- {
- "bufferView" : 670,
- "componentType" : 5126,
- "count" : 268,
- "type" : "VEC2"
- },
- {
- "bufferView" : 671,
- "componentType" : 5123,
- "count" : 900,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 672,
- "componentType" : 5126,
- "count" : 206,
- "max" : [
- -4.059346675872803,
- 5.174014568328857,
- 2.32255482673645
- ],
- "min" : [
- -4.608747959136963,
- 5.06633186340332,
- 1.7730408906936646
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 673,
- "componentType" : 5126,
- "count" : 206,
- "type" : "VEC3"
- },
- {
- "bufferView" : 674,
- "componentType" : 5126,
- "count" : 206,
- "type" : "VEC2"
- },
- {
- "bufferView" : 675,
- "componentType" : 5123,
- "count" : 498,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 676,
- "componentType" : 5126,
- "count" : 1127,
- "max" : [
- 9.038040161132812,
- 6.924715518951416,
- -0.1202629953622818
- ],
- "min" : [
- 8.583305358886719,
- 5.163723468780518,
- -0.5746449828147888
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 677,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC3"
- },
- {
- "bufferView" : 678,
- "componentType" : 5126,
- "count" : 1127,
- "type" : "VEC2"
- },
- {
- "bufferView" : 679,
- "componentType" : 5123,
- "count" : 3660,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 680,
- "componentType" : 5126,
- "count" : 40,
- "max" : [
- 8.855291366577148,
- 6.922971725463867,
- -0.4687189757823944
- ],
- "min" : [
- 8.775408744812012,
- 6.8095703125,
- -0.5986160039901733
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 681,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC3"
- },
- {
- "bufferView" : 682,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC2"
- },
- {
- "bufferView" : 683,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 684,
- "componentType" : 5126,
- "count" : 70,
- "max" : [
- 8.844656944274902,
- 6.809845447540283,
- -0.45008400082588196
- ],
- "min" : [
- 8.785110473632812,
- 6.6970038414001465,
- -0.5725650191307068
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 685,
- "componentType" : 5126,
- "count" : 70,
- "type" : "VEC3"
- },
- {
- "bufferView" : 686,
- "componentType" : 5126,
- "count" : 70,
- "type" : "VEC2"
- },
- {
- "bufferView" : 687,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 688,
- "componentType" : 5126,
- "count" : 37,
- "max" : [
- 9.065656661987305,
- 6.922971725463867,
- -0.30837297439575195
- ],
- "min" : [
- 8.935757637023926,
- 6.8095703125,
- -0.3882579803466797
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 689,
- "componentType" : 5126,
- "count" : 37,
- "type" : "VEC3"
- },
- {
- "bufferView" : 690,
- "componentType" : 5126,
- "count" : 37,
- "type" : "VEC2"
- },
- {
- "bufferView" : 691,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 692,
- "componentType" : 5126,
- "count" : 498,
- "max" : [
- 1.5723389387130737,
- 6.953227519989014,
- 2.4335010051727295
- ],
- "min" : [
- 0.8266169428825378,
- 5.07139778137207,
- 1.687882900238037
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 693,
- "componentType" : 5126,
- "count" : 498,
- "type" : "VEC3"
- },
- {
- "bufferView" : 694,
- "componentType" : 5126,
- "count" : 498,
- "type" : "VEC2"
- },
- {
- "bufferView" : 695,
- "componentType" : 5123,
- "count" : 786,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 696,
- "componentType" : 5126,
- "count" : 84,
- "max" : [
- 9.039605140686035,
- 6.809845447540283,
- -0.3190079927444458
- ],
- "min" : [
- 8.917123794555664,
- 6.6970038414001465,
- -0.37855398654937744
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 697,
- "componentType" : 5126,
- "count" : 84,
- "type" : "VEC3"
- },
- {
- "bufferView" : 698,
- "componentType" : 5126,
- "count" : 84,
- "type" : "VEC2"
- },
- {
- "bufferView" : 699,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 700,
- "componentType" : 5126,
- "count" : 40,
- "max" : [
- 8.85444450378418,
- 6.922971725463867,
- -0.09912099689245224
- ],
- "min" : [
- 8.774558067321777,
- 6.8095703125,
- -0.22901800274848938
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 701,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC3"
- },
- {
- "bufferView" : 702,
- "componentType" : 5126,
- "count" : 40,
- "type" : "VEC2"
- },
- {
- "bufferView" : 703,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 704,
- "componentType" : 5126,
- "count" : 66,
- "max" : [
- 8.844740867614746,
- 6.809845447540283,
- -0.1251709908246994
- ],
- "min" : [
- 8.785194396972656,
- 6.6970038414001465,
- -0.24765297770500183
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 705,
- "componentType" : 5126,
- "count" : 66,
- "type" : "VEC3"
- },
- {
- "bufferView" : 706,
- "componentType" : 5126,
- "count" : 66,
- "type" : "VEC2"
- },
- {
- "bufferView" : 707,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 708,
- "componentType" : 5126,
- "count" : 36,
- "max" : [
- 8.694092750549316,
- 6.922971725463867,
- -0.3094789683818817
- ],
- "min" : [
- 8.564196586608887,
- 6.8095703125,
- -0.38936296105384827
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 709,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC3"
- },
- {
- "bufferView" : 710,
- "componentType" : 5126,
- "count" : 36,
- "type" : "VEC2"
- },
- {
- "bufferView" : 711,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 712,
- "componentType" : 5126,
- "count" : 90,
- "max" : [
- 8.712727546691895,
- 6.809845447540283,
- -0.31918197870254517
- ],
- "min" : [
- 8.590246200561523,
- 6.6970038414001465,
- -0.378728985786438
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 713,
- "componentType" : 5126,
- "count" : 90,
- "type" : "VEC3"
- },
- {
- "bufferView" : 714,
- "componentType" : 5126,
- "count" : 90,
- "type" : "VEC2"
- },
- {
- "bufferView" : 715,
- "componentType" : 5123,
- "count" : 132,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 716,
- "componentType" : 5126,
- "count" : 292,
- "max" : [
- 9.074068069458008,
- 6.99611759185791,
- -0.09251099079847336
- ],
- "min" : [
- 8.556291580200195,
- 6.922728538513184,
- -0.609373927116394
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 717,
- "componentType" : 5126,
- "count" : 292,
- "type" : "VEC3"
- },
- {
- "bufferView" : 718,
- "componentType" : 5126,
- "count" : 292,
- "type" : "VEC2"
- },
- {
- "bufferView" : 719,
- "componentType" : 5123,
- "count" : 900,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 720,
- "componentType" : 5126,
- "count" : 208,
- "max" : [
- 9.051650047302246,
- 5.1652679443359375,
- -0.11171899735927582
- ],
- "min" : [
- 8.575896263122559,
- 5.072018623352051,
- -0.5875709652900696
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 721,
- "componentType" : 5126,
- "count" : 208,
- "type" : "VEC3"
- },
- {
- "bufferView" : 722,
- "componentType" : 5126,
- "count" : 208,
- "type" : "VEC2"
- },
- {
- "bufferView" : 723,
- "componentType" : 5123,
- "count" : 498,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 724,
- "componentType" : 5126,
- "count" : 38,
- "max" : [
- -0.08262899518013,
- 3.481973886489868,
- 5.755051612854004
- ],
- "min" : [
- -1.194072961807251,
- 2.567310094833374,
- 5.686583518981934
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 725,
- "componentType" : 5126,
- "count" : 38,
- "type" : "VEC3"
- },
- {
- "bufferView" : 726,
- "componentType" : 5126,
- "count" : 38,
- "type" : "VEC2"
- },
- {
- "bufferView" : 727,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 728,
- "componentType" : 5126,
- "count" : 148,
- "max" : [
- 9.975961685180664,
- 13.307689666748047,
- 3.1890077590942383
- ],
- "min" : [
- -10.86423110961914,
- 9.07744026184082,
- -4.081467628479004
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 729,
- "componentType" : 5126,
- "count" : 148,
- "type" : "VEC3"
- },
- {
- "bufferView" : 730,
- "componentType" : 5126,
- "count" : 148,
- "type" : "VEC2"
- },
- {
- "bufferView" : 731,
- "componentType" : 5123,
- "count" : 192,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 732,
- "componentType" : 5126,
- "count" : 183,
- "max" : [
- 4.969552040100098,
- 8.861390113830566,
- -0.7923719882965088
- ],
- "min" : [
- 4.892256736755371,
- 8.316546440124512,
- -2.708303689956665
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 733,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC3"
- },
- {
- "bufferView" : 734,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC2"
- },
- {
- "bufferView" : 735,
- "componentType" : 5123,
- "count" : 678,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 736,
- "componentType" : 5126,
- "count" : 504,
- "max" : [
- 5.2911810874938965,
- 6.953227519989014,
- 2.4335010051727295
- ],
- "min" : [
- 4.54545783996582,
- 5.07139778137207,
- 1.687882900238037
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 737,
- "componentType" : 5126,
- "count" : 504,
- "type" : "VEC3"
- },
- {
- "bufferView" : 738,
- "componentType" : 5126,
- "count" : 504,
- "type" : "VEC2"
- },
- {
- "bufferView" : 739,
- "componentType" : 5123,
- "count" : 786,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 740,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- 5.031985759735107,
- 8.494707107543945,
- -2.5038669109344482
- ],
- "min" : [
- 4.825387954711914,
- 8.288107872009277,
- -2.5778377056121826
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 741,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 742,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 743,
- "componentType" : 5123,
- "count" : 1368,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 744,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- 1.3211430311203003,
- 8.494707107543945,
- -2.5038669109344482
- ],
- "min" : [
- 1.1145449876785278,
- 8.288107872009277,
- -2.5778377056121826
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 745,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 746,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 747,
- "componentType" : 5123,
- "count" : 1368,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 748,
- "componentType" : 5126,
- "count" : 183,
- "max" : [
- 1.2587089538574219,
- 8.861390113830566,
- -0.7923719882965088
- ],
- "min" : [
- 1.1814138889312744,
- 8.316546440124512,
- -2.708303689956665
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 749,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC3"
- },
- {
- "bufferView" : 750,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC2"
- },
- {
- "bufferView" : 751,
- "componentType" : 5123,
- "count" : 678,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 752,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- -2.3765547275543213,
- 8.494707107543945,
- -2.5038669109344482
- ],
- "min" : [
- -2.583153009414673,
- 8.288107872009277,
- -2.5778377056121826
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 753,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 754,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 755,
- "componentType" : 5123,
- "count" : 1368,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 756,
- "componentType" : 5126,
- "count" : 183,
- "max" : [
- -2.4389889240264893,
- 8.861390113830566,
- -0.7923719882965088
- ],
- "min" : [
- -2.5162837505340576,
- 8.316546440124512,
- -2.708303689956665
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 757,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC3"
- },
- {
- "bufferView" : 758,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC2"
- },
- {
- "bufferView" : 759,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- -6.079936981201172,
- 8.494707107543945,
- -2.5038669109344482
- ],
- "min" : [
- -6.286535739898682,
- 8.288107872009277,
- -2.5778377056121826
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 760,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 761,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 762,
- "componentType" : 5123,
- "count" : 1368,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 763,
- "componentType" : 5126,
- "count" : 183,
- "max" : [
- -6.142370700836182,
- 8.861390113830566,
- -0.7923719882965088
- ],
- "min" : [
- -6.219666004180908,
- 8.316546440124512,
- -2.708303689956665
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 764,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC3"
- },
- {
- "bufferView" : 765,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC2"
- },
- {
- "bufferView" : 766,
- "componentType" : 5126,
- "count" : 183,
- "max" : [
- 4.969552040100098,
- 8.861390113830566,
- 1.9939069747924805
- ],
- "min" : [
- 4.892256736755371,
- 8.316546440124512,
- 0.07797599583864212
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 767,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC3"
- },
- {
- "bufferView" : 768,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC2"
- },
- {
- "bufferView" : 769,
- "componentType" : 5123,
- "count" : 678,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 770,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- 5.031985759735107,
- 8.494707107543945,
- 1.863441824913025
- ],
- "min" : [
- 4.825387954711914,
- 8.288107872009277,
- 1.789470911026001
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 771,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 772,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 773,
- "componentType" : 5123,
- "count" : 1368,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 774,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- 1.3211430311203003,
- 8.494707107543945,
- 1.863441824913025
- ],
- "min" : [
- 1.1145449876785278,
- 8.288107872009277,
- 1.789470911026001
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 775,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 776,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 777,
- "componentType" : 5123,
- "count" : 1368,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 778,
- "componentType" : 5126,
- "count" : 710,
- "max" : [
- 9.17502498626709,
- 6.953227519989014,
- 2.4335010051727295
- ],
- "min" : [
- 8.193110466003418,
- 5.07139778137207,
- 1.4515849351882935
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 779,
- "componentType" : 5126,
- "count" : 710,
- "type" : "VEC3"
- },
- {
- "bufferView" : 780,
- "componentType" : 5126,
- "count" : 710,
- "type" : "VEC2"
- },
- {
- "bufferView" : 781,
- "componentType" : 5123,
- "count" : 1188,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 782,
- "componentType" : 5126,
- "count" : 183,
- "max" : [
- 1.2587089538574219,
- 8.861390113830566,
- 1.9939069747924805
- ],
- "min" : [
- 1.1814138889312744,
- 8.316546440124512,
- 0.07797599583864212
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 783,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC3"
- },
- {
- "bufferView" : 784,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC2"
- },
- {
- "bufferView" : 785,
- "componentType" : 5123,
- "count" : 678,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 786,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- -2.3765547275543213,
- 8.494707107543945,
- 1.863441824913025
- ],
- "min" : [
- -2.583153009414673,
- 8.288107872009277,
- 1.789470911026001
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 787,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 788,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 789,
- "componentType" : 5123,
- "count" : 1368,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 790,
- "componentType" : 5126,
- "count" : 183,
- "max" : [
- -2.4389889240264893,
- 8.861390113830566,
- 1.9939069747924805
- ],
- "min" : [
- -2.5162837505340576,
- 8.316546440124512,
- 0.07797599583864212
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 791,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC3"
- },
- {
- "bufferView" : 792,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC2"
- },
- {
- "bufferView" : 793,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- -6.079936981201172,
- 8.494707107543945,
- 1.863441824913025
- ],
- "min" : [
- -6.286535739898682,
- 8.288107872009277,
- 1.789470911026001
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 794,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 795,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 796,
- "componentType" : 5123,
- "count" : 1368,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 797,
- "componentType" : 5126,
- "count" : 183,
- "max" : [
- -6.142370700836182,
- 8.861390113830566,
- 1.9939069747924805
- ],
- "min" : [
- -6.219666004180908,
- 8.316546440124512,
- 0.07797599583864212
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 798,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC3"
- },
- {
- "bufferView" : 799,
- "componentType" : 5126,
- "count" : 183,
- "type" : "VEC2"
- },
- {
- "bufferView" : 800,
- "componentType" : 5126,
- "count" : 4779,
- "max" : [
- -1.8786509037017822,
- 2.109433889389038,
- 2.575565814971924
- ],
- "min" : [
- -3.069924831390381,
- -0.2804959714412689,
- 1.5774189233779907
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 801,
- "componentType" : 5126,
- "count" : 4779,
- "type" : "VEC3"
- },
- {
- "bufferView" : 802,
- "componentType" : 5126,
- "count" : 4779,
- "type" : "VEC2"
- },
- {
- "bufferView" : 803,
- "componentType" : 5123,
- "count" : 17790,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 804,
- "componentType" : 5126,
- "count" : 3582,
- "max" : [
- -5.479694843292236,
- 2.2271640300750732,
- 2.6644227504730225
- ],
- "min" : [
- -6.80264139175415,
- -0.2804959714412689,
- 0.9150129556655884
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 805,
- "componentType" : 5126,
- "count" : 3582,
- "type" : "VEC3"
- },
- {
- "bufferView" : 806,
- "componentType" : 5126,
- "count" : 3582,
- "type" : "VEC2"
- },
- {
- "bufferView" : 807,
- "componentType" : 5123,
- "count" : 14466,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 808,
- "componentType" : 5126,
- "count" : 1581,
- "max" : [
- -5.879343509674072,
- 2.2271640300750732,
- -2.4465978145599365
- ],
- "min" : [
- -6.5320024490356445,
- 1.2353029251098633,
- -2.994365692138672
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 809,
- "componentType" : 5126,
- "count" : 1581,
- "type" : "VEC3"
- },
- {
- "bufferView" : 810,
- "componentType" : 5126,
- "count" : 1581,
- "type" : "VEC2"
- },
- {
- "bufferView" : 811,
- "componentType" : 5123,
- "count" : 6612,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 812,
- "componentType" : 5126,
- "count" : 3271,
- "max" : [
- -1.977104902267456,
- 2.109433889389038,
- -2.2876830101013184
- ],
- "min" : [
- -2.9012837409973145,
- 0.967354953289032,
- -3.2036449909210205
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 813,
- "componentType" : 5126,
- "count" : 3271,
- "type" : "VEC3"
- },
- {
- "bufferView" : 814,
- "componentType" : 5126,
- "count" : 3271,
- "type" : "VEC2"
- },
- {
- "bufferView" : 815,
- "componentType" : 5123,
- "count" : 11406,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 816,
- "componentType" : 5126,
- "count" : 2317,
- "max" : [
- 1.766826868057251,
- 2.251020908355713,
- -2.1428709030151367
- ],
- "min" : [
- 0.5852649807929993,
- 1.099242925643921,
- -3.3337008953094482
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 817,
- "componentType" : 5126,
- "count" : 2317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 818,
- "componentType" : 5126,
- "count" : 2317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 819,
- "componentType" : 5123,
- "count" : 9924,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 820,
- "componentType" : 5126,
- "count" : 697,
- "max" : [
- -9.481002807617188,
- 6.953227519989014,
- -2.172560930252075
- ],
- "min" : [
- -10.462919235229492,
- 5.07139778137207,
- -3.1544759273529053
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 821,
- "componentType" : 5126,
- "count" : 697,
- "type" : "VEC3"
- },
- {
- "bufferView" : 822,
- "componentType" : 5126,
- "count" : 697,
- "type" : "VEC2"
- },
- {
- "bufferView" : 823,
- "componentType" : 5123,
- "count" : 1188,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 824,
- "componentType" : 5126,
- "count" : 3132,
- "max" : [
- 5.512263774871826,
- 2.2271640300750732,
- -2.1969778537750244
- ],
- "min" : [
- 4.287768840789795,
- -0.2804959714412689,
- -3.4113619327545166
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 825,
- "componentType" : 5126,
- "count" : 3132,
- "type" : "VEC3"
- },
- {
- "bufferView" : 826,
- "componentType" : 5126,
- "count" : 3132,
- "type" : "VEC2"
- },
- {
- "bufferView" : 827,
- "componentType" : 5123,
- "count" : 13266,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 828,
- "componentType" : 5126,
- "count" : 2317,
- "max" : [
- 1.7573429346084595,
- 2.251020908355713,
- 2.5378167629241943
- ],
- "min" : [
- 0.6240909695625305,
- 1.099242925643921,
- 1.445435881614685
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 829,
- "componentType" : 5126,
- "count" : 2317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 830,
- "componentType" : 5126,
- "count" : 2317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 831,
- "componentType" : 5123,
- "count" : 9924,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 832,
- "componentType" : 5126,
- "count" : 3949,
- "max" : [
- -4.538620948791504,
- 5.205938816070557,
- 2.522857904434204
- ],
- "min" : [
- -7.837941646575928,
- 3.394430160522461,
- 1.5716428756713867
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 833,
- "componentType" : 5126,
- "count" : 3949,
- "type" : "VEC3"
- },
- {
- "bufferView" : 834,
- "componentType" : 5126,
- "count" : 3949,
- "type" : "VEC2"
- },
- {
- "bufferView" : 835,
- "componentType" : 5123,
- "count" : 16512,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 836,
- "componentType" : 5126,
- "count" : 3929,
- "max" : [
- -0.8525600433349609,
- 5.205938816070557,
- 2.5228569507598877
- ],
- "min" : [
- -4.151880264282227,
- 3.394430160522461,
- 1.5716419219970703
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 837,
- "componentType" : 5126,
- "count" : 3929,
- "type" : "VEC3"
- },
- {
- "bufferView" : 838,
- "componentType" : 5126,
- "count" : 3929,
- "type" : "VEC2"
- },
- {
- "bufferView" : 839,
- "componentType" : 5123,
- "count" : 16512,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 840,
- "componentType" : 5126,
- "count" : 3944,
- "max" : [
- 2.8335018157958984,
- 5.205938816070557,
- 2.5228559970855713
- ],
- "min" : [
- -0.46581897139549255,
- 3.394430160522461,
- 1.5716419219970703
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 841,
- "componentType" : 5126,
- "count" : 3944,
- "type" : "VEC3"
- },
- {
- "bufferView" : 842,
- "componentType" : 5126,
- "count" : 3944,
- "type" : "VEC2"
- },
- {
- "bufferView" : 843,
- "componentType" : 5123,
- "count" : 16512,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 844,
- "componentType" : 5126,
- "count" : 3944,
- "max" : [
- 6.519561767578125,
- 5.205938816070557,
- 2.5228559970855713
- ],
- "min" : [
- 3.2202420234680176,
- 3.394430160522461,
- 1.5716408491134644
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 845,
- "componentType" : 5126,
- "count" : 3944,
- "type" : "VEC3"
- },
- {
- "bufferView" : 846,
- "componentType" : 5126,
- "count" : 3944,
- "type" : "VEC2"
- },
- {
- "bufferView" : 847,
- "componentType" : 5123,
- "count" : 16512,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 848,
- "componentType" : 5126,
- "count" : 3948,
- "max" : [
- 6.488516807556152,
- 5.205938816070557,
- -2.2940480709075928
- ],
- "min" : [
- 3.189196825027466,
- 3.394430160522461,
- -3.2452616691589355
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 849,
- "componentType" : 5126,
- "count" : 3948,
- "type" : "VEC3"
- },
- {
- "bufferView" : 850,
- "componentType" : 5126,
- "count" : 3948,
- "type" : "VEC2"
- },
- {
- "bufferView" : 851,
- "componentType" : 5123,
- "count" : 16512,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 852,
- "componentType" : 5126,
- "count" : 3946,
- "max" : [
- 2.8024559020996094,
- 5.205938816070557,
- -2.2940480709075928
- ],
- "min" : [
- -0.4968639612197876,
- 3.394430160522461,
- -3.2452616691589355
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 853,
- "componentType" : 5126,
- "count" : 3946,
- "type" : "VEC3"
- },
- {
- "bufferView" : 854,
- "componentType" : 5126,
- "count" : 3946,
- "type" : "VEC2"
- },
- {
- "bufferView" : 855,
- "componentType" : 5123,
- "count" : 16512,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 856,
- "componentType" : 5126,
- "count" : 3943,
- "max" : [
- -0.8836049437522888,
- 5.205938816070557,
- -2.2940480709075928
- ],
- "min" : [
- -4.182925701141357,
- 3.394430160522461,
- -3.2452616691589355
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 857,
- "componentType" : 5126,
- "count" : 3943,
- "type" : "VEC3"
- },
- {
- "bufferView" : 858,
- "componentType" : 5126,
- "count" : 3943,
- "type" : "VEC2"
- },
- {
- "bufferView" : 859,
- "componentType" : 5123,
- "count" : 16512,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 860,
- "componentType" : 5126,
- "count" : 3963,
- "max" : [
- -4.569665908813477,
- 5.205938816070557,
- -2.2940480709075928
- ],
- "min" : [
- -7.8689866065979,
- 3.394430160522461,
- -3.2452616691589355
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 861,
- "componentType" : 5126,
- "count" : 3963,
- "type" : "VEC3"
- },
- {
- "bufferView" : 862,
- "componentType" : 5126,
- "count" : 3963,
- "type" : "VEC2"
- },
- {
- "bufferView" : 863,
- "componentType" : 5123,
- "count" : 16512,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 864,
- "componentType" : 5126,
- "count" : 499,
- "max" : [
- -5.810407638549805,
- 6.953227519989014,
- -2.408857822418213
- ],
- "min" : [
- -6.556130409240723,
- 5.07139778137207,
- -3.1544759273529053
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 865,
- "componentType" : 5126,
- "count" : 499,
- "type" : "VEC3"
- },
- {
- "bufferView" : 866,
- "componentType" : 5126,
- "count" : 499,
- "type" : "VEC2"
- },
- {
- "bufferView" : 867,
- "componentType" : 5123,
- "count" : 786,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 868,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- -2.862592935562134,
- 2.9411401748657227,
- -2.690436840057373
- ],
- "min" : [
- -2.990330696105957,
- 2.749595880508423,
- -2.897035837173462
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 869,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 870,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 871,
- "componentType" : 5123,
- "count" : 1368,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 872,
- "componentType" : 5126,
- "count" : 197,
- "max" : [
- -2.7900869846343994,
- 2.8438568115234375,
- -2.7689967155456543
- ],
- "min" : [
- -5.888857841491699,
- 2.798811912536621,
- -2.814042091369629
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 873,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC3"
- },
- {
- "bufferView" : 874,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC2"
- },
- {
- "bufferView" : 875,
- "componentType" : 5123,
- "count" : 576,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 876,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- -5.688612461090088,
- 2.9411401748657227,
- -2.690436840057373
- ],
- "min" : [
- -5.81635046005249,
- 2.749595880508423,
- -2.897035837173462
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 877,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 878,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 879,
- "componentType" : 5123,
- "count" : 1368,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 880,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- 0.8522909283638,
- 2.9411401748657227,
- -2.690436840057373
- ],
- "min" : [
- 0.7245529890060425,
- 2.749595880508423,
- -2.897035837173462
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 881,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 882,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 883,
- "componentType" : 5123,
- "count" : 1368,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 884,
- "componentType" : 5126,
- "count" : 197,
- "max" : [
- 0.9247969388961792,
- 2.8438568115234375,
- -2.7689967155456543
- ],
- "min" : [
- -2.17397403717041,
- 2.798811912536621,
- -2.814042091369629
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 885,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC3"
- },
- {
- "bufferView" : 886,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC2"
- },
- {
- "bufferView" : 887,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- -1.973728895187378,
- 2.9411401748657227,
- -2.690436840057373
- ],
- "min" : [
- -2.1014668941497803,
- 2.749595880508423,
- -2.897035837173462
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 888,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 889,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 890,
- "componentType" : 5123,
- "count" : 1368,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 891,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- 4.551491737365723,
- 2.9411401748657227,
- -2.690436840057373
- ],
- "min" : [
- 4.42375373840332,
- 2.749595880508423,
- -2.897035837173462
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 892,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 893,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 894,
- "componentType" : 5123,
- "count" : 1368,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 895,
- "componentType" : 5126,
- "count" : 197,
- "max" : [
- 4.623999118804932,
- 2.8438568115234375,
- -2.7689967155456543
- ],
- "min" : [
- 1.5252279043197632,
- 2.798811912536621,
- -2.814042091369629
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 896,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC3"
- },
- {
- "bufferView" : 897,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC2"
- },
- {
- "bufferView" : 898,
- "componentType" : 5123,
- "count" : 576,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 899,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- 1.7254719734191895,
- 2.9411401748657227,
- -2.690436840057373
- ],
- "min" : [
- 1.5977338552474976,
- 2.749595880508423,
- -2.897035837173462
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 900,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 901,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 902,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- 8.230432510375977,
- 2.9411401748657227,
- -2.690436840057373
- ],
- "min" : [
- 8.102693557739258,
- 2.749595880508423,
- -2.897035837173462
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 903,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 904,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 905,
- "componentType" : 5123,
- "count" : 1368,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 906,
- "componentType" : 5126,
- "count" : 503,
- "max" : [
- -2.1150100231170654,
- 6.953227519989014,
- -2.408857822418213
- ],
- "min" : [
- -2.860734701156616,
- 5.07139778137207,
- -3.1544759273529053
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 907,
- "componentType" : 5126,
- "count" : 503,
- "type" : "VEC3"
- },
- {
- "bufferView" : 908,
- "componentType" : 5126,
- "count" : 503,
- "type" : "VEC2"
- },
- {
- "bufferView" : 909,
- "componentType" : 5123,
- "count" : 786,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 910,
- "componentType" : 5126,
- "count" : 197,
- "max" : [
- 8.302938461303711,
- 2.8438568115234375,
- -2.7689967155456543
- ],
- "min" : [
- 5.20416784286499,
- 2.798811912536621,
- -2.814042091369629
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 911,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC3"
- },
- {
- "bufferView" : 912,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC2"
- },
- {
- "bufferView" : 913,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- 5.404412746429443,
- 2.9411401748657227,
- -2.690436840057373
- ],
- "min" : [
- 5.276674747467041,
- 2.749595880508423,
- -2.897035837173462
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 914,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 915,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 916,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- -6.560713768005371,
- 2.9411401748657227,
- -2.690436840057373
- ],
- "min" : [
- -6.688451290130615,
- 2.749595880508423,
- -2.897035837173462
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 917,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 918,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 919,
- "componentType" : 5123,
- "count" : 1368,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 920,
- "componentType" : 5126,
- "count" : 197,
- "max" : [
- -6.48820686340332,
- 2.8438568115234375,
- -2.7689967155456543
- ],
- "min" : [
- -9.586977005004883,
- 2.798811912536621,
- -2.814042091369629
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 921,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC3"
- },
- {
- "bufferView" : 922,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC2"
- },
- {
- "bufferView" : 923,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- -9.38673210144043,
- 2.9411401748657227,
- -2.690436840057373
- ],
- "min" : [
- -9.514471054077148,
- 2.749595880508423,
- -2.897035837173462
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 924,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 925,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 926,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- -2.862592935562134,
- 2.9411401748657227,
- 2.0911500453948975
- ],
- "min" : [
- -2.990330696105957,
- 2.749595880508423,
- 1.884550929069519
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 927,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 928,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 929,
- "componentType" : 5126,
- "count" : 197,
- "max" : [
- -2.7900869846343994,
- 2.8438568115234375,
- 2.012589931488037
- ],
- "min" : [
- -5.888857841491699,
- 2.798811912536621,
- 1.9675449132919312
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 930,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC3"
- },
- {
- "bufferView" : 931,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC2"
- },
- {
- "bufferView" : 932,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- -5.688612461090088,
- 2.9411401748657227,
- 2.0911500453948975
- ],
- "min" : [
- -5.81635046005249,
- 2.749595880508423,
- 1.884550929069519
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 933,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 934,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 935,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- -6.560713768005371,
- 2.9411401748657227,
- 2.0911500453948975
- ],
- "min" : [
- -6.688451290130615,
- 2.749595880508423,
- 1.884550929069519
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 936,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 937,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 938,
- "componentType" : 5126,
- "count" : 197,
- "max" : [
- -6.48820686340332,
- 2.8438568115234375,
- 2.012589931488037
- ],
- "min" : [
- -9.586977005004883,
- 2.798811912536621,
- 1.9675449132919312
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 939,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC3"
- },
- {
- "bufferView" : 940,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC2"
- },
- {
- "bufferView" : 941,
- "componentType" : 5126,
- "count" : 488,
- "max" : [
- 1.5723389387130737,
- 6.953227519989014,
- -2.408857822418213
- ],
- "min" : [
- 0.8266169428825378,
- 5.07139778137207,
- -3.1544759273529053
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 942,
- "componentType" : 5126,
- "count" : 488,
- "type" : "VEC3"
- },
- {
- "bufferView" : 943,
- "componentType" : 5126,
- "count" : 488,
- "type" : "VEC2"
- },
- {
- "bufferView" : 944,
- "componentType" : 5123,
- "count" : 786,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 945,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- -9.38673210144043,
- 2.9411401748657227,
- 2.0911500453948975
- ],
- "min" : [
- -9.514471054077148,
- 2.749595880508423,
- 1.884550929069519
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 946,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 947,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 948,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- 0.8522909283638,
- 2.9411401748657227,
- 2.0911500453948975
- ],
- "min" : [
- 0.7245529890060425,
- 2.749595880508423,
- 1.884550929069519
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 949,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 950,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 951,
- "componentType" : 5126,
- "count" : 197,
- "max" : [
- 0.9247969388961792,
- 2.8438568115234375,
- 2.012589931488037
- ],
- "min" : [
- -2.17397403717041,
- 2.798811912536621,
- 1.9675449132919312
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 952,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC3"
- },
- {
- "bufferView" : 953,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC2"
- },
- {
- "bufferView" : 954,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- -1.973728895187378,
- 2.9411401748657227,
- 2.0911500453948975
- ],
- "min" : [
- -2.1014668941497803,
- 2.749595880508423,
- 1.884550929069519
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 955,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 956,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 957,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- 4.551491737365723,
- 2.9411401748657227,
- 2.0911500453948975
- ],
- "min" : [
- 4.42375373840332,
- 2.749595880508423,
- 1.884550929069519
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 958,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 959,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 960,
- "componentType" : 5126,
- "count" : 197,
- "max" : [
- 4.623999118804932,
- 2.8438568115234375,
- 2.012589931488037
- ],
- "min" : [
- 1.5252279043197632,
- 2.798811912536621,
- 1.9675449132919312
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 961,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC3"
- },
- {
- "bufferView" : 962,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC2"
- },
- {
- "bufferView" : 963,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- 1.7254719734191895,
- 2.9411401748657227,
- 2.0911500453948975
- ],
- "min" : [
- 1.5977338552474976,
- 2.749595880508423,
- 1.884550929069519
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 964,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 965,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 966,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- 8.230432510375977,
- 2.9411401748657227,
- 2.0911500453948975
- ],
- "min" : [
- 8.102693557739258,
- 2.749595880508423,
- 1.884550929069519
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 967,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 968,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 969,
- "componentType" : 5126,
- "count" : 197,
- "max" : [
- 8.302938461303711,
- 2.8438568115234375,
- 2.012589931488037
- ],
- "min" : [
- 5.20416784286499,
- 2.798811912536621,
- 1.9675449132919312
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 970,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC3"
- },
- {
- "bufferView" : 971,
- "componentType" : 5126,
- "count" : 197,
- "type" : "VEC2"
- },
- {
- "bufferView" : 972,
- "componentType" : 5126,
- "count" : 317,
- "max" : [
- 5.404412746429443,
- 2.9411401748657227,
- 2.0911500453948975
- ],
- "min" : [
- 5.276674747467041,
- 2.749595880508423,
- 1.884550929069519
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 973,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC3"
- },
- {
- "bufferView" : 974,
- "componentType" : 5126,
- "count" : 317,
- "type" : "VEC2"
- },
- {
- "bufferView" : 975,
- "componentType" : 5126,
- "count" : 495,
- "max" : [
- 5.2911810874938965,
- 6.953227519989014,
- -2.408857822418213
- ],
- "min" : [
- 4.54545783996582,
- 5.07139778137207,
- -3.1544759273529053
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 976,
- "componentType" : 5126,
- "count" : 495,
- "type" : "VEC3"
- },
- {
- "bufferView" : 977,
- "componentType" : 5126,
- "count" : 495,
- "type" : "VEC2"
- },
- {
- "bufferView" : 978,
- "componentType" : 5123,
- "count" : 786,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 979,
- "componentType" : 5126,
- "count" : 2456,
- "max" : [
- 0.8235979080200195,
- 2.830152750015259,
- 2.1348249912261963
- ],
- "min" : [
- -2.0493738651275635,
- 0.0013050000416114926,
- 1.889017939567566
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 980,
- "componentType" : 5126,
- "count" : 2456,
- "type" : "VEC3"
- },
- {
- "bufferView" : 981,
- "componentType" : 5126,
- "count" : 2456,
- "type" : "VEC2"
- },
- {
- "bufferView" : 982,
- "componentType" : 5123,
- "count" : 14592,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 983,
- "componentType" : 5126,
- "count" : 2512,
- "max" : [
- -2.9057703018188477,
- 2.8368098735809326,
- 2.0821239948272705
- ],
- "min" : [
- -5.7762017250061035,
- -0.003089000005275011,
- 1.829042911529541
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 984,
- "componentType" : 5126,
- "count" : 2512,
- "type" : "VEC3"
- },
- {
- "bufferView" : 985,
- "componentType" : 5126,
- "count" : 2512,
- "type" : "VEC2"
- },
- {
- "bufferView" : 986,
- "componentType" : 5123,
- "count" : 13824,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 987,
- "componentType" : 5126,
- "count" : 2456,
- "max" : [
- -6.589406490325928,
- 2.830152750015259,
- 2.1348249912261963
- ],
- "min" : [
- -9.46237850189209,
- 0.0013050000416114926,
- 1.889017939567566
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 988,
- "componentType" : 5126,
- "count" : 2456,
- "type" : "VEC3"
- },
- {
- "bufferView" : 989,
- "componentType" : 5126,
- "count" : 2456,
- "type" : "VEC2"
- },
- {
- "bufferView" : 990,
- "componentType" : 5123,
- "count" : 14592,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 991,
- "componentType" : 5126,
- "count" : 2456,
- "max" : [
- -6.589406490325928,
- 2.830152750015259,
- -2.6467621326446533
- ],
- "min" : [
- -9.46237850189209,
- 0.0013050000416114926,
- -2.892568826675415
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 992,
- "componentType" : 5126,
- "count" : 2456,
- "type" : "VEC3"
- },
- {
- "bufferView" : 993,
- "componentType" : 5126,
- "count" : 2456,
- "type" : "VEC2"
- },
- {
- "bufferView" : 994,
- "componentType" : 5123,
- "count" : 14592,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 995,
- "componentType" : 5126,
- "count" : 2512,
- "max" : [
- 4.480337619781494,
- 2.8368098735809326,
- 2.0821239948272705
- ],
- "min" : [
- 1.6099048852920532,
- -0.003089000005275011,
- 1.829042911529541
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 996,
- "componentType" : 5126,
- "count" : 2512,
- "type" : "VEC3"
- },
- {
- "bufferView" : 997,
- "componentType" : 5126,
- "count" : 2512,
- "type" : "VEC2"
- },
- {
- "bufferView" : 998,
- "componentType" : 5126,
- "count" : 2456,
- "max" : [
- 8.201740264892578,
- 2.830152750015259,
- 2.1348249912261963
- ],
- "min" : [
- 5.328767776489258,
- 0.0013050000416114926,
- 1.889017939567566
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 999,
- "componentType" : 5126,
- "count" : 2456,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1000,
- "componentType" : 5126,
- "count" : 2456,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1001,
- "componentType" : 5123,
- "count" : 14592,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1002,
- "componentType" : 5126,
- "count" : 2512,
- "max" : [
- -2.9057703018188477,
- 2.8368098735809326,
- -2.699462890625
- ],
- "min" : [
- -5.7762017250061035,
- -0.003089000005275011,
- -2.9525439739227295
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1003,
- "componentType" : 5126,
- "count" : 2512,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1004,
- "componentType" : 5126,
- "count" : 2512,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1005,
- "componentType" : 5126,
- "count" : 2456,
- "max" : [
- 0.8235979080200195,
- 2.830152750015259,
- -2.6467621326446533
- ],
- "min" : [
- -2.0493738651275635,
- 0.0013050000416114926,
- -2.892568826675415
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1006,
- "componentType" : 5126,
- "count" : 2456,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1007,
- "componentType" : 5126,
- "count" : 2456,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1008,
- "componentType" : 5126,
- "count" : 2512,
- "max" : [
- 4.480337619781494,
- 2.8368098735809326,
- -2.699462890625
- ],
- "min" : [
- 1.6099048852920532,
- -0.003089000005275011,
- -2.9525439739227295
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1009,
- "componentType" : 5126,
- "count" : 2512,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1010,
- "componentType" : 5126,
- "count" : 2512,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1011,
- "componentType" : 5126,
- "count" : 2456,
- "max" : [
- 8.201740264892578,
- 2.830152750015259,
- -2.6467621326446533
- ],
- "min" : [
- 5.328767776489258,
- 0.0013050000416114926,
- -2.892568826675415
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1012,
- "componentType" : 5126,
- "count" : 2456,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1013,
- "componentType" : 5126,
- "count" : 2456,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1014,
- "componentType" : 5123,
- "count" : 14592,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1015,
- "componentType" : 5126,
- "count" : 703,
- "max" : [
- 9.17502498626709,
- 6.953227519989014,
- -2.172560930252075
- ],
- "min" : [
- 8.193110466003418,
- 5.07139778137207,
- -3.1544759273529053
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1016,
- "componentType" : 5126,
- "count" : 703,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1017,
- "componentType" : 5126,
- "count" : 703,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1018,
- "componentType" : 5123,
- "count" : 1188,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1019,
- "componentType" : 5126,
- "count" : 4,
- "max" : [
- 5.118712425231934,
- 2.1369729042053223,
- -2.179137945175171
- ],
- "min" : [
- 4.871608734130859,
- 1.3415701389312744,
- -2.214871883392334
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1020,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1021,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1022,
- "componentType" : 5123,
- "count" : 6,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1023,
- "componentType" : 5126,
- "count" : 4,
- "max" : [
- 4.890719890594482,
- 2.1435487270355225,
- -2.197005033493042
- ],
- "min" : [
- 4.619029998779297,
- 1.3375129699707031,
- -2.197005033493042
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1024,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1025,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1026,
- "componentType" : 5123,
- "count" : 6,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1027,
- "componentType" : 5126,
- "count" : 6,
- "max" : [
- 5.133056640625,
- 2.1413300037384033,
- -2.197005033493042
- ],
- "min" : [
- 4.857263565063477,
- 1.3372129201889038,
- -2.197005033493042
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1028,
- "componentType" : 5126,
- "count" : 6,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1029,
- "componentType" : 5126,
- "count" : 6,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1030,
- "componentType" : 5123,
- "count" : 6,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1031,
- "componentType" : 5126,
- "count" : 4,
- "max" : [
- 4.886728763580322,
- 2.1369469165802,
- -2.179137945175171
- ],
- "min" : [
- 4.628350257873535,
- 1.3441150188446045,
- -2.214871883392334
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1032,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1033,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1034,
- "componentType" : 5126,
- "count" : 900,
- "max" : [
- 5.128174781799316,
- 1.2814610004425049,
- -1.943250060081482
- ],
- "min" : [
- 4.6200666427612305,
- 1.0480189323425293,
- -2.450788736343384
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1035,
- "componentType" : 5126,
- "count" : 900,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1036,
- "componentType" : 5126,
- "count" : 900,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1037,
- "componentType" : 5123,
- "count" : 4923,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1038,
- "componentType" : 5126,
- "count" : 326,
- "max" : [
- 4.907547950744629,
- 1.0480189323425293,
- -2.1641979217529297
- ],
- "min" : [
- 4.840766906738281,
- 0.9867289662361145,
- -2.230902910232544
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1039,
- "componentType" : 5126,
- "count" : 326,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1040,
- "componentType" : 5126,
- "count" : 326,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1041,
- "componentType" : 5123,
- "count" : 1674,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1042,
- "componentType" : 5126,
- "count" : 628,
- "max" : [
- 5.2261152267456055,
- 1.3718829154968262,
- -2.1757559776306152
- ],
- "min" : [
- 5.0744147300720215,
- 1.1189759969711304,
- -2.2182538509368896
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1043,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1044,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1045,
- "componentType" : 5123,
- "count" : 3732,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1046,
- "componentType" : 5126,
- "count" : 628,
- "max" : [
- 4.678221702575684,
- 1.3718829154968262,
- -2.1757538318634033
- ],
- "min" : [
- 4.526521682739258,
- 1.1189759969711304,
- -2.218251943588257
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1047,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1048,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1049,
- "componentType" : 5123,
- "count" : 3732,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1050,
- "componentType" : 5126,
- "count" : 143,
- "max" : [
- 4.89098596572876,
- 2.169512987136841,
- -2.116008758544922
- ],
- "min" : [
- 4.8572540283203125,
- 2.0745368003845215,
- -2.4683449268341064
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1051,
- "componentType" : 5126,
- "count" : 143,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1052,
- "componentType" : 5126,
- "count" : 143,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1053,
- "componentType" : 5123,
- "count" : 810,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1054,
- "componentType" : 5126,
- "count" : 4,
- "max" : [
- -5.949647903442383,
- 2.1369729042053223,
- -2.179137945175171
- ],
- "min" : [
- -6.196751594543457,
- 1.3415701389312744,
- -2.214871883392334
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1055,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1056,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1057,
- "componentType" : 5126,
- "count" : 409,
- "max" : [
- 8.686470985412598,
- 9.217284202575684,
- 1.8596729040145874
- ],
- "min" : [
- -10.023640632629395,
- 6.9376678466796875,
- -2.5932579040527344
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1058,
- "componentType" : 5126,
- "count" : 409,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1059,
- "componentType" : 5126,
- "count" : 409,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1060,
- "componentType" : 5123,
- "count" : 612,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1061,
- "componentType" : 5126,
- "count" : 6,
- "max" : [
- -6.177640438079834,
- 2.1435487270355225,
- -2.197005033493042
- ],
- "min" : [
- -6.449330806732178,
- 1.3375129699707031,
- -2.197005033493042
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1062,
- "componentType" : 5126,
- "count" : 6,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1063,
- "componentType" : 5126,
- "count" : 6,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1064,
- "componentType" : 5123,
- "count" : 6,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1065,
- "componentType" : 5126,
- "count" : 6,
- "max" : [
- -5.935302734375,
- 2.1413300037384033,
- -2.197005033493042
- ],
- "min" : [
- -6.21109676361084,
- 1.3372129201889038,
- -2.197005033493042
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1066,
- "componentType" : 5126,
- "count" : 6,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1067,
- "componentType" : 5126,
- "count" : 6,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1068,
- "componentType" : 5123,
- "count" : 6,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1069,
- "componentType" : 5126,
- "count" : 4,
- "max" : [
- -6.181630611419678,
- 2.1369469165802,
- -2.179137945175171
- ],
- "min" : [
- -6.440011024475098,
- 1.3441150188446045,
- -2.214871883392334
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1070,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1071,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1072,
- "componentType" : 5126,
- "count" : 900,
- "max" : [
- -5.940185546875,
- 1.2814610004425049,
- -1.943250060081482
- ],
- "min" : [
- -6.4482927322387695,
- 1.0480189323425293,
- -2.450788736343384
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1073,
- "componentType" : 5126,
- "count" : 900,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1074,
- "componentType" : 5126,
- "count" : 900,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1075,
- "componentType" : 5126,
- "count" : 326,
- "max" : [
- -6.160812854766846,
- 1.0480189323425293,
- -2.1641979217529297
- ],
- "min" : [
- -6.227593898773193,
- 0.9867289662361145,
- -2.230902910232544
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1076,
- "componentType" : 5126,
- "count" : 326,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1077,
- "componentType" : 5126,
- "count" : 326,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1078,
- "componentType" : 5126,
- "count" : 628,
- "max" : [
- -5.842246055603027,
- 1.3718829154968262,
- -2.1757559776306152
- ],
- "min" : [
- -5.9939470291137695,
- 1.1189759969711304,
- -2.2182538509368896
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1079,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1080,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1081,
- "componentType" : 5123,
- "count" : 3732,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1082,
- "componentType" : 5126,
- "count" : 628,
- "max" : [
- -6.390137672424316,
- 1.3718829154968262,
- -2.1757538318634033
- ],
- "min" : [
- -6.541837692260742,
- 1.1189759969711304,
- -2.218251943588257
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1083,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1084,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1085,
- "componentType" : 5123,
- "count" : 3732,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1086,
- "componentType" : 5126,
- "count" : 143,
- "max" : [
- -6.17737340927124,
- 2.169512987136841,
- -2.116008758544922
- ],
- "min" : [
- -6.211106300354004,
- 2.0745368003845215,
- -2.4683449268341064
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1087,
- "componentType" : 5126,
- "count" : 143,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1088,
- "componentType" : 5126,
- "count" : 143,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1089,
- "componentType" : 5126,
- "count" : 4,
- "max" : [
- -6.187331199645996,
- 2.1369729042053223,
- 1.4512840509414673
- ],
- "min" : [
- -6.43443489074707,
- 1.3415701389312744,
- 1.4155499935150146
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1090,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1091,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1092,
- "componentType" : 5123,
- "count" : 6,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1093,
- "componentType" : 5126,
- "count" : 4,
- "max" : [
- -5.934752464294434,
- 2.1435487270355225,
- 1.4334168434143066
- ],
- "min" : [
- -6.206442832946777,
- 1.3375129699707031,
- 1.4334168434143066
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1094,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1095,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1096,
- "componentType" : 5123,
- "count" : 6,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1097,
- "componentType" : 5126,
- "count" : 407,
- "max" : [
- 8.926568031311035,
- 9.217284202575684,
- 2.252952814102173
- ],
- "min" : [
- -10.22567081451416,
- 6.9376678466796875,
- -2.9549407958984375
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1098,
- "componentType" : 5126,
- "count" : 407,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1099,
- "componentType" : 5126,
- "count" : 407,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1100,
- "componentType" : 5123,
- "count" : 612,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1101,
- "componentType" : 5126,
- "count" : 6,
- "max" : [
- -6.172985553741455,
- 2.1413300037384033,
- 1.4334179162979126
- ],
- "min" : [
- -6.4487810134887695,
- 1.3372129201889038,
- 1.4334168434143066
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1102,
- "componentType" : 5126,
- "count" : 6,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1103,
- "componentType" : 5126,
- "count" : 6,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1104,
- "componentType" : 5123,
- "count" : 6,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1105,
- "componentType" : 5126,
- "count" : 4,
- "max" : [
- -5.944071292877197,
- 2.1369469165802,
- 1.4512840509414673
- ],
- "min" : [
- -6.202451705932617,
- 1.3441150188446045,
- 1.4155499935150146
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1106,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1107,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1108,
- "componentType" : 5126,
- "count" : 900,
- "max" : [
- -5.935790061950684,
- 1.2814610004425049,
- 1.687201976776123
- ],
- "min" : [
- -6.443897724151611,
- 1.0480189323425293,
- 1.1796618700027466
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1109,
- "componentType" : 5126,
- "count" : 900,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1110,
- "componentType" : 5126,
- "count" : 900,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1111,
- "componentType" : 5123,
- "count" : 4923,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1112,
- "componentType" : 5126,
- "count" : 325,
- "max" : [
- -6.156490325927734,
- 1.0480189323425293,
- 1.467315912246704
- ],
- "min" : [
- -6.223269939422607,
- 0.9867289662361145,
- 1.4006099700927734
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1113,
- "componentType" : 5126,
- "count" : 325,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1114,
- "componentType" : 5126,
- "count" : 325,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1115,
- "componentType" : 5123,
- "count" : 1674,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1116,
- "componentType" : 5126,
- "count" : 628,
- "max" : [
- -6.39013671875,
- 1.3718829154968262,
- 1.4546668529510498
- ],
- "min" : [
- -6.541837692260742,
- 1.1189759969711304,
- 1.4121689796447754
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1117,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1118,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1119,
- "componentType" : 5123,
- "count" : 3732,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1120,
- "componentType" : 5126,
- "count" : 628,
- "max" : [
- -5.842243671417236,
- 1.3718829154968262,
- 1.4546648263931274
- ],
- "min" : [
- -5.9939446449279785,
- 1.1189759969711304,
- 1.4121668338775635
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1121,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1122,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1123,
- "componentType" : 5123,
- "count" : 3732,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1124,
- "componentType" : 5126,
- "count" : 143,
- "max" : [
- -6.172976493835449,
- 2.169512987136841,
- 1.7047579288482666
- ],
- "min" : [
- -6.206708908081055,
- 2.0745368003845215,
- 1.3524219989776611
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1125,
- "componentType" : 5126,
- "count" : 143,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1126,
- "componentType" : 5126,
- "count" : 143,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1127,
- "componentType" : 5123,
- "count" : 810,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1128,
- "componentType" : 5126,
- "count" : 4,
- "max" : [
- 4.881028652191162,
- 2.1369729042053223,
- 1.4512829780578613
- ],
- "min" : [
- 4.633925914764404,
- 1.3415701389312744,
- 1.4155479669570923
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1129,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1130,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1131,
- "componentType" : 5126,
- "count" : 6,
- "max" : [
- 5.133607864379883,
- 2.1435487270355225,
- 1.4334160089492798
- ],
- "min" : [
- 4.861917495727539,
- 1.3375129699707031,
- 1.4334160089492798
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1132,
- "componentType" : 5126,
- "count" : 6,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1133,
- "componentType" : 5126,
- "count" : 6,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1134,
- "componentType" : 5123,
- "count" : 6,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1135,
- "componentType" : 5126,
- "count" : 6,
- "max" : [
- 4.895374774932861,
- 2.1413300037384033,
- 1.4334160089492798
- ],
- "min" : [
- 4.619579792022705,
- 1.3372129201889038,
- 1.4334160089492798
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1136,
- "componentType" : 5126,
- "count" : 6,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1137,
- "componentType" : 5126,
- "count" : 6,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1138,
- "componentType" : 5126,
- "count" : 311,
- "max" : [
- 8.685941696166992,
- 12.967110633850098,
- 1.8129868507385254
- ],
- "min" : [
- -10.023770332336426,
- 9.217284202575684,
- -2.5354859828948975
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1139,
- "componentType" : 5126,
- "count" : 311,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1140,
- "componentType" : 5126,
- "count" : 311,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1141,
- "componentType" : 5123,
- "count" : 444,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1142,
- "componentType" : 5126,
- "count" : 4,
- "max" : [
- 5.1242876052856445,
- 2.1369469165802,
- 1.4512829780578613
- ],
- "min" : [
- 4.865907669067383,
- 1.3441150188446045,
- 1.4155479669570923
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1143,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1144,
- "componentType" : 5126,
- "count" : 4,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1145,
- "componentType" : 5126,
- "count" : 900,
- "max" : [
- 5.132570743560791,
- 1.2814610004425049,
- 1.6871999502182007
- ],
- "min" : [
- 4.624462604522705,
- 1.0480189323425293,
- 1.1796599626541138
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1146,
- "componentType" : 5126,
- "count" : 900,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1147,
- "componentType" : 5126,
- "count" : 900,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1148,
- "componentType" : 5126,
- "count" : 325,
- "max" : [
- 4.91187047958374,
- 1.0480189323425293,
- 1.4673140048980713
- ],
- "min" : [
- 4.845090389251709,
- 0.9867289662361145,
- 1.4006088972091675
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1149,
- "componentType" : 5126,
- "count" : 325,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1150,
- "componentType" : 5126,
- "count" : 325,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1151,
- "componentType" : 5123,
- "count" : 1674,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1152,
- "componentType" : 5126,
- "count" : 628,
- "max" : [
- 4.678223609924316,
- 1.3718829154968262,
- 1.4546648263931274
- ],
- "min" : [
- 4.526522636413574,
- 1.1189759969711304,
- 1.4121668338775635
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1153,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1154,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1155,
- "componentType" : 5126,
- "count" : 628,
- "max" : [
- 5.226115703582764,
- 1.3718829154968262,
- 1.4546629190444946
- ],
- "min" : [
- 5.0744147300720215,
- 1.1189759969711304,
- 1.4121649265289307
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1156,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1157,
- "componentType" : 5126,
- "count" : 628,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1158,
- "componentType" : 5126,
- "count" : 143,
- "max" : [
- 4.895384788513184,
- 2.169512987136841,
- 1.7047560214996338
- ],
- "min" : [
- 4.86165189743042,
- 2.0745368003845215,
- 1.3524199724197388
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1159,
- "componentType" : 5126,
- "count" : 143,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1160,
- "componentType" : 5126,
- "count" : 143,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1161,
- "componentType" : 5126,
- "count" : 536,
- "max" : [
- -9.290047645568848,
- 0.731235921382904,
- -1.9361118078231812
- ],
- "min" : [
- -9.929603576660156,
- 0.4608149528503418,
- -2.6183648109436035
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1162,
- "componentType" : 5126,
- "count" : 536,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1163,
- "componentType" : 5126,
- "count" : 536,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1164,
- "componentType" : 5123,
- "count" : 1404,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1165,
- "componentType" : 5126,
- "count" : 1230,
- "max" : [
- -9.38749885559082,
- 0.5619949698448181,
- -1.997121810913086
- ],
- "min" : [
- -9.907388687133789,
- -0.0014009999576956034,
- -2.5164308547973633
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1166,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1167,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1168,
- "componentType" : 5123,
- "count" : 6633,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1169,
- "componentType" : 5126,
- "count" : 536,
- "max" : [
- -9.290047645568848,
- 0.6936119794845581,
- 1.832831859588623
- ],
- "min" : [
- -9.929603576660156,
- 0.42319098114967346,
- 1.1505789756774902
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1170,
- "componentType" : 5126,
- "count" : 536,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1171,
- "componentType" : 5126,
- "count" : 536,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1172,
- "componentType" : 5126,
- "count" : 1230,
- "max" : [
- -9.38749885559082,
- 0.5243709683418274,
- 1.7718218564987183
- ],
- "min" : [
- -9.907388687133789,
- -0.039024997502565384,
- 1.2525129318237305
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1173,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1174,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1175,
- "componentType" : 5126,
- "count" : 536,
- "max" : [
- -2.091301918029785,
- 0.6936119794845581,
- 1.8785158395767212
- ],
- "min" : [
- -2.7735557556152344,
- 0.42319098114967346,
- 1.2389580011367798
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1176,
- "componentType" : 5126,
- "count" : 536,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1177,
- "componentType" : 5126,
- "count" : 536,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1178,
- "componentType" : 5126,
- "count" : 1230,
- "max" : [
- -2.193237066268921,
- 0.5243709683418274,
- 1.7810639142990112
- ],
- "min" : [
- -2.7125461101531982,
- -0.039024997502565384,
- 1.261173963546753
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1179,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1180,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1181,
- "componentType" : 5126,
- "count" : 453,
- "max" : [
- 1.4733439683914185,
- 0.6706769466400146,
- 1.8333748579025269
- ],
- "min" : [
- 0.9180700182914734,
- 0.43872296810150146,
- 1.2615379095077515
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1182,
- "componentType" : 5126,
- "count" : 453,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1183,
- "componentType" : 5126,
- "count" : 453,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1184,
- "componentType" : 5123,
- "count" : 1200,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1185,
- "componentType" : 5126,
- "count" : 1230,
- "max" : [
- 1.4474408626556396,
- 0.5230889916419983,
- 1.7931078672409058
- ],
- "min" : [
- 0.9275509715080261,
- -0.040306996554136276,
- 1.273798942565918
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1186,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1187,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1188,
- "componentType" : 5123,
- "count" : 6633,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1189,
- "componentType" : 5126,
- "count" : 116,
- "max" : [
- 5.359613418579102,
- 12.734880447387695,
- -2.4313318729400635
- ],
- "min" : [
- 4.784943580627441,
- 12.15902042388916,
- -2.6362478733062744
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1190,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1191,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1192,
- "componentType" : 5123,
- "count" : 480,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1193,
- "componentType" : 5126,
- "count" : 453,
- "max" : [
- 8.618857383728027,
- 0.6761940121650696,
- 1.8333748579025269
- ],
- "min" : [
- 8.063583374023438,
- 0.4442400336265564,
- 1.2615379095077515
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1194,
- "componentType" : 5126,
- "count" : 453,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1195,
- "componentType" : 5126,
- "count" : 453,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1196,
- "componentType" : 5126,
- "count" : 1230,
- "max" : [
- 8.592954635620117,
- 0.5286059975624084,
- 1.7931078672409058
- ],
- "min" : [
- 8.073064804077148,
- -0.034790001809597015,
- 1.273798942565918
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1197,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1198,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1199,
- "componentType" : 5123,
- "count" : 6633,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1200,
- "componentType" : 5126,
- "count" : 453,
- "max" : [
- 8.618857383728027,
- 0.7095819711685181,
- -1.935568928718567
- ],
- "min" : [
- 8.063583374023438,
- 0.4776289761066437,
- -2.507405996322632
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1201,
- "componentType" : 5126,
- "count" : 453,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1202,
- "componentType" : 5126,
- "count" : 453,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1203,
- "componentType" : 5126,
- "count" : 1230,
- "max" : [
- 8.592954635620117,
- 0.5619949698448181,
- -1.9758358001708984
- ],
- "min" : [
- 8.073064804077148,
- -0.0014009999576956034,
- -2.495144844055176
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1204,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1205,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1206,
- "componentType" : 5126,
- "count" : 453,
- "max" : [
- 1.4733439683914185,
- 0.7095819711685181,
- -1.935568928718567
- ],
- "min" : [
- 0.9180700182914734,
- 0.4776289761066437,
- -2.507405996322632
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1207,
- "componentType" : 5126,
- "count" : 453,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1208,
- "componentType" : 5126,
- "count" : 453,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1209,
- "componentType" : 5126,
- "count" : 1230,
- "max" : [
- 1.4474408626556396,
- 0.5619949698448181,
- -1.9758358001708984
- ],
- "min" : [
- 0.9275509715080261,
- -0.0014009999576956034,
- -2.495144844055176
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1210,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1211,
- "componentType" : 5126,
- "count" : 1230,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1212,
- "componentType" : 5126,
- "count" : 1353,
- "max" : [
- -11.277219772338867,
- 1.3301680088043213,
- 4.782617568969727
- ],
- "min" : [
- -12.766730308532715,
- -0.006933999713510275,
- 3.2931017875671387
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1213,
- "componentType" : 5126,
- "count" : 1353,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1214,
- "componentType" : 5126,
- "count" : 1353,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1215,
- "componentType" : 5123,
- "count" : 6888,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1216,
- "componentType" : 5126,
- "count" : 1353,
- "max" : [
- -11.277219772338867,
- 1.3301680088043213,
- -3.7454800605773926
- ],
- "min" : [
- -12.766730308532715,
- -0.006933999713510275,
- -5.2349958419799805
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1217,
- "componentType" : 5126,
- "count" : 1353,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1218,
- "componentType" : 5126,
- "count" : 1353,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1219,
- "componentType" : 5123,
- "count" : 6888,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1220,
- "componentType" : 5126,
- "count" : 1354,
- "max" : [
- 11.941709518432617,
- 1.3301680088043213,
- -3.7454800605773926
- ],
- "min" : [
- 10.452189445495605,
- -0.006933999713510275,
- -5.2349958419799805
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1221,
- "componentType" : 5126,
- "count" : 1354,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1222,
- "componentType" : 5126,
- "count" : 1354,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1223,
- "componentType" : 5123,
- "count" : 6888,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1224,
- "componentType" : 5126,
- "count" : 1351,
- "max" : [
- 11.941709518432617,
- 1.3301680088043213,
- 4.782617568969727
- ],
- "min" : [
- 10.452189445495605,
- -0.006933999713510275,
- 3.2931017875671387
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1225,
- "componentType" : 5126,
- "count" : 1351,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1226,
- "componentType" : 5126,
- "count" : 1351,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1227,
- "componentType" : 5123,
- "count" : 6888,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1228,
- "componentType" : 5126,
- "count" : 747,
- "max" : [
- 12.99867057800293,
- 3.0632457733154297,
- 0.8862659335136414
- ],
- "min" : [
- 12.770230293273926,
- 0.4081859886646271,
- -1.6046500205993652
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1229,
- "componentType" : 5126,
- "count" : 747,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1230,
- "componentType" : 5126,
- "count" : 747,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1231,
- "componentType" : 5123,
- "count" : 4086,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1232,
- "componentType" : 5126,
- "count" : 867,
- "max" : [
- 12.990260124206543,
- 2.6476118564605713,
- 0.4146759808063507
- ],
- "min" : [
- 12.240480422973633,
- 0.7990480065345764,
- -1.1469149589538574
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1233,
- "componentType" : 5126,
- "count" : 867,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1234,
- "componentType" : 5126,
- "count" : 867,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1235,
- "componentType" : 5123,
- "count" : 4563,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1236,
- "componentType" : 5126,
- "count" : 747,
- "max" : [
- -14.054309844970703,
- 3.0632457733154297,
- 0.8862689733505249
- ],
- "min" : [
- -14.282750129699707,
- 0.4081859886646271,
- -1.6046459674835205
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1237,
- "componentType" : 5126,
- "count" : 747,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1238,
- "componentType" : 5126,
- "count" : 747,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1239,
- "componentType" : 5123,
- "count" : 4086,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1240,
- "componentType" : 5126,
- "count" : 867,
- "max" : [
- -13.52455997467041,
- 2.6476118564605713,
- 0.42853397130966187
- ],
- "min" : [
- -14.274340629577637,
- 0.7990480065345764,
- -1.133056879043579
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1241,
- "componentType" : 5126,
- "count" : 867,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1242,
- "componentType" : 5126,
- "count" : 867,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1243,
- "componentType" : 5123,
- "count" : 4563,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1244,
- "componentType" : 5126,
- "count" : 50,
- "max" : [
- 17.466930389404297,
- 13.471960067749023,
- 10.397109985351562
- ],
- "min" : [
- -18.669830322265625,
- -1.2644249200820923,
- -11.39030933380127
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1245,
- "componentType" : 5126,
- "count" : 50,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1246,
- "componentType" : 5126,
- "count" : 50,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1247,
- "componentType" : 5123,
- "count" : 84,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1248,
- "componentType" : 5126,
- "count" : 199,
- "max" : [
- 5.249011516571045,
- 12.624040603637695,
- -2.559670925140381
- ],
- "min" : [
- 4.895544528961182,
- 12.269850730895996,
- -2.71464204788208
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1249,
- "componentType" : 5126,
- "count" : 199,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1250,
- "componentType" : 5126,
- "count" : 199,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1251,
- "componentType" : 5123,
- "count" : 336,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1252,
- "componentType" : 5126,
- "count" : 380,
- "max" : [
- 17.999080657958984,
- 14.222129821777344,
- 11.05426025390625
- ],
- "min" : [
- -19.20945930480957,
- 13.300320625305176,
- -11.828069686889648
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1253,
- "componentType" : 5126,
- "count" : 380,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1254,
- "componentType" : 5126,
- "count" : 380,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1255,
- "componentType" : 5123,
- "count" : 1488,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1256,
- "componentType" : 5126,
- "count" : 10546,
- "max" : [
- 13.192880630493164,
- 14.294330596923828,
- 6.25956916809082
- ],
- "min" : [
- -14.421850204467773,
- 12.805130004882812,
- -7.016911029815674
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1257,
- "componentType" : 5126,
- "count" : 10546,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1258,
- "componentType" : 5126,
- "count" : 10546,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1259,
- "componentType" : 5123,
- "count" : 41964,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1260,
- "componentType" : 5126,
- "count" : 22,
- "max" : [
- 13.8060302734375,
- 12.710371017456055,
- 6.747567653656006
- ],
- "min" : [
- -15.044679641723633,
- -1.1597908735275269,
- -7.825202465057373
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1261,
- "componentType" : 5126,
- "count" : 22,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1262,
- "componentType" : 5126,
- "count" : 22,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1263,
- "componentType" : 5123,
- "count" : 30,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1264,
- "componentType" : 5126,
- "count" : 116,
- "max" : [
- 1.658350944519043,
- 12.734880447387695,
- -2.4313318729400635
- ],
- "min" : [
- 1.0836809873580933,
- 12.15902042388916,
- -2.6362478733062744
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1265,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1266,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1267,
- "componentType" : 5123,
- "count" : 480,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1268,
- "componentType" : 5126,
- "count" : 216,
- "max" : [
- 1.5477490425109863,
- 12.624040603637695,
- -2.559670925140381
- ],
- "min" : [
- 1.1942819356918335,
- 12.269850730895996,
- -2.71464204788208
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1269,
- "componentType" : 5126,
- "count" : 216,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1270,
- "componentType" : 5126,
- "count" : 216,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1271,
- "componentType" : 5123,
- "count" : 336,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1272,
- "componentType" : 5126,
- "count" : 116,
- "max" : [
- -2.3586528301239014,
- 12.734880447387695,
- -2.4313318729400635
- ],
- "min" : [
- -2.9333229064941406,
- 12.15902042388916,
- -2.6362478733062744
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1273,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1274,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1275,
- "componentType" : 5123,
- "count" : 480,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1276,
- "componentType" : 5126,
- "count" : 210,
- "max" : [
- -2.469254970550537,
- 12.624040603637695,
- -2.559670925140381
- ],
- "min" : [
- -2.8227217197418213,
- 12.269850730895996,
- -2.71464204788208
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1277,
- "componentType" : 5126,
- "count" : 210,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1278,
- "componentType" : 5126,
- "count" : 210,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1279,
- "componentType" : 5123,
- "count" : 336,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1280,
- "componentType" : 5126,
- "count" : 116,
- "max" : [
- -6.060910701751709,
- 12.734880447387695,
- -2.4313318729400635
- ],
- "min" : [
- -6.635581016540527,
- 12.15902042388916,
- -2.6362478733062744
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1281,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1282,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1283,
- "componentType" : 5126,
- "count" : 192,
- "max" : [
- -6.171513557434082,
- 12.624040603637695,
- -2.559670925140381
- ],
- "min" : [
- -6.5249786376953125,
- 12.269850730895996,
- -2.71464204788208
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1284,
- "componentType" : 5126,
- "count" : 192,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1285,
- "componentType" : 5126,
- "count" : 192,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1286,
- "componentType" : 5123,
- "count" : 336,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1287,
- "componentType" : 5126,
- "count" : 116,
- "max" : [
- -9.921154975891113,
- 12.750110626220703,
- -0.06238099932670593
- ],
- "min" : [
- -10.126070022583008,
- 12.174250602722168,
- -0.6370500326156616
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1288,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1289,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1290,
- "componentType" : 5123,
- "count" : 480,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1291,
- "componentType" : 5126,
- "count" : 175,
- "max" : [
- -10.04949951171875,
- 12.639280319213867,
- -0.17298299074172974
- ],
- "min" : [
- -10.204460144042969,
- 12.285079956054688,
- -0.5264500379562378
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1292,
- "componentType" : 5126,
- "count" : 175,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1293,
- "componentType" : 5126,
- "count" : 175,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1294,
- "componentType" : 5123,
- "count" : 336,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1295,
- "componentType" : 5126,
- "count" : 116,
- "max" : [
- 5.359613418579102,
- 12.734880447387695,
- 1.8992849588394165
- ],
- "min" : [
- 4.784943580627441,
- 12.15902042388916,
- 1.6943700313568115
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1296,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1297,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1298,
- "componentType" : 5123,
- "count" : 480,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1299,
- "componentType" : 5126,
- "count" : 199,
- "max" : [
- 5.249011516571045,
- 12.624040603637695,
- 1.977679967880249
- ],
- "min" : [
- 4.895544528961182,
- 12.269850730895996,
- 1.8227088451385498
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1300,
- "componentType" : 5126,
- "count" : 199,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1301,
- "componentType" : 5126,
- "count" : 199,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1302,
- "componentType" : 5123,
- "count" : 336,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1303,
- "componentType" : 5126,
- "count" : 116,
- "max" : [
- 1.658350944519043,
- 12.734880447387695,
- 1.8992849588394165
- ],
- "min" : [
- 1.0836809873580933,
- 12.15902042388916,
- 1.6943700313568115
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1304,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1305,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1306,
- "componentType" : 5126,
- "count" : 203,
- "max" : [
- 1.5477490425109863,
- 12.624040603637695,
- 1.977679967880249
- ],
- "min" : [
- 1.1942819356918335,
- 12.269850730895996,
- 1.8227088451385498
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1307,
- "componentType" : 5126,
- "count" : 203,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1308,
- "componentType" : 5126,
- "count" : 203,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1309,
- "componentType" : 5123,
- "count" : 336,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1310,
- "componentType" : 5126,
- "count" : 116,
- "max" : [
- -2.3586528301239014,
- 12.734880447387695,
- 1.8992849588394165
- ],
- "min" : [
- -2.9333229064941406,
- 12.15902042388916,
- 1.6943700313568115
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1311,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1312,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1313,
- "componentType" : 5126,
- "count" : 195,
- "max" : [
- -2.469254970550537,
- 12.624040603637695,
- 1.977678894996643
- ],
- "min" : [
- -2.8227217197418213,
- 12.269850730895996,
- 1.8227088451385498
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1314,
- "componentType" : 5126,
- "count" : 195,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1315,
- "componentType" : 5126,
- "count" : 195,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1316,
- "componentType" : 5123,
- "count" : 336,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1317,
- "componentType" : 5126,
- "count" : 116,
- "max" : [
- -6.060910701751709,
- 12.734880447387695,
- 1.8992849588394165
- ],
- "min" : [
- -6.635581016540527,
- 12.15902042388916,
- 1.6943700313568115
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1318,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1319,
- "componentType" : 5126,
- "count" : 116,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1320,
- "componentType" : 5126,
- "count" : 199,
- "max" : [
- -6.171513557434082,
- 12.624040603637695,
- 1.977678894996643
- ],
- "min" : [
- -6.524980545043945,
- 12.269850730895996,
- 1.8227088451385498
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1321,
- "componentType" : 5126,
- "count" : 199,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1322,
- "componentType" : 5126,
- "count" : 199,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1323,
- "componentType" : 5123,
- "count" : 336,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1324,
- "componentType" : 5126,
- "count" : 92,
- "max" : [
- -7.597280025482178,
- 10.144710540771484,
- 2.0278708934783936
- ],
- "min" : [
- -8.500575065612793,
- 9.27363109588623,
- 1.6931939125061035
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1325,
- "componentType" : 5126,
- "count" : 92,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1326,
- "componentType" : 5126,
- "count" : 92,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1327,
- "componentType" : 5123,
- "count" : 120,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1328,
- "componentType" : 5126,
- "count" : 86,
- "max" : [
- -3.8870129585266113,
- 10.144710540771484,
- 2.027869939804077
- ],
- "min" : [
- -4.790307998657227,
- 9.27363109588623,
- 1.6931928396224976
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1329,
- "componentType" : 5126,
- "count" : 86,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1330,
- "componentType" : 5126,
- "count" : 86,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1331,
- "componentType" : 5123,
- "count" : 120,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1332,
- "componentType" : 5126,
- "count" : 83,
- "max" : [
- -0.16516299545764923,
- 10.144710540771484,
- 2.0278677940368652
- ],
- "min" : [
- -1.0684579610824585,
- 9.273633003234863,
- 1.6931920051574707
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1333,
- "componentType" : 5126,
- "count" : 83,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1334,
- "componentType" : 5126,
- "count" : 83,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1335,
- "componentType" : 5123,
- "count" : 120,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1336,
- "componentType" : 5126,
- "count" : 83,
- "max" : [
- 3.5094308853149414,
- 10.144710540771484,
- 2.027866840362549
- ],
- "min" : [
- 2.6061348915100098,
- 9.273633003234863,
- 1.6931909322738647
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1337,
- "componentType" : 5126,
- "count" : 83,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1338,
- "componentType" : 5126,
- "count" : 83,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1339,
- "componentType" : 5123,
- "count" : 120,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1340,
- "componentType" : 5126,
- "count" : 84,
- "max" : [
- 7.218197345733643,
- 10.144710540771484,
- 2.0278658866882324
- ],
- "min" : [
- 6.314901828765869,
- 9.273633003234863,
- 1.6931889057159424
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1341,
- "componentType" : 5126,
- "count" : 84,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1342,
- "componentType" : 5126,
- "count" : 84,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1343,
- "componentType" : 5123,
- "count" : 120,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1344,
- "componentType" : 5126,
- "count" : 79,
- "max" : [
- -9.965863227844238,
- 10.088360786437988,
- 0.10976799577474594
- ],
- "min" : [
- -10.300540924072266,
- 9.217284202575684,
- -0.7935279607772827
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1345,
- "componentType" : 5126,
- "count" : 79,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1346,
- "componentType" : 5126,
- "count" : 79,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1347,
- "componentType" : 5123,
- "count" : 120,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1348,
- "componentType" : 5126,
- "count" : 86,
- "max" : [
- -7.597280025482178,
- 10.144710540771484,
- -2.413100004196167
- ],
- "min" : [
- -8.500575065612793,
- 9.27363109588623,
- -2.747776746749878
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1349,
- "componentType" : 5126,
- "count" : 86,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1350,
- "componentType" : 5126,
- "count" : 86,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1351,
- "componentType" : 5123,
- "count" : 120,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1352,
- "componentType" : 5126,
- "count" : 83,
- "max" : [
- -3.8870129585266113,
- 10.144710540771484,
- -2.413100004196167
- ],
- "min" : [
- -4.790307998657227,
- 9.27363109588623,
- -2.747776746749878
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1353,
- "componentType" : 5126,
- "count" : 83,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1354,
- "componentType" : 5126,
- "count" : 83,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1355,
- "componentType" : 5123,
- "count" : 120,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1356,
- "componentType" : 5126,
- "count" : 84,
- "max" : [
- -0.16516299545764923,
- 10.144710540771484,
- -2.413100004196167
- ],
- "min" : [
- -1.0684579610824585,
- 9.273633003234863,
- -2.747776746749878
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1357,
- "componentType" : 5126,
- "count" : 84,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1358,
- "componentType" : 5126,
- "count" : 84,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1359,
- "componentType" : 5123,
- "count" : 120,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1360,
- "componentType" : 5126,
- "count" : 86,
- "max" : [
- 3.5094308853149414,
- 10.144710540771484,
- -2.413100004196167
- ],
- "min" : [
- 2.6061348915100098,
- 9.273633003234863,
- -2.747776746749878
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1361,
- "componentType" : 5126,
- "count" : 86,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1362,
- "componentType" : 5126,
- "count" : 86,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1363,
- "componentType" : 5123,
- "count" : 120,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1364,
- "componentType" : 5126,
- "count" : 84,
- "max" : [
- 7.218197345733643,
- 10.144710540771484,
- -2.413100004196167
- ],
- "min" : [
- 6.314901828765869,
- 9.273633003234863,
- -2.747776746749878
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1365,
- "componentType" : 5126,
- "count" : 84,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1366,
- "componentType" : 5126,
- "count" : 84,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1367,
- "componentType" : 5123,
- "count" : 120,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1368,
- "componentType" : 5126,
- "count" : 70,
- "max" : [
- 9.975961685180664,
- 13.144899368286133,
- 3.1890077590942383
- ],
- "min" : [
- -10.86423110961914,
- 9.07744026184082,
- -4.081467628479004
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1369,
- "componentType" : 5126,
- "count" : 70,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1370,
- "componentType" : 5126,
- "count" : 70,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1371,
- "componentType" : 5123,
- "count" : 96,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1372,
- "componentType" : 5126,
- "count" : 584,
- "max" : [
- 9.176836013793945,
- 9.302658081054688,
- 2.4355807304382324
- ],
- "min" : [
- -10.483080863952637,
- 9.154513359069824,
- -3.1810600757598877
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1373,
- "componentType" : 5126,
- "count" : 584,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1374,
- "componentType" : 5126,
- "count" : 584,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1375,
- "componentType" : 5123,
- "count" : 840,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1376,
- "componentType" : 5126,
- "count" : 30,
- "max" : [
- 13.022210121154785,
- 8.673871040344238,
- 5.747061729431152
- ],
- "min" : [
- -14.312000274658203,
- 4.155303001403809,
- -6.406331539154053
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1377,
- "componentType" : 5126,
- "count" : 30,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1378,
- "componentType" : 5126,
- "count" : 30,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1379,
- "componentType" : 5123,
- "count" : 54,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1380,
- "componentType" : 5126,
- "count" : 79,
- "max" : [
- 13.021909713745117,
- 4.034478664398193,
- 5.740296363830566
- ],
- "min" : [
- -14.285200119018555,
- -0.026201000437140465,
- -6.443113803863525
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1381,
- "componentType" : 5126,
- "count" : 79,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1382,
- "componentType" : 5126,
- "count" : 79,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1383,
- "componentType" : 5123,
- "count" : 108,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1384,
- "componentType" : 5126,
- "count" : 319,
- "max" : [
- 0.4111109972000122,
- 2.435642957687378,
- 6.050136089324951
- ],
- "min" : [
- -1.7002489566802979,
- -0.021348997950553894,
- 5.542697429656982
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1385,
- "componentType" : 5126,
- "count" : 319,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1386,
- "componentType" : 5126,
- "count" : 319,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1387,
- "componentType" : 5123,
- "count" : 480,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1388,
- "componentType" : 5126,
- "count" : 50,
- "max" : [
- -3.5712759494781494,
- 2.893174886703491,
- 5.8367204666137695
- ],
- "min" : [
- -5.096835136413574,
- 1.1980509757995605,
- 5.731038570404053
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1389,
- "componentType" : 5126,
- "count" : 50,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1390,
- "componentType" : 5126,
- "count" : 50,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1391,
- "componentType" : 5123,
- "count" : 72,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1392,
- "componentType" : 5126,
- "count" : 176,
- "max" : [
- -3.5712759494781494,
- 2.893174886703491,
- 5.897528171539307
- ],
- "min" : [
- -5.096832752227783,
- 1.1980509757995605,
- 5.731038570404053
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1393,
- "componentType" : 5126,
- "count" : 176,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1394,
- "componentType" : 5126,
- "count" : 176,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1395,
- "componentType" : 5123,
- "count" : 246,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1396,
- "componentType" : 5126,
- "count" : 56,
- "max" : [
- 3.841212749481201,
- 2.8931758403778076,
- 5.836721897125244
- ],
- "min" : [
- 2.3156540393829346,
- 1.1980509757995605,
- 5.731040000915527
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1397,
- "componentType" : 5126,
- "count" : 56,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1398,
- "componentType" : 5126,
- "count" : 56,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1399,
- "componentType" : 5123,
- "count" : 72,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1400,
- "componentType" : 5126,
- "count" : 180,
- "max" : [
- 3.8412117958068848,
- 2.8931758403778076,
- 5.897528648376465
- ],
- "min" : [
- 2.3156540393829346,
- 1.1980509757995605,
- 5.731040000915527
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1401,
- "componentType" : 5126,
- "count" : 180,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1402,
- "componentType" : 5126,
- "count" : 180,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1403,
- "componentType" : 5123,
- "count" : 246,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1404,
- "componentType" : 5126,
- "count" : 513,
- "max" : [
- 0.13023599982261658,
- 3.003856658935547,
- -6.326350688934326
- ],
- "min" : [
- -1.4044690132141113,
- -0.022154998034238815,
- -6.515385150909424
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1405,
- "componentType" : 5126,
- "count" : 513,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1406,
- "componentType" : 5126,
- "count" : 513,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1407,
- "componentType" : 5123,
- "count" : 834,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1408,
- "componentType" : 5126,
- "count" : 463,
- "max" : [
- 13.155240058898926,
- 7.168505668640137,
- 0.4259200096130371
- ],
- "min" : [
- 12.96621036529541,
- 4.142493724822998,
- -1.10878586769104
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1409,
- "componentType" : 5126,
- "count" : 463,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1410,
- "componentType" : 5126,
- "count" : 463,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1411,
- "componentType" : 5123,
- "count" : 834,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1412,
- "componentType" : 5126,
- "count" : 127,
- "max" : [
- 13.021909713745117,
- 4.244658946990967,
- 5.75300407409668
- ],
- "min" : [
- -14.318989753723145,
- 4.154613971710205,
- -6.416023254394531
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1413,
- "componentType" : 5126,
- "count" : 127,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1414,
- "componentType" : 5126,
- "count" : 127,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1415,
- "componentType" : 5123,
- "count" : 150,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1416,
- "componentType" : 5126,
- "count" : 126,
- "max" : [
- 13.03104019165039,
- 6.953226566314697,
- -6.291940689086914
- ],
- "min" : [
- 12.900020599365234,
- 6.60363245010376,
- -6.452885627746582
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1417,
- "componentType" : 5126,
- "count" : 126,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1418,
- "componentType" : 5126,
- "count" : 126,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1419,
- "componentType" : 5123,
- "count" : 222,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1420,
- "componentType" : 5126,
- "count" : 126,
- "max" : [
- 13.03104019165039,
- 6.953226566314697,
- 5.757254123687744
- ],
- "min" : [
- 12.900020599365234,
- 6.603631496429443,
- 5.59630823135376
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1421,
- "componentType" : 5126,
- "count" : 126,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1422,
- "componentType" : 5126,
- "count" : 126,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1423,
- "componentType" : 5123,
- "count" : 222,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1424,
- "componentType" : 5126,
- "count" : 166,
- "max" : [
- 13.032720565795898,
- 6.953225612640381,
- -2.2154388427734375
- ],
- "min" : [
- 12.87656021118164,
- 6.603631496429443,
- -3.1005918979644775
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1425,
- "componentType" : 5126,
- "count" : 166,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1426,
- "componentType" : 5126,
- "count" : 166,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1427,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1428,
- "componentType" : 5126,
- "count" : 167,
- "max" : [
- 13.032720565795898,
- 6.953225612640381,
- 2.4067718982696533
- ],
- "min" : [
- 12.87656021118164,
- 6.603631496429443,
- 1.5216178894042969
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1429,
- "componentType" : 5126,
- "count" : 167,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1430,
- "componentType" : 5126,
- "count" : 167,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1431,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1432,
- "componentType" : 5126,
- "count" : 163,
- "max" : [
- -5.890180587768555,
- 6.953226566314697,
- 5.754880428314209
- ],
- "min" : [
- -6.497213363647461,
- 6.60363245010376,
- 5.598720550537109
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1433,
- "componentType" : 5126,
- "count" : 163,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1434,
- "componentType" : 5126,
- "count" : 163,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1435,
- "componentType" : 5126,
- "count" : 158,
- "max" : [
- -9.627448081970215,
- 6.953226566314697,
- 5.754880428314209
- ],
- "min" : [
- -10.49055004119873,
- 6.603631496429443,
- 5.598721981048584
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1436,
- "componentType" : 5126,
- "count" : 158,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1437,
- "componentType" : 5126,
- "count" : 158,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1438,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1439,
- "componentType" : 5126,
- "count" : 158,
- "max" : [
- -2.179433822631836,
- 6.953226566314697,
- 5.754880428314209
- ],
- "min" : [
- -2.7864646911621094,
- 6.603631496429443,
- 5.598721981048584
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1440,
- "componentType" : 5126,
- "count" : 158,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1441,
- "componentType" : 5126,
- "count" : 158,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1442,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1443,
- "componentType" : 5126,
- "count" : 158,
- "max" : [
- 1.5290719270706177,
- 6.953226566314697,
- 5.754880428314209
- ],
- "min" : [
- 0.9220399856567383,
- 6.603631496429443,
- 5.598721981048584
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1444,
- "componentType" : 5126,
- "count" : 158,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1445,
- "componentType" : 5126,
- "count" : 158,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1446,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1447,
- "componentType" : 5126,
- "count" : 158,
- "max" : [
- 5.233678340911865,
- 6.953226566314697,
- 5.754880428314209
- ],
- "min" : [
- 4.626646995544434,
- 6.603631496429443,
- 5.598721981048584
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1448,
- "componentType" : 5126,
- "count" : 158,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1449,
- "componentType" : 5126,
- "count" : 158,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1450,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1451,
- "componentType" : 5126,
- "count" : 159,
- "max" : [
- 9.23731517791748,
- 6.953226566314697,
- 5.754880428314209
- ],
- "min" : [
- 8.352161407470703,
- 6.603631496429443,
- 5.598721981048584
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1452,
- "componentType" : 5126,
- "count" : 159,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1453,
- "componentType" : 5126,
- "count" : 159,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1454,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1455,
- "componentType" : 5126,
- "count" : 158,
- "max" : [
- -5.890180587768555,
- 6.953226566314697,
- -6.313518524169922
- ],
- "min" : [
- -6.497213363647461,
- 6.60363245010376,
- -6.469677448272705
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1456,
- "componentType" : 5126,
- "count" : 158,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1457,
- "componentType" : 5126,
- "count" : 158,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1458,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1459,
- "componentType" : 5126,
- "count" : 156,
- "max" : [
- -9.627448081970215,
- 6.953226566314697,
- -6.313520908355713
- ],
- "min" : [
- -10.49055004119873,
- 6.603631496429443,
- -6.46967887878418
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1460,
- "componentType" : 5126,
- "count" : 156,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1461,
- "componentType" : 5126,
- "count" : 156,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1462,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1463,
- "componentType" : 5126,
- "count" : 160,
- "max" : [
- -2.179433822631836,
- 6.953226566314697,
- -6.313520908355713
- ],
- "min" : [
- -2.7864646911621094,
- 6.603631496429443,
- -6.46967887878418
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1464,
- "componentType" : 5126,
- "count" : 160,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1465,
- "componentType" : 5126,
- "count" : 160,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1466,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1467,
- "componentType" : 5126,
- "count" : 156,
- "max" : [
- 1.5290719270706177,
- 6.953226566314697,
- -6.313520908355713
- ],
- "min" : [
- 0.9220399856567383,
- 6.603631496429443,
- -6.46967887878418
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1468,
- "componentType" : 5126,
- "count" : 156,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1469,
- "componentType" : 5126,
- "count" : 156,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1470,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1471,
- "componentType" : 5126,
- "count" : 159,
- "max" : [
- 5.233678340911865,
- 6.953226566314697,
- -6.313520908355713
- ],
- "min" : [
- 4.626646995544434,
- 6.603631496429443,
- -6.46967887878418
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1472,
- "componentType" : 5126,
- "count" : 159,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1473,
- "componentType" : 5126,
- "count" : 159,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1474,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1475,
- "componentType" : 5126,
- "count" : 159,
- "max" : [
- 9.23731517791748,
- 6.953226566314697,
- -6.313520908355713
- ],
- "min" : [
- 8.352161407470703,
- 6.603631496429443,
- -6.46967887878418
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1476,
- "componentType" : 5126,
- "count" : 159,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1477,
- "componentType" : 5126,
- "count" : 159,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1478,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1479,
- "componentType" : 5126,
- "count" : 165,
- "max" : [
- -14.146899223327637,
- 6.953225612640381,
- -2.2154388427734375
- ],
- "min" : [
- -14.30305004119873,
- 6.603631496429443,
- -3.1005918979644775
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1480,
- "componentType" : 5126,
- "count" : 165,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1481,
- "componentType" : 5126,
- "count" : 165,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1482,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1483,
- "componentType" : 5126,
- "count" : 165,
- "max" : [
- -14.146899223327637,
- 6.953225612640381,
- 2.4067718982696533
- ],
- "min" : [
- -14.30305004119873,
- 6.603631496429443,
- 1.5216178894042969
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1484,
- "componentType" : 5126,
- "count" : 165,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1485,
- "componentType" : 5126,
- "count" : 165,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1486,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1487,
- "componentType" : 5126,
- "count" : 126,
- "max" : [
- -14.170490264892578,
- 6.953226566314697,
- -6.291940689086914
- ],
- "min" : [
- -14.30150032043457,
- 6.603631496429443,
- -6.452885627746582
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1488,
- "componentType" : 5126,
- "count" : 126,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1489,
- "componentType" : 5126,
- "count" : 126,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1490,
- "componentType" : 5123,
- "count" : 222,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1491,
- "componentType" : 5126,
- "count" : 125,
- "max" : [
- -14.170490264892578,
- 6.953225612640381,
- 5.757254600524902
- ],
- "min" : [
- -14.30150032043457,
- 6.603631496429443,
- 5.596310138702393
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1492,
- "componentType" : 5126,
- "count" : 125,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1493,
- "componentType" : 5126,
- "count" : 125,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1494,
- "componentType" : 5123,
- "count" : 222,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1495,
- "componentType" : 5126,
- "count" : 127,
- "max" : [
- 13.03104019165039,
- 2.1761178970336914,
- -6.291940689086914
- ],
- "min" : [
- 12.900020599365234,
- 1.826522946357727,
- -6.452885627746582
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1496,
- "componentType" : 5126,
- "count" : 127,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1497,
- "componentType" : 5126,
- "count" : 127,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1498,
- "componentType" : 5123,
- "count" : 222,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1499,
- "componentType" : 5126,
- "count" : 125,
- "max" : [
- 13.03104019165039,
- 2.176116943359375,
- 5.757254123687744
- ],
- "min" : [
- 12.900020599365234,
- 1.826522946357727,
- 5.59630823135376
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1500,
- "componentType" : 5126,
- "count" : 125,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1501,
- "componentType" : 5126,
- "count" : 125,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1502,
- "componentType" : 5123,
- "count" : 222,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1503,
- "componentType" : 5126,
- "count" : 167,
- "max" : [
- 13.032720565795898,
- 2.176116943359375,
- -2.2154388427734375
- ],
- "min" : [
- 12.87656021118164,
- 1.826522946357727,
- -3.1005918979644775
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1504,
- "componentType" : 5126,
- "count" : 167,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1505,
- "componentType" : 5126,
- "count" : 167,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1506,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- },
- {
- "bufferView" : 1507,
- "componentType" : 5126,
- "count" : 164,
- "max" : [
- 13.032720565795898,
- 2.176116943359375,
- 2.4067718982696533
- ],
- "min" : [
- 12.87656021118164,
- 1.826522946357727,
- 1.5216178894042969
- ],
- "type" : "VEC3"
- },
- {
- "bufferView" : 1508,
- "componentType" : 5126,
- "count" : 164,
- "type" : "VEC3"
- },
- {
- "bufferView" : 1509,
- "componentType" : 5126,
- "count" : 164,
- "type" : "VEC2"
- },
- {
- "bufferView" : 1510,
- "componentType" : 5123,
- "count" : 264,
- "type" : "SCALAR"
- }
- ],
- "bufferViews" : [
- {
- "buffer" : 0,
- "byteLength" : 37908,
- "byteOffset" : 0
- },
- {
- "buffer" : 0,
- "byteLength" : 37908,
- "byteOffset" : 37908
- },
- {
- "buffer" : 0,
- "byteLength" : 25272,
- "byteOffset" : 75816
- },
- {
- "buffer" : 0,
- "byteLength" : 21840,
- "byteOffset" : 101088
- },
- {
- "buffer" : 0,
- "byteLength" : 6432,
- "byteOffset" : 122928
- },
- {
- "buffer" : 0,
- "byteLength" : 6432,
- "byteOffset" : 129360
- },
- {
- "buffer" : 0,
- "byteLength" : 4288,
- "byteOffset" : 135792
- },
- {
- "buffer" : 0,
- "byteLength" : 2808,
- "byteOffset" : 140080
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 142888
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 157648
- },
- {
- "buffer" : 0,
- "byteLength" : 9840,
- "byteOffset" : 172408
- },
- {
- "buffer" : 0,
- "byteLength" : 13266,
- "byteOffset" : 182248
- },
- {
- "buffer" : 0,
- "byteLength" : 9000,
- "byteOffset" : 195516
- },
- {
- "buffer" : 0,
- "byteLength" : 9000,
- "byteOffset" : 204516
- },
- {
- "buffer" : 0,
- "byteLength" : 6000,
- "byteOffset" : 213516
- },
- {
- "buffer" : 0,
- "byteLength" : 8172,
- "byteOffset" : 219516
- },
- {
- "buffer" : 0,
- "byteLength" : 240,
- "byteOffset" : 227688
- },
- {
- "buffer" : 0,
- "byteLength" : 240,
- "byteOffset" : 227928
- },
- {
- "buffer" : 0,
- "byteLength" : 160,
- "byteOffset" : 228168
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 228328
- },
- {
- "buffer" : 0,
- "byteLength" : 1992,
- "byteOffset" : 228376
- },
- {
- "buffer" : 0,
- "byteLength" : 1992,
- "byteOffset" : 230368
- },
- {
- "buffer" : 0,
- "byteLength" : 1328,
- "byteOffset" : 232360
- },
- {
- "buffer" : 0,
- "byteLength" : 600,
- "byteOffset" : 233688
- },
- {
- "buffer" : 0,
- "byteLength" : 6576,
- "byteOffset" : 234288
- },
- {
- "buffer" : 0,
- "byteLength" : 6576,
- "byteOffset" : 240864
- },
- {
- "buffer" : 0,
- "byteLength" : 4384,
- "byteOffset" : 247440
- },
- {
- "buffer" : 0,
- "byteLength" : 1680,
- "byteOffset" : 251824
- },
- {
- "buffer" : 0,
- "byteLength" : 22176,
- "byteOffset" : 253504
- },
- {
- "buffer" : 0,
- "byteLength" : 22176,
- "byteOffset" : 275680
- },
- {
- "buffer" : 0,
- "byteLength" : 14784,
- "byteOffset" : 297856
- },
- {
- "buffer" : 0,
- "byteLength" : 13992,
- "byteOffset" : 312640
- },
- {
- "buffer" : 0,
- "byteLength" : 2772,
- "byteOffset" : 326632
- },
- {
- "buffer" : 0,
- "byteLength" : 2772,
- "byteOffset" : 329404
- },
- {
- "buffer" : 0,
- "byteLength" : 1848,
- "byteOffset" : 332176
- },
- {
- "buffer" : 0,
- "byteLength" : 1092,
- "byteOffset" : 334024
- },
- {
- "buffer" : 0,
- "byteLength" : 2748,
- "byteOffset" : 335116
- },
- {
- "buffer" : 0,
- "byteLength" : 2748,
- "byteOffset" : 337864
- },
- {
- "buffer" : 0,
- "byteLength" : 1832,
- "byteOffset" : 340612
- },
- {
- "buffer" : 0,
- "byteLength" : 1092,
- "byteOffset" : 342444
- },
- {
- "buffer" : 0,
- "byteLength" : 1956,
- "byteOffset" : 343536
- },
- {
- "buffer" : 0,
- "byteLength" : 1956,
- "byteOffset" : 345492
- },
- {
- "buffer" : 0,
- "byteLength" : 1304,
- "byteOffset" : 347448
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 348752
- },
- {
- "buffer" : 0,
- "byteLength" : 1944,
- "byteOffset" : 349280
- },
- {
- "buffer" : 0,
- "byteLength" : 1944,
- "byteOffset" : 351224
- },
- {
- "buffer" : 0,
- "byteLength" : 1296,
- "byteOffset" : 353168
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 354464
- },
- {
- "buffer" : 0,
- "byteLength" : 1956,
- "byteOffset" : 354992
- },
- {
- "buffer" : 0,
- "byteLength" : 1956,
- "byteOffset" : 356948
- },
- {
- "buffer" : 0,
- "byteLength" : 1304,
- "byteOffset" : 358904
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 360208
- },
- {
- "buffer" : 0,
- "byteLength" : 1956,
- "byteOffset" : 360736
- },
- {
- "buffer" : 0,
- "byteLength" : 1956,
- "byteOffset" : 362692
- },
- {
- "buffer" : 0,
- "byteLength" : 1304,
- "byteOffset" : 364648
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 365952
- },
- {
- "buffer" : 0,
- "byteLength" : 1956,
- "byteOffset" : 366480
- },
- {
- "buffer" : 0,
- "byteLength" : 1956,
- "byteOffset" : 368436
- },
- {
- "buffer" : 0,
- "byteLength" : 1304,
- "byteOffset" : 370392
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 371696
- },
- {
- "buffer" : 0,
- "byteLength" : 1932,
- "byteOffset" : 372224
- },
- {
- "buffer" : 0,
- "byteLength" : 1932,
- "byteOffset" : 374156
- },
- {
- "buffer" : 0,
- "byteLength" : 1288,
- "byteOffset" : 376088
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 377376
- },
- {
- "buffer" : 0,
- "byteLength" : 1956,
- "byteOffset" : 377904
- },
- {
- "buffer" : 0,
- "byteLength" : 1956,
- "byteOffset" : 379860
- },
- {
- "buffer" : 0,
- "byteLength" : 1304,
- "byteOffset" : 381816
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 383120
- },
- {
- "buffer" : 0,
- "byteLength" : 1932,
- "byteOffset" : 383648
- },
- {
- "buffer" : 0,
- "byteLength" : 1932,
- "byteOffset" : 385580
- },
- {
- "buffer" : 0,
- "byteLength" : 1288,
- "byteOffset" : 387512
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 388800
- },
- {
- "buffer" : 0,
- "byteLength" : 1956,
- "byteOffset" : 389328
- },
- {
- "buffer" : 0,
- "byteLength" : 1956,
- "byteOffset" : 391284
- },
- {
- "buffer" : 0,
- "byteLength" : 1304,
- "byteOffset" : 393240
- },
- {
- "buffer" : 0,
- "byteLength" : 1932,
- "byteOffset" : 394544
- },
- {
- "buffer" : 0,
- "byteLength" : 1932,
- "byteOffset" : 396476
- },
- {
- "buffer" : 0,
- "byteLength" : 1288,
- "byteOffset" : 398408
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 399696
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 400224
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 402960
- },
- {
- "buffer" : 0,
- "byteLength" : 1824,
- "byteOffset" : 405696
- },
- {
- "buffer" : 0,
- "byteLength" : 1092,
- "byteOffset" : 407520
- },
- {
- "buffer" : 0,
- "byteLength" : 1968,
- "byteOffset" : 408612
- },
- {
- "buffer" : 0,
- "byteLength" : 1968,
- "byteOffset" : 410580
- },
- {
- "buffer" : 0,
- "byteLength" : 1312,
- "byteOffset" : 412548
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 413860
- },
- {
- "buffer" : 0,
- "byteLength" : 1932,
- "byteOffset" : 414388
- },
- {
- "buffer" : 0,
- "byteLength" : 1932,
- "byteOffset" : 416320
- },
- {
- "buffer" : 0,
- "byteLength" : 1288,
- "byteOffset" : 418252
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 419540
- },
- {
- "buffer" : 0,
- "byteLength" : 1980,
- "byteOffset" : 420068
- },
- {
- "buffer" : 0,
- "byteLength" : 1980,
- "byteOffset" : 422048
- },
- {
- "buffer" : 0,
- "byteLength" : 1320,
- "byteOffset" : 424028
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 425348
- },
- {
- "buffer" : 0,
- "byteLength" : 2004,
- "byteOffset" : 425876
- },
- {
- "buffer" : 0,
- "byteLength" : 2004,
- "byteOffset" : 427880
- },
- {
- "buffer" : 0,
- "byteLength" : 1336,
- "byteOffset" : 429884
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 431220
- },
- {
- "buffer" : 0,
- "byteLength" : 1524,
- "byteOffset" : 431748
- },
- {
- "buffer" : 0,
- "byteLength" : 1524,
- "byteOffset" : 433272
- },
- {
- "buffer" : 0,
- "byteLength" : 1016,
- "byteOffset" : 434796
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 435812
- },
- {
- "buffer" : 0,
- "byteLength" : 1512,
- "byteOffset" : 436256
- },
- {
- "buffer" : 0,
- "byteLength" : 1512,
- "byteOffset" : 437768
- },
- {
- "buffer" : 0,
- "byteLength" : 1008,
- "byteOffset" : 439280
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 440288
- },
- {
- "buffer" : 0,
- "byteLength" : 1416,
- "byteOffset" : 440732
- },
- {
- "buffer" : 0,
- "byteLength" : 1416,
- "byteOffset" : 442148
- },
- {
- "buffer" : 0,
- "byteLength" : 944,
- "byteOffset" : 443564
- },
- {
- "buffer" : 0,
- "byteLength" : 300,
- "byteOffset" : 444508
- },
- {
- "buffer" : 0,
- "byteLength" : 156,
- "byteOffset" : 444808
- },
- {
- "buffer" : 0,
- "byteLength" : 156,
- "byteOffset" : 444964
- },
- {
- "buffer" : 0,
- "byteLength" : 104,
- "byteOffset" : 445120
- },
- {
- "buffer" : 0,
- "byteLength" : 30,
- "byteOffset" : 445224
- },
- {
- "buffer" : 0,
- "byteLength" : 5064,
- "byteOffset" : 445256
- },
- {
- "buffer" : 0,
- "byteLength" : 5064,
- "byteOffset" : 450320
- },
- {
- "buffer" : 0,
- "byteLength" : 3376,
- "byteOffset" : 455384
- },
- {
- "buffer" : 0,
- "byteLength" : 2040,
- "byteOffset" : 458760
- },
- {
- "buffer" : 0,
- "byteLength" : 4968,
- "byteOffset" : 460800
- },
- {
- "buffer" : 0,
- "byteLength" : 4968,
- "byteOffset" : 465768
- },
- {
- "buffer" : 0,
- "byteLength" : 3312,
- "byteOffset" : 470736
- },
- {
- "buffer" : 0,
- "byteLength" : 2040,
- "byteOffset" : 474048
- },
- {
- "buffer" : 0,
- "byteLength" : 2904,
- "byteOffset" : 476088
- },
- {
- "buffer" : 0,
- "byteLength" : 2904,
- "byteOffset" : 478992
- },
- {
- "buffer" : 0,
- "byteLength" : 1936,
- "byteOffset" : 481896
- },
- {
- "buffer" : 0,
- "byteLength" : 1092,
- "byteOffset" : 483832
- },
- {
- "buffer" : 0,
- "byteLength" : 4884,
- "byteOffset" : 484924
- },
- {
- "buffer" : 0,
- "byteLength" : 4884,
- "byteOffset" : 489808
- },
- {
- "buffer" : 0,
- "byteLength" : 3256,
- "byteOffset" : 494692
- },
- {
- "buffer" : 0,
- "byteLength" : 2040,
- "byteOffset" : 497948
- },
- {
- "buffer" : 0,
- "byteLength" : 5112,
- "byteOffset" : 499988
- },
- {
- "buffer" : 0,
- "byteLength" : 5112,
- "byteOffset" : 505100
- },
- {
- "buffer" : 0,
- "byteLength" : 3408,
- "byteOffset" : 510212
- },
- {
- "buffer" : 0,
- "byteLength" : 2040,
- "byteOffset" : 513620
- },
- {
- "buffer" : 0,
- "byteLength" : 420,
- "byteOffset" : 515660
- },
- {
- "buffer" : 0,
- "byteLength" : 420,
- "byteOffset" : 516080
- },
- {
- "buffer" : 0,
- "byteLength" : 280,
- "byteOffset" : 516500
- },
- {
- "buffer" : 0,
- "byteLength" : 96,
- "byteOffset" : 516780
- },
- {
- "buffer" : 0,
- "byteLength" : 27864,
- "byteOffset" : 516876
- },
- {
- "buffer" : 0,
- "byteLength" : 27864,
- "byteOffset" : 544740
- },
- {
- "buffer" : 0,
- "byteLength" : 18576,
- "byteOffset" : 572604
- },
- {
- "buffer" : 0,
- "byteLength" : 11160,
- "byteOffset" : 591180
- },
- {
- "buffer" : 0,
- "byteLength" : 27720,
- "byteOffset" : 602340
- },
- {
- "buffer" : 0,
- "byteLength" : 27720,
- "byteOffset" : 630060
- },
- {
- "buffer" : 0,
- "byteLength" : 18480,
- "byteOffset" : 657780
- },
- {
- "buffer" : 0,
- "byteLength" : 11160,
- "byteOffset" : 676260
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 687420
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 700944
- },
- {
- "buffer" : 0,
- "byteLength" : 9016,
- "byteOffset" : 714468
- },
- {
- "buffer" : 0,
- "byteLength" : 7320,
- "byteOffset" : 723484
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 730804
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 731284
- },
- {
- "buffer" : 0,
- "byteLength" : 320,
- "byteOffset" : 731764
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 732084
- },
- {
- "buffer" : 0,
- "byteLength" : 768,
- "byteOffset" : 732192
- },
- {
- "buffer" : 0,
- "byteLength" : 768,
- "byteOffset" : 732960
- },
- {
- "buffer" : 0,
- "byteLength" : 512,
- "byteOffset" : 733728
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 734240
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 734504
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 734984
- },
- {
- "buffer" : 0,
- "byteLength" : 320,
- "byteOffset" : 735464
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 735784
- },
- {
- "buffer" : 0,
- "byteLength" : 972,
- "byteOffset" : 735892
- },
- {
- "buffer" : 0,
- "byteLength" : 972,
- "byteOffset" : 736864
- },
- {
- "buffer" : 0,
- "byteLength" : 648,
- "byteOffset" : 737836
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 738484
- },
- {
- "buffer" : 0,
- "byteLength" : 2712,
- "byteOffset" : 738748
- },
- {
- "buffer" : 0,
- "byteLength" : 2712,
- "byteOffset" : 741460
- },
- {
- "buffer" : 0,
- "byteLength" : 1808,
- "byteOffset" : 744172
- },
- {
- "buffer" : 0,
- "byteLength" : 1092,
- "byteOffset" : 745980
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 747072
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 747516
- },
- {
- "buffer" : 0,
- "byteLength" : 296,
- "byteOffset" : 747960
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 748256
- },
- {
- "buffer" : 0,
- "byteLength" : 792,
- "byteOffset" : 748364
- },
- {
- "buffer" : 0,
- "byteLength" : 792,
- "byteOffset" : 749156
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 749948
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 750476
- },
- {
- "buffer" : 0,
- "byteLength" : 360,
- "byteOffset" : 750740
- },
- {
- "buffer" : 0,
- "byteLength" : 360,
- "byteOffset" : 751100
- },
- {
- "buffer" : 0,
- "byteLength" : 240,
- "byteOffset" : 751460
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 751700
- },
- {
- "buffer" : 0,
- "byteLength" : 1032,
- "byteOffset" : 751808
- },
- {
- "buffer" : 0,
- "byteLength" : 1032,
- "byteOffset" : 752840
- },
- {
- "buffer" : 0,
- "byteLength" : 688,
- "byteOffset" : 753872
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 754560
- },
- {
- "buffer" : 0,
- "byteLength" : 3504,
- "byteOffset" : 754824
- },
- {
- "buffer" : 0,
- "byteLength" : 3504,
- "byteOffset" : 758328
- },
- {
- "buffer" : 0,
- "byteLength" : 2336,
- "byteOffset" : 761832
- },
- {
- "buffer" : 0,
- "byteLength" : 1800,
- "byteOffset" : 764168
- },
- {
- "buffer" : 0,
- "byteLength" : 2508,
- "byteOffset" : 765968
- },
- {
- "buffer" : 0,
- "byteLength" : 2508,
- "byteOffset" : 768476
- },
- {
- "buffer" : 0,
- "byteLength" : 1672,
- "byteOffset" : 770984
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 772656
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 773652
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 787176
- },
- {
- "buffer" : 0,
- "byteLength" : 9016,
- "byteOffset" : 800700
- },
- {
- "buffer" : 0,
- "byteLength" : 7320,
- "byteOffset" : 809716
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 817036
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 817468
- },
- {
- "buffer" : 0,
- "byteLength" : 288,
- "byteOffset" : 817900
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 818188
- },
- {
- "buffer" : 0,
- "byteLength" : 912,
- "byteOffset" : 818296
- },
- {
- "buffer" : 0,
- "byteLength" : 912,
- "byteOffset" : 819208
- },
- {
- "buffer" : 0,
- "byteLength" : 608,
- "byteOffset" : 820120
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 820728
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 820992
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 821436
- },
- {
- "buffer" : 0,
- "byteLength" : 296,
- "byteOffset" : 821880
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 822176
- },
- {
- "buffer" : 0,
- "byteLength" : 2772,
- "byteOffset" : 822284
- },
- {
- "buffer" : 0,
- "byteLength" : 2772,
- "byteOffset" : 825056
- },
- {
- "buffer" : 0,
- "byteLength" : 1848,
- "byteOffset" : 827828
- },
- {
- "buffer" : 0,
- "byteLength" : 1092,
- "byteOffset" : 829676
- },
- {
- "buffer" : 0,
- "byteLength" : 1116,
- "byteOffset" : 830768
- },
- {
- "buffer" : 0,
- "byteLength" : 1116,
- "byteOffset" : 831884
- },
- {
- "buffer" : 0,
- "byteLength" : 744,
- "byteOffset" : 833000
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 833744
- },
- {
- "buffer" : 0,
- "byteLength" : 456,
- "byteOffset" : 834008
- },
- {
- "buffer" : 0,
- "byteLength" : 456,
- "byteOffset" : 834464
- },
- {
- "buffer" : 0,
- "byteLength" : 304,
- "byteOffset" : 834920
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 835224
- },
- {
- "buffer" : 0,
- "byteLength" : 756,
- "byteOffset" : 835332
- },
- {
- "buffer" : 0,
- "byteLength" : 756,
- "byteOffset" : 836088
- },
- {
- "buffer" : 0,
- "byteLength" : 504,
- "byteOffset" : 836844
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 837348
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 837612
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 838044
- },
- {
- "buffer" : 0,
- "byteLength" : 288,
- "byteOffset" : 838476
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 838764
- },
- {
- "buffer" : 0,
- "byteLength" : 1152,
- "byteOffset" : 838872
- },
- {
- "buffer" : 0,
- "byteLength" : 1152,
- "byteOffset" : 840024
- },
- {
- "buffer" : 0,
- "byteLength" : 768,
- "byteOffset" : 841176
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 841944
- },
- {
- "buffer" : 0,
- "byteLength" : 3216,
- "byteOffset" : 842208
- },
- {
- "buffer" : 0,
- "byteLength" : 3216,
- "byteOffset" : 845424
- },
- {
- "buffer" : 0,
- "byteLength" : 2144,
- "byteOffset" : 848640
- },
- {
- "buffer" : 0,
- "byteLength" : 1800,
- "byteOffset" : 850784
- },
- {
- "buffer" : 0,
- "byteLength" : 2568,
- "byteOffset" : 852584
- },
- {
- "buffer" : 0,
- "byteLength" : 2568,
- "byteOffset" : 855152
- },
- {
- "buffer" : 0,
- "byteLength" : 1712,
- "byteOffset" : 857720
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 859432
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 860428
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 873952
- },
- {
- "buffer" : 0,
- "byteLength" : 9016,
- "byteOffset" : 887476
- },
- {
- "buffer" : 0,
- "byteLength" : 7320,
- "byteOffset" : 896492
- },
- {
- "buffer" : 0,
- "byteLength" : 420,
- "byteOffset" : 903812
- },
- {
- "buffer" : 0,
- "byteLength" : 420,
- "byteOffset" : 904232
- },
- {
- "buffer" : 0,
- "byteLength" : 280,
- "byteOffset" : 904652
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 904932
- },
- {
- "buffer" : 0,
- "byteLength" : 900,
- "byteOffset" : 905040
- },
- {
- "buffer" : 0,
- "byteLength" : 900,
- "byteOffset" : 905940
- },
- {
- "buffer" : 0,
- "byteLength" : 600,
- "byteOffset" : 906840
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 907440
- },
- {
- "buffer" : 0,
- "byteLength" : 2928,
- "byteOffset" : 907704
- },
- {
- "buffer" : 0,
- "byteLength" : 2928,
- "byteOffset" : 910632
- },
- {
- "buffer" : 0,
- "byteLength" : 1952,
- "byteOffset" : 913560
- },
- {
- "buffer" : 0,
- "byteLength" : 1092,
- "byteOffset" : 915512
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 916604
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 917036
- },
- {
- "buffer" : 0,
- "byteLength" : 288,
- "byteOffset" : 917468
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 917756
- },
- {
- "buffer" : 0,
- "byteLength" : 1116,
- "byteOffset" : 917864
- },
- {
- "buffer" : 0,
- "byteLength" : 1116,
- "byteOffset" : 918980
- },
- {
- "buffer" : 0,
- "byteLength" : 744,
- "byteOffset" : 920096
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 920840
- },
- {
- "buffer" : 0,
- "byteLength" : 420,
- "byteOffset" : 921104
- },
- {
- "buffer" : 0,
- "byteLength" : 420,
- "byteOffset" : 921524
- },
- {
- "buffer" : 0,
- "byteLength" : 280,
- "byteOffset" : 921944
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 922224
- },
- {
- "buffer" : 0,
- "byteLength" : 828,
- "byteOffset" : 922332
- },
- {
- "buffer" : 0,
- "byteLength" : 828,
- "byteOffset" : 923160
- },
- {
- "buffer" : 0,
- "byteLength" : 552,
- "byteOffset" : 923988
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 924540
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 924804
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 925284
- },
- {
- "buffer" : 0,
- "byteLength" : 320,
- "byteOffset" : 925764
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 926084
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 926192
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 927188
- },
- {
- "buffer" : 0,
- "byteLength" : 664,
- "byteOffset" : 928184
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 928848
- },
- {
- "buffer" : 0,
- "byteLength" : 3228,
- "byteOffset" : 929112
- },
- {
- "buffer" : 0,
- "byteLength" : 3228,
- "byteOffset" : 932340
- },
- {
- "buffer" : 0,
- "byteLength" : 2152,
- "byteOffset" : 935568
- },
- {
- "buffer" : 0,
- "byteLength" : 1800,
- "byteOffset" : 937720
- },
- {
- "buffer" : 0,
- "byteLength" : 2520,
- "byteOffset" : 939520
- },
- {
- "buffer" : 0,
- "byteLength" : 2520,
- "byteOffset" : 942040
- },
- {
- "buffer" : 0,
- "byteLength" : 1680,
- "byteOffset" : 944560
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 946240
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 947236
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 960760
- },
- {
- "buffer" : 0,
- "byteLength" : 9016,
- "byteOffset" : 974284
- },
- {
- "buffer" : 0,
- "byteLength" : 7320,
- "byteOffset" : 983300
- },
- {
- "buffer" : 0,
- "byteLength" : 492,
- "byteOffset" : 990620
- },
- {
- "buffer" : 0,
- "byteLength" : 492,
- "byteOffset" : 991112
- },
- {
- "buffer" : 0,
- "byteLength" : 328,
- "byteOffset" : 991604
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 991932
- },
- {
- "buffer" : 0,
- "byteLength" : 2832,
- "byteOffset" : 992040
- },
- {
- "buffer" : 0,
- "byteLength" : 2832,
- "byteOffset" : 994872
- },
- {
- "buffer" : 0,
- "byteLength" : 1888,
- "byteOffset" : 997704
- },
- {
- "buffer" : 0,
- "byteLength" : 1092,
- "byteOffset" : 999592
- },
- {
- "buffer" : 0,
- "byteLength" : 948,
- "byteOffset" : 1000684
- },
- {
- "buffer" : 0,
- "byteLength" : 948,
- "byteOffset" : 1001632
- },
- {
- "buffer" : 0,
- "byteLength" : 632,
- "byteOffset" : 1002580
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1003212
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 1003476
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 1003908
- },
- {
- "buffer" : 0,
- "byteLength" : 288,
- "byteOffset" : 1004340
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1004628
- },
- {
- "buffer" : 0,
- "byteLength" : 1056,
- "byteOffset" : 1004736
- },
- {
- "buffer" : 0,
- "byteLength" : 1056,
- "byteOffset" : 1005792
- },
- {
- "buffer" : 0,
- "byteLength" : 704,
- "byteOffset" : 1006848
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1007552
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 1007816
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 1008344
- },
- {
- "buffer" : 0,
- "byteLength" : 352,
- "byteOffset" : 1008872
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1009224
- },
- {
- "buffer" : 0,
- "byteLength" : 804,
- "byteOffset" : 1009332
- },
- {
- "buffer" : 0,
- "byteLength" : 804,
- "byteOffset" : 1010136
- },
- {
- "buffer" : 0,
- "byteLength" : 536,
- "byteOffset" : 1010940
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1011476
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 1011740
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 1012172
- },
- {
- "buffer" : 0,
- "byteLength" : 288,
- "byteOffset" : 1012604
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1012892
- },
- {
- "buffer" : 0,
- "byteLength" : 1092,
- "byteOffset" : 1013000
- },
- {
- "buffer" : 0,
- "byteLength" : 1092,
- "byteOffset" : 1014092
- },
- {
- "buffer" : 0,
- "byteLength" : 728,
- "byteOffset" : 1015184
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1015912
- },
- {
- "buffer" : 0,
- "byteLength" : 3204,
- "byteOffset" : 1016176
- },
- {
- "buffer" : 0,
- "byteLength" : 3204,
- "byteOffset" : 1019380
- },
- {
- "buffer" : 0,
- "byteLength" : 2136,
- "byteOffset" : 1022584
- },
- {
- "buffer" : 0,
- "byteLength" : 1800,
- "byteOffset" : 1024720
- },
- {
- "buffer" : 0,
- "byteLength" : 2556,
- "byteOffset" : 1026520
- },
- {
- "buffer" : 0,
- "byteLength" : 2556,
- "byteOffset" : 1029076
- },
- {
- "buffer" : 0,
- "byteLength" : 1704,
- "byteOffset" : 1031632
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 1033336
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1034332
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1047856
- },
- {
- "buffer" : 0,
- "byteLength" : 9016,
- "byteOffset" : 1061380
- },
- {
- "buffer" : 0,
- "byteLength" : 7320,
- "byteOffset" : 1070396
- },
- {
- "buffer" : 0,
- "byteLength" : 56988,
- "byteOffset" : 1077716
- },
- {
- "buffer" : 0,
- "byteLength" : 56988,
- "byteOffset" : 1134704
- },
- {
- "buffer" : 0,
- "byteLength" : 37992,
- "byteOffset" : 1191692
- },
- {
- "buffer" : 0,
- "byteLength" : 17376,
- "byteOffset" : 1229684
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 1247060
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 1247504
- },
- {
- "buffer" : 0,
- "byteLength" : 296,
- "byteOffset" : 1247948
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1248244
- },
- {
- "buffer" : 0,
- "byteLength" : 960,
- "byteOffset" : 1248352
- },
- {
- "buffer" : 0,
- "byteLength" : 960,
- "byteOffset" : 1249312
- },
- {
- "buffer" : 0,
- "byteLength" : 640,
- "byteOffset" : 1250272
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1250912
- },
- {
- "buffer" : 0,
- "byteLength" : 468,
- "byteOffset" : 1251176
- },
- {
- "buffer" : 0,
- "byteLength" : 468,
- "byteOffset" : 1251644
- },
- {
- "buffer" : 0,
- "byteLength" : 312,
- "byteOffset" : 1252112
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1252424
- },
- {
- "buffer" : 0,
- "byteLength" : 972,
- "byteOffset" : 1252532
- },
- {
- "buffer" : 0,
- "byteLength" : 972,
- "byteOffset" : 1253504
- },
- {
- "buffer" : 0,
- "byteLength" : 648,
- "byteOffset" : 1254476
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1255124
- },
- {
- "buffer" : 0,
- "byteLength" : 456,
- "byteOffset" : 1255388
- },
- {
- "buffer" : 0,
- "byteLength" : 456,
- "byteOffset" : 1255844
- },
- {
- "buffer" : 0,
- "byteLength" : 304,
- "byteOffset" : 1256300
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1256604
- },
- {
- "buffer" : 0,
- "byteLength" : 864,
- "byteOffset" : 1256712
- },
- {
- "buffer" : 0,
- "byteLength" : 864,
- "byteOffset" : 1257576
- },
- {
- "buffer" : 0,
- "byteLength" : 576,
- "byteOffset" : 1258440
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1259016
- },
- {
- "buffer" : 0,
- "byteLength" : 420,
- "byteOffset" : 1259280
- },
- {
- "buffer" : 0,
- "byteLength" : 420,
- "byteOffset" : 1259700
- },
- {
- "buffer" : 0,
- "byteLength" : 280,
- "byteOffset" : 1260120
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1260400
- },
- {
- "buffer" : 0,
- "byteLength" : 1104,
- "byteOffset" : 1260508
- },
- {
- "buffer" : 0,
- "byteLength" : 1104,
- "byteOffset" : 1261612
- },
- {
- "buffer" : 0,
- "byteLength" : 736,
- "byteOffset" : 1262716
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1263452
- },
- {
- "buffer" : 0,
- "byteLength" : 3204,
- "byteOffset" : 1263716
- },
- {
- "buffer" : 0,
- "byteLength" : 3204,
- "byteOffset" : 1266920
- },
- {
- "buffer" : 0,
- "byteLength" : 2136,
- "byteOffset" : 1270124
- },
- {
- "buffer" : 0,
- "byteLength" : 1800,
- "byteOffset" : 1272260
- },
- {
- "buffer" : 0,
- "byteLength" : 2544,
- "byteOffset" : 1274060
- },
- {
- "buffer" : 0,
- "byteLength" : 2544,
- "byteOffset" : 1276604
- },
- {
- "buffer" : 0,
- "byteLength" : 1696,
- "byteOffset" : 1279148
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 1280844
- },
- {
- "buffer" : 0,
- "byteLength" : 300,
- "byteOffset" : 1281840
- },
- {
- "buffer" : 0,
- "byteLength" : 300,
- "byteOffset" : 1282140
- },
- {
- "buffer" : 0,
- "byteLength" : 200,
- "byteOffset" : 1282440
- },
- {
- "buffer" : 0,
- "byteLength" : 96,
- "byteOffset" : 1282640
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1282736
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1296260
- },
- {
- "buffer" : 0,
- "byteLength" : 9016,
- "byteOffset" : 1309784
- },
- {
- "buffer" : 0,
- "byteLength" : 7320,
- "byteOffset" : 1318800
- },
- {
- "buffer" : 0,
- "byteLength" : 456,
- "byteOffset" : 1326120
- },
- {
- "buffer" : 0,
- "byteLength" : 456,
- "byteOffset" : 1326576
- },
- {
- "buffer" : 0,
- "byteLength" : 304,
- "byteOffset" : 1327032
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1327336
- },
- {
- "buffer" : 0,
- "byteLength" : 960,
- "byteOffset" : 1327444
- },
- {
- "buffer" : 0,
- "byteLength" : 960,
- "byteOffset" : 1328404
- },
- {
- "buffer" : 0,
- "byteLength" : 640,
- "byteOffset" : 1329364
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1330004
- },
- {
- "buffer" : 0,
- "byteLength" : 504,
- "byteOffset" : 1330268
- },
- {
- "buffer" : 0,
- "byteLength" : 504,
- "byteOffset" : 1330772
- },
- {
- "buffer" : 0,
- "byteLength" : 336,
- "byteOffset" : 1331276
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1331612
- },
- {
- "buffer" : 0,
- "byteLength" : 1044,
- "byteOffset" : 1331720
- },
- {
- "buffer" : 0,
- "byteLength" : 1044,
- "byteOffset" : 1332764
- },
- {
- "buffer" : 0,
- "byteLength" : 696,
- "byteOffset" : 1333808
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1334504
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 1334768
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 1335248
- },
- {
- "buffer" : 0,
- "byteLength" : 320,
- "byteOffset" : 1335728
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1336048
- },
- {
- "buffer" : 0,
- "byteLength" : 732,
- "byteOffset" : 1336156
- },
- {
- "buffer" : 0,
- "byteLength" : 732,
- "byteOffset" : 1336888
- },
- {
- "buffer" : 0,
- "byteLength" : 488,
- "byteOffset" : 1337620
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1338108
- },
- {
- "buffer" : 0,
- "byteLength" : 456,
- "byteOffset" : 1338372
- },
- {
- "buffer" : 0,
- "byteLength" : 456,
- "byteOffset" : 1338828
- },
- {
- "buffer" : 0,
- "byteLength" : 304,
- "byteOffset" : 1339284
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1339588
- },
- {
- "buffer" : 0,
- "byteLength" : 1164,
- "byteOffset" : 1339696
- },
- {
- "buffer" : 0,
- "byteLength" : 1164,
- "byteOffset" : 1340860
- },
- {
- "buffer" : 0,
- "byteLength" : 776,
- "byteOffset" : 1342024
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1342800
- },
- {
- "buffer" : 0,
- "byteLength" : 3228,
- "byteOffset" : 1343064
- },
- {
- "buffer" : 0,
- "byteLength" : 3228,
- "byteOffset" : 1346292
- },
- {
- "buffer" : 0,
- "byteLength" : 2152,
- "byteOffset" : 1349520
- },
- {
- "buffer" : 0,
- "byteLength" : 1800,
- "byteOffset" : 1351672
- },
- {
- "buffer" : 0,
- "byteLength" : 22176,
- "byteOffset" : 1353472
- },
- {
- "buffer" : 0,
- "byteLength" : 22176,
- "byteOffset" : 1375648
- },
- {
- "buffer" : 0,
- "byteLength" : 14784,
- "byteOffset" : 1397824
- },
- {
- "buffer" : 0,
- "byteLength" : 13992,
- "byteOffset" : 1412608
- },
- {
- "buffer" : 0,
- "byteLength" : 2556,
- "byteOffset" : 1426600
- },
- {
- "buffer" : 0,
- "byteLength" : 2556,
- "byteOffset" : 1429156
- },
- {
- "buffer" : 0,
- "byteLength" : 1704,
- "byteOffset" : 1431712
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 1433416
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1434412
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1447936
- },
- {
- "buffer" : 0,
- "byteLength" : 9016,
- "byteOffset" : 1461460
- },
- {
- "buffer" : 0,
- "byteLength" : 7320,
- "byteOffset" : 1470476
- },
- {
- "buffer" : 0,
- "byteLength" : 456,
- "byteOffset" : 1477796
- },
- {
- "buffer" : 0,
- "byteLength" : 456,
- "byteOffset" : 1478252
- },
- {
- "buffer" : 0,
- "byteLength" : 304,
- "byteOffset" : 1478708
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1479012
- },
- {
- "buffer" : 0,
- "byteLength" : 816,
- "byteOffset" : 1479120
- },
- {
- "buffer" : 0,
- "byteLength" : 816,
- "byteOffset" : 1479936
- },
- {
- "buffer" : 0,
- "byteLength" : 544,
- "byteOffset" : 1480752
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1481296
- },
- {
- "buffer" : 0,
- "byteLength" : 468,
- "byteOffset" : 1481560
- },
- {
- "buffer" : 0,
- "byteLength" : 468,
- "byteOffset" : 1482028
- },
- {
- "buffer" : 0,
- "byteLength" : 312,
- "byteOffset" : 1482496
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1482808
- },
- {
- "buffer" : 0,
- "byteLength" : 1080,
- "byteOffset" : 1482916
- },
- {
- "buffer" : 0,
- "byteLength" : 1080,
- "byteOffset" : 1483996
- },
- {
- "buffer" : 0,
- "byteLength" : 720,
- "byteOffset" : 1485076
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1485796
- },
- {
- "buffer" : 0,
- "byteLength" : 504,
- "byteOffset" : 1486060
- },
- {
- "buffer" : 0,
- "byteLength" : 504,
- "byteOffset" : 1486564
- },
- {
- "buffer" : 0,
- "byteLength" : 336,
- "byteOffset" : 1487068
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1487404
- },
- {
- "buffer" : 0,
- "byteLength" : 840,
- "byteOffset" : 1487512
- },
- {
- "buffer" : 0,
- "byteLength" : 840,
- "byteOffset" : 1488352
- },
- {
- "buffer" : 0,
- "byteLength" : 560,
- "byteOffset" : 1489192
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1489752
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 1490016
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 1490460
- },
- {
- "buffer" : 0,
- "byteLength" : 296,
- "byteOffset" : 1490904
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1491200
- },
- {
- "buffer" : 0,
- "byteLength" : 1020,
- "byteOffset" : 1491308
- },
- {
- "buffer" : 0,
- "byteLength" : 1020,
- "byteOffset" : 1492328
- },
- {
- "buffer" : 0,
- "byteLength" : 680,
- "byteOffset" : 1493348
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1494028
- },
- {
- "buffer" : 0,
- "byteLength" : 10488,
- "byteOffset" : 1494292
- },
- {
- "buffer" : 0,
- "byteLength" : 10488,
- "byteOffset" : 1504780
- },
- {
- "buffer" : 0,
- "byteLength" : 6992,
- "byteOffset" : 1515268
- },
- {
- "buffer" : 0,
- "byteLength" : 3288,
- "byteOffset" : 1522260
- },
- {
- "buffer" : 0,
- "byteLength" : 3228,
- "byteOffset" : 1525548
- },
- {
- "buffer" : 0,
- "byteLength" : 3228,
- "byteOffset" : 1528776
- },
- {
- "buffer" : 0,
- "byteLength" : 2152,
- "byteOffset" : 1532004
- },
- {
- "buffer" : 0,
- "byteLength" : 1800,
- "byteOffset" : 1534156
- },
- {
- "buffer" : 0,
- "byteLength" : 2496,
- "byteOffset" : 1535956
- },
- {
- "buffer" : 0,
- "byteLength" : 2496,
- "byteOffset" : 1538452
- },
- {
- "buffer" : 0,
- "byteLength" : 1664,
- "byteOffset" : 1540948
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 1542612
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1543608
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1557132
- },
- {
- "buffer" : 0,
- "byteLength" : 9016,
- "byteOffset" : 1570656
- },
- {
- "buffer" : 0,
- "byteLength" : 7320,
- "byteOffset" : 1579672
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 1586992
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 1587436
- },
- {
- "buffer" : 0,
- "byteLength" : 296,
- "byteOffset" : 1587880
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1588176
- },
- {
- "buffer" : 0,
- "byteLength" : 864,
- "byteOffset" : 1588284
- },
- {
- "buffer" : 0,
- "byteLength" : 864,
- "byteOffset" : 1589148
- },
- {
- "buffer" : 0,
- "byteLength" : 576,
- "byteOffset" : 1590012
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1590588
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 1590852
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 1591284
- },
- {
- "buffer" : 0,
- "byteLength" : 288,
- "byteOffset" : 1591716
- },
- {
- "buffer" : 0,
- "byteLength" : 1008,
- "byteOffset" : 1592004
- },
- {
- "buffer" : 0,
- "byteLength" : 1008,
- "byteOffset" : 1593012
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 1594020
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1594692
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 1594956
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 1595400
- },
- {
- "buffer" : 0,
- "byteLength" : 296,
- "byteOffset" : 1595844
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1596140
- },
- {
- "buffer" : 0,
- "byteLength" : 864,
- "byteOffset" : 1596248
- },
- {
- "buffer" : 0,
- "byteLength" : 864,
- "byteOffset" : 1597112
- },
- {
- "buffer" : 0,
- "byteLength" : 576,
- "byteOffset" : 1597976
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1598552
- },
- {
- "buffer" : 0,
- "byteLength" : 420,
- "byteOffset" : 1598816
- },
- {
- "buffer" : 0,
- "byteLength" : 420,
- "byteOffset" : 1599236
- },
- {
- "buffer" : 0,
- "byteLength" : 280,
- "byteOffset" : 1599656
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1599936
- },
- {
- "buffer" : 0,
- "byteLength" : 10788,
- "byteOffset" : 1600044
- },
- {
- "buffer" : 0,
- "byteLength" : 10788,
- "byteOffset" : 1610832
- },
- {
- "buffer" : 0,
- "byteLength" : 7192,
- "byteOffset" : 1621620
- },
- {
- "buffer" : 0,
- "byteLength" : 3288,
- "byteOffset" : 1628812
- },
- {
- "buffer" : 0,
- "byteLength" : 984,
- "byteOffset" : 1632100
- },
- {
- "buffer" : 0,
- "byteLength" : 984,
- "byteOffset" : 1633084
- },
- {
- "buffer" : 0,
- "byteLength" : 656,
- "byteOffset" : 1634068
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1634724
- },
- {
- "buffer" : 0,
- "byteLength" : 3192,
- "byteOffset" : 1634988
- },
- {
- "buffer" : 0,
- "byteLength" : 3192,
- "byteOffset" : 1638180
- },
- {
- "buffer" : 0,
- "byteLength" : 2128,
- "byteOffset" : 1641372
- },
- {
- "buffer" : 0,
- "byteLength" : 1800,
- "byteOffset" : 1643500
- },
- {
- "buffer" : 0,
- "byteLength" : 2484,
- "byteOffset" : 1645300
- },
- {
- "buffer" : 0,
- "byteLength" : 2484,
- "byteOffset" : 1647784
- },
- {
- "buffer" : 0,
- "byteLength" : 1656,
- "byteOffset" : 1650268
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 1651924
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1652920
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1666444
- },
- {
- "buffer" : 0,
- "byteLength" : 9016,
- "byteOffset" : 1679968
- },
- {
- "buffer" : 0,
- "byteLength" : 7320,
- "byteOffset" : 1688984
- },
- {
- "buffer" : 0,
- "byteLength" : 468,
- "byteOffset" : 1696304
- },
- {
- "buffer" : 0,
- "byteLength" : 468,
- "byteOffset" : 1696772
- },
- {
- "buffer" : 0,
- "byteLength" : 312,
- "byteOffset" : 1697240
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1697552
- },
- {
- "buffer" : 0,
- "byteLength" : 840,
- "byteOffset" : 1697660
- },
- {
- "buffer" : 0,
- "byteLength" : 840,
- "byteOffset" : 1698500
- },
- {
- "buffer" : 0,
- "byteLength" : 560,
- "byteOffset" : 1699340
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1699900
- },
- {
- "buffer" : 0,
- "byteLength" : 420,
- "byteOffset" : 1700164
- },
- {
- "buffer" : 0,
- "byteLength" : 420,
- "byteOffset" : 1700584
- },
- {
- "buffer" : 0,
- "byteLength" : 280,
- "byteOffset" : 1701004
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1701284
- },
- {
- "buffer" : 0,
- "byteLength" : 1128,
- "byteOffset" : 1701392
- },
- {
- "buffer" : 0,
- "byteLength" : 1128,
- "byteOffset" : 1702520
- },
- {
- "buffer" : 0,
- "byteLength" : 752,
- "byteOffset" : 1703648
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1704400
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 1704664
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 1705192
- },
- {
- "buffer" : 0,
- "byteLength" : 352,
- "byteOffset" : 1705720
- },
- {
- "buffer" : 0,
- "byteLength" : 828,
- "byteOffset" : 1706072
- },
- {
- "buffer" : 0,
- "byteLength" : 828,
- "byteOffset" : 1706900
- },
- {
- "buffer" : 0,
- "byteLength" : 552,
- "byteOffset" : 1707728
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1708280
- },
- {
- "buffer" : 0,
- "byteLength" : 8352,
- "byteOffset" : 1708544
- },
- {
- "buffer" : 0,
- "byteLength" : 8352,
- "byteOffset" : 1716896
- },
- {
- "buffer" : 0,
- "byteLength" : 5568,
- "byteOffset" : 1725248
- },
- {
- "buffer" : 0,
- "byteLength" : 2376,
- "byteOffset" : 1730816
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 1733192
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 1733624
- },
- {
- "buffer" : 0,
- "byteLength" : 288,
- "byteOffset" : 1734056
- },
- {
- "buffer" : 0,
- "byteLength" : 1020,
- "byteOffset" : 1734344
- },
- {
- "buffer" : 0,
- "byteLength" : 1020,
- "byteOffset" : 1735364
- },
- {
- "buffer" : 0,
- "byteLength" : 680,
- "byteOffset" : 1736384
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1737064
- },
- {
- "buffer" : 0,
- "byteLength" : 3204,
- "byteOffset" : 1737328
- },
- {
- "buffer" : 0,
- "byteLength" : 3204,
- "byteOffset" : 1740532
- },
- {
- "buffer" : 0,
- "byteLength" : 2136,
- "byteOffset" : 1743736
- },
- {
- "buffer" : 0,
- "byteLength" : 1800,
- "byteOffset" : 1745872
- },
- {
- "buffer" : 0,
- "byteLength" : 2520,
- "byteOffset" : 1747672
- },
- {
- "buffer" : 0,
- "byteLength" : 2520,
- "byteOffset" : 1750192
- },
- {
- "buffer" : 0,
- "byteLength" : 1680,
- "byteOffset" : 1752712
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 1754392
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1755388
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1768912
- },
- {
- "buffer" : 0,
- "byteLength" : 9016,
- "byteOffset" : 1782436
- },
- {
- "buffer" : 0,
- "byteLength" : 7320,
- "byteOffset" : 1791452
- },
- {
- "buffer" : 0,
- "byteLength" : 420,
- "byteOffset" : 1798772
- },
- {
- "buffer" : 0,
- "byteLength" : 420,
- "byteOffset" : 1799192
- },
- {
- "buffer" : 0,
- "byteLength" : 280,
- "byteOffset" : 1799612
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1799892
- },
- {
- "buffer" : 0,
- "byteLength" : 876,
- "byteOffset" : 1800000
- },
- {
- "buffer" : 0,
- "byteLength" : 876,
- "byteOffset" : 1800876
- },
- {
- "buffer" : 0,
- "byteLength" : 584,
- "byteOffset" : 1801752
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1802336
- },
- {
- "buffer" : 0,
- "byteLength" : 408,
- "byteOffset" : 1802600
- },
- {
- "buffer" : 0,
- "byteLength" : 408,
- "byteOffset" : 1803008
- },
- {
- "buffer" : 0,
- "byteLength" : 272,
- "byteOffset" : 1803416
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1803688
- },
- {
- "buffer" : 0,
- "byteLength" : 1020,
- "byteOffset" : 1803796
- },
- {
- "buffer" : 0,
- "byteLength" : 1020,
- "byteOffset" : 1804816
- },
- {
- "buffer" : 0,
- "byteLength" : 680,
- "byteOffset" : 1805836
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1806516
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 1806780
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 1807260
- },
- {
- "buffer" : 0,
- "byteLength" : 320,
- "byteOffset" : 1807740
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1808060
- },
- {
- "buffer" : 0,
- "byteLength" : 5940,
- "byteOffset" : 1808168
- },
- {
- "buffer" : 0,
- "byteLength" : 5940,
- "byteOffset" : 1814108
- },
- {
- "buffer" : 0,
- "byteLength" : 3960,
- "byteOffset" : 1820048
- },
- {
- "buffer" : 0,
- "byteLength" : 1572,
- "byteOffset" : 1824008
- },
- {
- "buffer" : 0,
- "byteLength" : 888,
- "byteOffset" : 1825580
- },
- {
- "buffer" : 0,
- "byteLength" : 888,
- "byteOffset" : 1826468
- },
- {
- "buffer" : 0,
- "byteLength" : 592,
- "byteOffset" : 1827356
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1827948
- },
- {
- "buffer" : 0,
- "byteLength" : 396,
- "byteOffset" : 1828212
- },
- {
- "buffer" : 0,
- "byteLength" : 396,
- "byteOffset" : 1828608
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1829004
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1829268
- },
- {
- "buffer" : 0,
- "byteLength" : 1080,
- "byteOffset" : 1829376
- },
- {
- "buffer" : 0,
- "byteLength" : 1080,
- "byteOffset" : 1830456
- },
- {
- "buffer" : 0,
- "byteLength" : 720,
- "byteOffset" : 1831536
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1832256
- },
- {
- "buffer" : 0,
- "byteLength" : 3204,
- "byteOffset" : 1832520
- },
- {
- "buffer" : 0,
- "byteLength" : 3204,
- "byteOffset" : 1835724
- },
- {
- "buffer" : 0,
- "byteLength" : 2136,
- "byteOffset" : 1838928
- },
- {
- "buffer" : 0,
- "byteLength" : 1800,
- "byteOffset" : 1841064
- },
- {
- "buffer" : 0,
- "byteLength" : 2388,
- "byteOffset" : 1842864
- },
- {
- "buffer" : 0,
- "byteLength" : 2388,
- "byteOffset" : 1845252
- },
- {
- "buffer" : 0,
- "byteLength" : 1592,
- "byteOffset" : 1847640
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 1849232
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1850228
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1863752
- },
- {
- "buffer" : 0,
- "byteLength" : 9016,
- "byteOffset" : 1877276
- },
- {
- "buffer" : 0,
- "byteLength" : 7320,
- "byteOffset" : 1886292
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 1893612
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 1894092
- },
- {
- "buffer" : 0,
- "byteLength" : 320,
- "byteOffset" : 1894572
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1894892
- },
- {
- "buffer" : 0,
- "byteLength" : 840,
- "byteOffset" : 1895000
- },
- {
- "buffer" : 0,
- "byteLength" : 840,
- "byteOffset" : 1895840
- },
- {
- "buffer" : 0,
- "byteLength" : 560,
- "byteOffset" : 1896680
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1897240
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 1897504
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 1897936
- },
- {
- "buffer" : 0,
- "byteLength" : 288,
- "byteOffset" : 1898368
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1898656
- },
- {
- "buffer" : 0,
- "byteLength" : 1104,
- "byteOffset" : 1898764
- },
- {
- "buffer" : 0,
- "byteLength" : 1104,
- "byteOffset" : 1899868
- },
- {
- "buffer" : 0,
- "byteLength" : 736,
- "byteOffset" : 1900972
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1901708
- },
- {
- "buffer" : 0,
- "byteLength" : 5976,
- "byteOffset" : 1901972
- },
- {
- "buffer" : 0,
- "byteLength" : 5976,
- "byteOffset" : 1907948
- },
- {
- "buffer" : 0,
- "byteLength" : 3984,
- "byteOffset" : 1913924
- },
- {
- "buffer" : 0,
- "byteLength" : 1572,
- "byteOffset" : 1917908
- },
- {
- "buffer" : 0,
- "byteLength" : 456,
- "byteOffset" : 1919480
- },
- {
- "buffer" : 0,
- "byteLength" : 456,
- "byteOffset" : 1919936
- },
- {
- "buffer" : 0,
- "byteLength" : 304,
- "byteOffset" : 1920392
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1920696
- },
- {
- "buffer" : 0,
- "byteLength" : 816,
- "byteOffset" : 1920804
- },
- {
- "buffer" : 0,
- "byteLength" : 816,
- "byteOffset" : 1921620
- },
- {
- "buffer" : 0,
- "byteLength" : 544,
- "byteOffset" : 1922436
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1922980
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 1923244
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 1923676
- },
- {
- "buffer" : 0,
- "byteLength" : 288,
- "byteOffset" : 1924108
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1924396
- },
- {
- "buffer" : 0,
- "byteLength" : 1056,
- "byteOffset" : 1924504
- },
- {
- "buffer" : 0,
- "byteLength" : 1056,
- "byteOffset" : 1925560
- },
- {
- "buffer" : 0,
- "byteLength" : 704,
- "byteOffset" : 1926616
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1927320
- },
- {
- "buffer" : 0,
- "byteLength" : 3216,
- "byteOffset" : 1927584
- },
- {
- "buffer" : 0,
- "byteLength" : 3216,
- "byteOffset" : 1930800
- },
- {
- "buffer" : 0,
- "byteLength" : 2144,
- "byteOffset" : 1934016
- },
- {
- "buffer" : 0,
- "byteLength" : 1800,
- "byteOffset" : 1936160
- },
- {
- "buffer" : 0,
- "byteLength" : 2472,
- "byteOffset" : 1937960
- },
- {
- "buffer" : 0,
- "byteLength" : 2472,
- "byteOffset" : 1940432
- },
- {
- "buffer" : 0,
- "byteLength" : 1648,
- "byteOffset" : 1942904
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 1944552
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1945548
- },
- {
- "buffer" : 0,
- "byteLength" : 13524,
- "byteOffset" : 1959072
- },
- {
- "buffer" : 0,
- "byteLength" : 9016,
- "byteOffset" : 1972596
- },
- {
- "buffer" : 0,
- "byteLength" : 7320,
- "byteOffset" : 1981612
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 1988932
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 1989412
- },
- {
- "buffer" : 0,
- "byteLength" : 320,
- "byteOffset" : 1989892
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1990212
- },
- {
- "buffer" : 0,
- "byteLength" : 840,
- "byteOffset" : 1990320
- },
- {
- "buffer" : 0,
- "byteLength" : 840,
- "byteOffset" : 1991160
- },
- {
- "buffer" : 0,
- "byteLength" : 560,
- "byteOffset" : 1992000
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 1992560
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 1992824
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 1993268
- },
- {
- "buffer" : 0,
- "byteLength" : 296,
- "byteOffset" : 1993712
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 1994008
- },
- {
- "buffer" : 0,
- "byteLength" : 5976,
- "byteOffset" : 1994116
- },
- {
- "buffer" : 0,
- "byteLength" : 5976,
- "byteOffset" : 2000092
- },
- {
- "buffer" : 0,
- "byteLength" : 3984,
- "byteOffset" : 2006068
- },
- {
- "buffer" : 0,
- "byteLength" : 1572,
- "byteOffset" : 2010052
- },
- {
- "buffer" : 0,
- "byteLength" : 1008,
- "byteOffset" : 2011624
- },
- {
- "buffer" : 0,
- "byteLength" : 1008,
- "byteOffset" : 2012632
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 2013640
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 2014312
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 2014576
- },
- {
- "buffer" : 0,
- "byteLength" : 480,
- "byteOffset" : 2015056
- },
- {
- "buffer" : 0,
- "byteLength" : 320,
- "byteOffset" : 2015536
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 2015856
- },
- {
- "buffer" : 0,
- "byteLength" : 792,
- "byteOffset" : 2015964
- },
- {
- "buffer" : 0,
- "byteLength" : 792,
- "byteOffset" : 2016756
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 2017548
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 2018076
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 2018340
- },
- {
- "buffer" : 0,
- "byteLength" : 432,
- "byteOffset" : 2018772
- },
- {
- "buffer" : 0,
- "byteLength" : 288,
- "byteOffset" : 2019204
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 2019492
- },
- {
- "buffer" : 0,
- "byteLength" : 1080,
- "byteOffset" : 2019600
- },
- {
- "buffer" : 0,
- "byteLength" : 1080,
- "byteOffset" : 2020680
- },
- {
- "buffer" : 0,
- "byteLength" : 720,
- "byteOffset" : 2021760
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 2022480
- },
- {
- "buffer" : 0,
- "byteLength" : 3504,
- "byteOffset" : 2022744
- },
- {
- "buffer" : 0,
- "byteLength" : 3504,
- "byteOffset" : 2026248
- },
- {
- "buffer" : 0,
- "byteLength" : 2336,
- "byteOffset" : 2029752
- },
- {
- "buffer" : 0,
- "byteLength" : 1800,
- "byteOffset" : 2032088
- },
- {
- "buffer" : 0,
- "byteLength" : 2496,
- "byteOffset" : 2033888
- },
- {
- "buffer" : 0,
- "byteLength" : 2496,
- "byteOffset" : 2036384
- },
- {
- "buffer" : 0,
- "byteLength" : 1664,
- "byteOffset" : 2038880
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 2040544
- },
- {
- "buffer" : 0,
- "byteLength" : 456,
- "byteOffset" : 2041540
- },
- {
- "buffer" : 0,
- "byteLength" : 456,
- "byteOffset" : 2041996
- },
- {
- "buffer" : 0,
- "byteLength" : 304,
- "byteOffset" : 2042452
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 2042756
- },
- {
- "buffer" : 0,
- "byteLength" : 1776,
- "byteOffset" : 2042864
- },
- {
- "buffer" : 0,
- "byteLength" : 1776,
- "byteOffset" : 2044640
- },
- {
- "buffer" : 0,
- "byteLength" : 1184,
- "byteOffset" : 2046416
- },
- {
- "buffer" : 0,
- "byteLength" : 384,
- "byteOffset" : 2047600
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2047984
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2050180
- },
- {
- "buffer" : 0,
- "byteLength" : 1464,
- "byteOffset" : 2052376
- },
- {
- "buffer" : 0,
- "byteLength" : 1356,
- "byteOffset" : 2053840
- },
- {
- "buffer" : 0,
- "byteLength" : 6048,
- "byteOffset" : 2055196
- },
- {
- "buffer" : 0,
- "byteLength" : 6048,
- "byteOffset" : 2061244
- },
- {
- "buffer" : 0,
- "byteLength" : 4032,
- "byteOffset" : 2067292
- },
- {
- "buffer" : 0,
- "byteLength" : 1572,
- "byteOffset" : 2071324
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2072896
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2076700
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 2080504
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 2083040
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2085776
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2089580
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 2093384
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 2095920
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2098656
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2100852
- },
- {
- "buffer" : 0,
- "byteLength" : 1464,
- "byteOffset" : 2103048
- },
- {
- "buffer" : 0,
- "byteLength" : 1356,
- "byteOffset" : 2104512
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2105868
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2109672
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 2113476
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 2116012
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2118748
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2120944
- },
- {
- "buffer" : 0,
- "byteLength" : 1464,
- "byteOffset" : 2123140
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2124604
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2128408
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 2132212
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 2134748
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2137484
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2139680
- },
- {
- "buffer" : 0,
- "byteLength" : 1464,
- "byteOffset" : 2141876
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2143340
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2145536
- },
- {
- "buffer" : 0,
- "byteLength" : 1464,
- "byteOffset" : 2147732
- },
- {
- "buffer" : 0,
- "byteLength" : 1356,
- "byteOffset" : 2149196
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2150552
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2154356
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 2158160
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 2160696
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2163432
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2167236
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 2171040
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 2173576
- },
- {
- "buffer" : 0,
- "byteLength" : 8520,
- "byteOffset" : 2176312
- },
- {
- "buffer" : 0,
- "byteLength" : 8520,
- "byteOffset" : 2184832
- },
- {
- "buffer" : 0,
- "byteLength" : 5680,
- "byteOffset" : 2193352
- },
- {
- "buffer" : 0,
- "byteLength" : 2376,
- "byteOffset" : 2199032
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2201408
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2203604
- },
- {
- "buffer" : 0,
- "byteLength" : 1464,
- "byteOffset" : 2205800
- },
- {
- "buffer" : 0,
- "byteLength" : 1356,
- "byteOffset" : 2207264
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2208620
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2212424
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 2216228
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 2218764
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2221500
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2223696
- },
- {
- "buffer" : 0,
- "byteLength" : 1464,
- "byteOffset" : 2225892
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2227356
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 2231160
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 2234964
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 2237500
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2240236
- },
- {
- "buffer" : 0,
- "byteLength" : 2196,
- "byteOffset" : 2242432
- },
- {
- "buffer" : 0,
- "byteLength" : 1464,
- "byteOffset" : 2244628
- },
- {
- "buffer" : 0,
- "byteLength" : 57348,
- "byteOffset" : 2246092
- },
- {
- "buffer" : 0,
- "byteLength" : 57348,
- "byteOffset" : 2303440
- },
- {
- "buffer" : 0,
- "byteLength" : 38232,
- "byteOffset" : 2360788
- },
- {
- "buffer" : 0,
- "byteLength" : 35580,
- "byteOffset" : 2399020
- },
- {
- "buffer" : 0,
- "byteLength" : 42984,
- "byteOffset" : 2434600
- },
- {
- "buffer" : 0,
- "byteLength" : 42984,
- "byteOffset" : 2477584
- },
- {
- "buffer" : 0,
- "byteLength" : 28656,
- "byteOffset" : 2520568
- },
- {
- "buffer" : 0,
- "byteLength" : 28932,
- "byteOffset" : 2549224
- },
- {
- "buffer" : 0,
- "byteLength" : 18972,
- "byteOffset" : 2578156
- },
- {
- "buffer" : 0,
- "byteLength" : 18972,
- "byteOffset" : 2597128
- },
- {
- "buffer" : 0,
- "byteLength" : 12648,
- "byteOffset" : 2616100
- },
- {
- "buffer" : 0,
- "byteLength" : 13224,
- "byteOffset" : 2628748
- },
- {
- "buffer" : 0,
- "byteLength" : 39252,
- "byteOffset" : 2641972
- },
- {
- "buffer" : 0,
- "byteLength" : 39252,
- "byteOffset" : 2681224
- },
- {
- "buffer" : 0,
- "byteLength" : 26168,
- "byteOffset" : 2720476
- },
- {
- "buffer" : 0,
- "byteLength" : 22812,
- "byteOffset" : 2746644
- },
- {
- "buffer" : 0,
- "byteLength" : 27804,
- "byteOffset" : 2769456
- },
- {
- "buffer" : 0,
- "byteLength" : 27804,
- "byteOffset" : 2797260
- },
- {
- "buffer" : 0,
- "byteLength" : 18536,
- "byteOffset" : 2825064
- },
- {
- "buffer" : 0,
- "byteLength" : 19848,
- "byteOffset" : 2843600
- },
- {
- "buffer" : 0,
- "byteLength" : 8364,
- "byteOffset" : 2863448
- },
- {
- "buffer" : 0,
- "byteLength" : 8364,
- "byteOffset" : 2871812
- },
- {
- "buffer" : 0,
- "byteLength" : 5576,
- "byteOffset" : 2880176
- },
- {
- "buffer" : 0,
- "byteLength" : 2376,
- "byteOffset" : 2885752
- },
- {
- "buffer" : 0,
- "byteLength" : 37584,
- "byteOffset" : 2888128
- },
- {
- "buffer" : 0,
- "byteLength" : 37584,
- "byteOffset" : 2925712
- },
- {
- "buffer" : 0,
- "byteLength" : 25056,
- "byteOffset" : 2963296
- },
- {
- "buffer" : 0,
- "byteLength" : 26532,
- "byteOffset" : 2988352
- },
- {
- "buffer" : 0,
- "byteLength" : 27804,
- "byteOffset" : 3014884
- },
- {
- "buffer" : 0,
- "byteLength" : 27804,
- "byteOffset" : 3042688
- },
- {
- "buffer" : 0,
- "byteLength" : 18536,
- "byteOffset" : 3070492
- },
- {
- "buffer" : 0,
- "byteLength" : 19848,
- "byteOffset" : 3089028
- },
- {
- "buffer" : 0,
- "byteLength" : 47388,
- "byteOffset" : 3108876
- },
- {
- "buffer" : 0,
- "byteLength" : 47388,
- "byteOffset" : 3156264
- },
- {
- "buffer" : 0,
- "byteLength" : 31592,
- "byteOffset" : 3203652
- },
- {
- "buffer" : 0,
- "byteLength" : 33024,
- "byteOffset" : 3235244
- },
- {
- "buffer" : 0,
- "byteLength" : 47148,
- "byteOffset" : 3268268
- },
- {
- "buffer" : 0,
- "byteLength" : 47148,
- "byteOffset" : 3315416
- },
- {
- "buffer" : 0,
- "byteLength" : 31432,
- "byteOffset" : 3362564
- },
- {
- "buffer" : 0,
- "byteLength" : 33024,
- "byteOffset" : 3393996
- },
- {
- "buffer" : 0,
- "byteLength" : 47328,
- "byteOffset" : 3427020
- },
- {
- "buffer" : 0,
- "byteLength" : 47328,
- "byteOffset" : 3474348
- },
- {
- "buffer" : 0,
- "byteLength" : 31552,
- "byteOffset" : 3521676
- },
- {
- "buffer" : 0,
- "byteLength" : 33024,
- "byteOffset" : 3553228
- },
- {
- "buffer" : 0,
- "byteLength" : 47328,
- "byteOffset" : 3586252
- },
- {
- "buffer" : 0,
- "byteLength" : 47328,
- "byteOffset" : 3633580
- },
- {
- "buffer" : 0,
- "byteLength" : 31552,
- "byteOffset" : 3680908
- },
- {
- "buffer" : 0,
- "byteLength" : 33024,
- "byteOffset" : 3712460
- },
- {
- "buffer" : 0,
- "byteLength" : 47376,
- "byteOffset" : 3745484
- },
- {
- "buffer" : 0,
- "byteLength" : 47376,
- "byteOffset" : 3792860
- },
- {
- "buffer" : 0,
- "byteLength" : 31584,
- "byteOffset" : 3840236
- },
- {
- "buffer" : 0,
- "byteLength" : 33024,
- "byteOffset" : 3871820
- },
- {
- "buffer" : 0,
- "byteLength" : 47352,
- "byteOffset" : 3904844
- },
- {
- "buffer" : 0,
- "byteLength" : 47352,
- "byteOffset" : 3952196
- },
- {
- "buffer" : 0,
- "byteLength" : 31568,
- "byteOffset" : 3999548
- },
- {
- "buffer" : 0,
- "byteLength" : 33024,
- "byteOffset" : 4031116
- },
- {
- "buffer" : 0,
- "byteLength" : 47316,
- "byteOffset" : 4064140
- },
- {
- "buffer" : 0,
- "byteLength" : 47316,
- "byteOffset" : 4111456
- },
- {
- "buffer" : 0,
- "byteLength" : 31544,
- "byteOffset" : 4158772
- },
- {
- "buffer" : 0,
- "byteLength" : 33024,
- "byteOffset" : 4190316
- },
- {
- "buffer" : 0,
- "byteLength" : 47556,
- "byteOffset" : 4223340
- },
- {
- "buffer" : 0,
- "byteLength" : 47556,
- "byteOffset" : 4270896
- },
- {
- "buffer" : 0,
- "byteLength" : 31704,
- "byteOffset" : 4318452
- },
- {
- "buffer" : 0,
- "byteLength" : 33024,
- "byteOffset" : 4350156
- },
- {
- "buffer" : 0,
- "byteLength" : 5988,
- "byteOffset" : 4383180
- },
- {
- "buffer" : 0,
- "byteLength" : 5988,
- "byteOffset" : 4389168
- },
- {
- "buffer" : 0,
- "byteLength" : 3992,
- "byteOffset" : 4395156
- },
- {
- "buffer" : 0,
- "byteLength" : 1572,
- "byteOffset" : 4399148
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4400720
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4404524
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4408328
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 4410864
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4413600
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4415964
- },
- {
- "buffer" : 0,
- "byteLength" : 1576,
- "byteOffset" : 4418328
- },
- {
- "buffer" : 0,
- "byteLength" : 1152,
- "byteOffset" : 4419904
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4421056
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4424860
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4428664
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 4431200
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4433936
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4437740
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4441544
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 4444080
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4446816
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4449180
- },
- {
- "buffer" : 0,
- "byteLength" : 1576,
- "byteOffset" : 4451544
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4453120
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4456924
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4460728
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 4463264
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4466000
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4469804
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4473608
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 4476144
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4478880
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4481244
- },
- {
- "buffer" : 0,
- "byteLength" : 1576,
- "byteOffset" : 4483608
- },
- {
- "buffer" : 0,
- "byteLength" : 1152,
- "byteOffset" : 4485184
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4486336
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4490140
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4493944
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4496480
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4500284
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4504088
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 4506624
- },
- {
- "buffer" : 0,
- "byteLength" : 6036,
- "byteOffset" : 4509360
- },
- {
- "buffer" : 0,
- "byteLength" : 6036,
- "byteOffset" : 4515396
- },
- {
- "buffer" : 0,
- "byteLength" : 4024,
- "byteOffset" : 4521432
- },
- {
- "buffer" : 0,
- "byteLength" : 1572,
- "byteOffset" : 4525456
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4527028
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4529392
- },
- {
- "buffer" : 0,
- "byteLength" : 1576,
- "byteOffset" : 4531756
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4533332
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4537136
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4540940
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4543476
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4547280
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4551084
- },
- {
- "buffer" : 0,
- "byteLength" : 2736,
- "byteOffset" : 4553620
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4556356
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4558720
- },
- {
- "buffer" : 0,
- "byteLength" : 1576,
- "byteOffset" : 4561084
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4562660
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4566464
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4570268
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4572804
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4576608
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4580412
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4582948
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4585312
- },
- {
- "buffer" : 0,
- "byteLength" : 1576,
- "byteOffset" : 4587676
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4589252
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4593056
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4596860
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4599396
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4603200
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4607004
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4609540
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4611904
- },
- {
- "buffer" : 0,
- "byteLength" : 1576,
- "byteOffset" : 4614268
- },
- {
- "buffer" : 0,
- "byteLength" : 5856,
- "byteOffset" : 4615844
- },
- {
- "buffer" : 0,
- "byteLength" : 5856,
- "byteOffset" : 4621700
- },
- {
- "buffer" : 0,
- "byteLength" : 3904,
- "byteOffset" : 4627556
- },
- {
- "buffer" : 0,
- "byteLength" : 1572,
- "byteOffset" : 4631460
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4633032
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4636836
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4640640
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4643176
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4646980
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4650784
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4653320
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4655684
- },
- {
- "buffer" : 0,
- "byteLength" : 1576,
- "byteOffset" : 4658048
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4659624
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4663428
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4667232
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4669768
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4673572
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4677376
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4679912
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4682276
- },
- {
- "buffer" : 0,
- "byteLength" : 1576,
- "byteOffset" : 4684640
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4686216
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4690020
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4693824
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4696360
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4700164
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4703968
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4706504
- },
- {
- "buffer" : 0,
- "byteLength" : 2364,
- "byteOffset" : 4708868
- },
- {
- "buffer" : 0,
- "byteLength" : 1576,
- "byteOffset" : 4711232
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4712808
- },
- {
- "buffer" : 0,
- "byteLength" : 3804,
- "byteOffset" : 4716612
- },
- {
- "buffer" : 0,
- "byteLength" : 2536,
- "byteOffset" : 4720416
- },
- {
- "buffer" : 0,
- "byteLength" : 5940,
- "byteOffset" : 4722952
- },
- {
- "buffer" : 0,
- "byteLength" : 5940,
- "byteOffset" : 4728892
- },
- {
- "buffer" : 0,
- "byteLength" : 3960,
- "byteOffset" : 4734832
- },
- {
- "buffer" : 0,
- "byteLength" : 1572,
- "byteOffset" : 4738792
- },
- {
- "buffer" : 0,
- "byteLength" : 29472,
- "byteOffset" : 4740364
- },
- {
- "buffer" : 0,
- "byteLength" : 29472,
- "byteOffset" : 4769836
- },
- {
- "buffer" : 0,
- "byteLength" : 19648,
- "byteOffset" : 4799308
- },
- {
- "buffer" : 0,
- "byteLength" : 29184,
- "byteOffset" : 4818956
- },
- {
- "buffer" : 0,
- "byteLength" : 30144,
- "byteOffset" : 4848140
- },
- {
- "buffer" : 0,
- "byteLength" : 30144,
- "byteOffset" : 4878284
- },
- {
- "buffer" : 0,
- "byteLength" : 20096,
- "byteOffset" : 4908428
- },
- {
- "buffer" : 0,
- "byteLength" : 27648,
- "byteOffset" : 4928524
- },
- {
- "buffer" : 0,
- "byteLength" : 29472,
- "byteOffset" : 4956172
- },
- {
- "buffer" : 0,
- "byteLength" : 29472,
- "byteOffset" : 4985644
- },
- {
- "buffer" : 0,
- "byteLength" : 19648,
- "byteOffset" : 5015116
- },
- {
- "buffer" : 0,
- "byteLength" : 29184,
- "byteOffset" : 5034764
- },
- {
- "buffer" : 0,
- "byteLength" : 29472,
- "byteOffset" : 5063948
- },
- {
- "buffer" : 0,
- "byteLength" : 29472,
- "byteOffset" : 5093420
- },
- {
- "buffer" : 0,
- "byteLength" : 19648,
- "byteOffset" : 5122892
- },
- {
- "buffer" : 0,
- "byteLength" : 29184,
- "byteOffset" : 5142540
- },
- {
- "buffer" : 0,
- "byteLength" : 30144,
- "byteOffset" : 5171724
- },
- {
- "buffer" : 0,
- "byteLength" : 30144,
- "byteOffset" : 5201868
- },
- {
- "buffer" : 0,
- "byteLength" : 20096,
- "byteOffset" : 5232012
- },
- {
- "buffer" : 0,
- "byteLength" : 29472,
- "byteOffset" : 5252108
- },
- {
- "buffer" : 0,
- "byteLength" : 29472,
- "byteOffset" : 5281580
- },
- {
- "buffer" : 0,
- "byteLength" : 19648,
- "byteOffset" : 5311052
- },
- {
- "buffer" : 0,
- "byteLength" : 29184,
- "byteOffset" : 5330700
- },
- {
- "buffer" : 0,
- "byteLength" : 30144,
- "byteOffset" : 5359884
- },
- {
- "buffer" : 0,
- "byteLength" : 30144,
- "byteOffset" : 5390028
- },
- {
- "buffer" : 0,
- "byteLength" : 20096,
- "byteOffset" : 5420172
- },
- {
- "buffer" : 0,
- "byteLength" : 29472,
- "byteOffset" : 5440268
- },
- {
- "buffer" : 0,
- "byteLength" : 29472,
- "byteOffset" : 5469740
- },
- {
- "buffer" : 0,
- "byteLength" : 19648,
- "byteOffset" : 5499212
- },
- {
- "buffer" : 0,
- "byteLength" : 30144,
- "byteOffset" : 5518860
- },
- {
- "buffer" : 0,
- "byteLength" : 30144,
- "byteOffset" : 5549004
- },
- {
- "buffer" : 0,
- "byteLength" : 20096,
- "byteOffset" : 5579148
- },
- {
- "buffer" : 0,
- "byteLength" : 29472,
- "byteOffset" : 5599244
- },
- {
- "buffer" : 0,
- "byteLength" : 29472,
- "byteOffset" : 5628716
- },
- {
- "buffer" : 0,
- "byteLength" : 19648,
- "byteOffset" : 5658188
- },
- {
- "buffer" : 0,
- "byteLength" : 29184,
- "byteOffset" : 5677836
- },
- {
- "buffer" : 0,
- "byteLength" : 8436,
- "byteOffset" : 5707020
- },
- {
- "buffer" : 0,
- "byteLength" : 8436,
- "byteOffset" : 5715456
- },
- {
- "buffer" : 0,
- "byteLength" : 5624,
- "byteOffset" : 5723892
- },
- {
- "buffer" : 0,
- "byteLength" : 2376,
- "byteOffset" : 5729516
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5731892
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5731940
- },
- {
- "buffer" : 0,
- "byteLength" : 32,
- "byteOffset" : 5731988
- },
- {
- "buffer" : 0,
- "byteLength" : 12,
- "byteOffset" : 5732020
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5732032
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5732080
- },
- {
- "buffer" : 0,
- "byteLength" : 32,
- "byteOffset" : 5732128
- },
- {
- "buffer" : 0,
- "byteLength" : 12,
- "byteOffset" : 5732160
- },
- {
- "buffer" : 0,
- "byteLength" : 72,
- "byteOffset" : 5732172
- },
- {
- "buffer" : 0,
- "byteLength" : 72,
- "byteOffset" : 5732244
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5732316
- },
- {
- "buffer" : 0,
- "byteLength" : 12,
- "byteOffset" : 5732364
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5732376
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5732424
- },
- {
- "buffer" : 0,
- "byteLength" : 32,
- "byteOffset" : 5732472
- },
- {
- "buffer" : 0,
- "byteLength" : 10800,
- "byteOffset" : 5732504
- },
- {
- "buffer" : 0,
- "byteLength" : 10800,
- "byteOffset" : 5743304
- },
- {
- "buffer" : 0,
- "byteLength" : 7200,
- "byteOffset" : 5754104
- },
- {
- "buffer" : 0,
- "byteLength" : 9846,
- "byteOffset" : 5761304
- },
- {
- "buffer" : 0,
- "byteLength" : 3912,
- "byteOffset" : 5771152
- },
- {
- "buffer" : 0,
- "byteLength" : 3912,
- "byteOffset" : 5775064
- },
- {
- "buffer" : 0,
- "byteLength" : 2608,
- "byteOffset" : 5778976
- },
- {
- "buffer" : 0,
- "byteLength" : 3348,
- "byteOffset" : 5781584
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 5784932
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 5792468
- },
- {
- "buffer" : 0,
- "byteLength" : 5024,
- "byteOffset" : 5800004
- },
- {
- "buffer" : 0,
- "byteLength" : 7464,
- "byteOffset" : 5805028
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 5812492
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 5820028
- },
- {
- "buffer" : 0,
- "byteLength" : 5024,
- "byteOffset" : 5827564
- },
- {
- "buffer" : 0,
- "byteLength" : 7464,
- "byteOffset" : 5832588
- },
- {
- "buffer" : 0,
- "byteLength" : 1716,
- "byteOffset" : 5840052
- },
- {
- "buffer" : 0,
- "byteLength" : 1716,
- "byteOffset" : 5841768
- },
- {
- "buffer" : 0,
- "byteLength" : 1144,
- "byteOffset" : 5843484
- },
- {
- "buffer" : 0,
- "byteLength" : 1620,
- "byteOffset" : 5844628
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5846248
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5846296
- },
- {
- "buffer" : 0,
- "byteLength" : 32,
- "byteOffset" : 5846344
- },
- {
- "buffer" : 0,
- "byteLength" : 4908,
- "byteOffset" : 5846376
- },
- {
- "buffer" : 0,
- "byteLength" : 4908,
- "byteOffset" : 5851284
- },
- {
- "buffer" : 0,
- "byteLength" : 3272,
- "byteOffset" : 5856192
- },
- {
- "buffer" : 0,
- "byteLength" : 1224,
- "byteOffset" : 5859464
- },
- {
- "buffer" : 0,
- "byteLength" : 72,
- "byteOffset" : 5860688
- },
- {
- "buffer" : 0,
- "byteLength" : 72,
- "byteOffset" : 5860760
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5860832
- },
- {
- "buffer" : 0,
- "byteLength" : 12,
- "byteOffset" : 5860880
- },
- {
- "buffer" : 0,
- "byteLength" : 72,
- "byteOffset" : 5860892
- },
- {
- "buffer" : 0,
- "byteLength" : 72,
- "byteOffset" : 5860964
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5861036
- },
- {
- "buffer" : 0,
- "byteLength" : 12,
- "byteOffset" : 5861084
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5861096
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5861144
- },
- {
- "buffer" : 0,
- "byteLength" : 32,
- "byteOffset" : 5861192
- },
- {
- "buffer" : 0,
- "byteLength" : 10800,
- "byteOffset" : 5861224
- },
- {
- "buffer" : 0,
- "byteLength" : 10800,
- "byteOffset" : 5872024
- },
- {
- "buffer" : 0,
- "byteLength" : 7200,
- "byteOffset" : 5882824
- },
- {
- "buffer" : 0,
- "byteLength" : 3912,
- "byteOffset" : 5890024
- },
- {
- "buffer" : 0,
- "byteLength" : 3912,
- "byteOffset" : 5893936
- },
- {
- "buffer" : 0,
- "byteLength" : 2608,
- "byteOffset" : 5897848
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 5900456
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 5907992
- },
- {
- "buffer" : 0,
- "byteLength" : 5024,
- "byteOffset" : 5915528
- },
- {
- "buffer" : 0,
- "byteLength" : 7464,
- "byteOffset" : 5920552
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 5928016
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 5935552
- },
- {
- "buffer" : 0,
- "byteLength" : 5024,
- "byteOffset" : 5943088
- },
- {
- "buffer" : 0,
- "byteLength" : 7464,
- "byteOffset" : 5948112
- },
- {
- "buffer" : 0,
- "byteLength" : 1716,
- "byteOffset" : 5955576
- },
- {
- "buffer" : 0,
- "byteLength" : 1716,
- "byteOffset" : 5957292
- },
- {
- "buffer" : 0,
- "byteLength" : 1144,
- "byteOffset" : 5959008
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5960152
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5960200
- },
- {
- "buffer" : 0,
- "byteLength" : 32,
- "byteOffset" : 5960248
- },
- {
- "buffer" : 0,
- "byteLength" : 12,
- "byteOffset" : 5960280
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5960292
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5960340
- },
- {
- "buffer" : 0,
- "byteLength" : 32,
- "byteOffset" : 5960388
- },
- {
- "buffer" : 0,
- "byteLength" : 12,
- "byteOffset" : 5960420
- },
- {
- "buffer" : 0,
- "byteLength" : 4884,
- "byteOffset" : 5960432
- },
- {
- "buffer" : 0,
- "byteLength" : 4884,
- "byteOffset" : 5965316
- },
- {
- "buffer" : 0,
- "byteLength" : 3256,
- "byteOffset" : 5970200
- },
- {
- "buffer" : 0,
- "byteLength" : 1224,
- "byteOffset" : 5973456
- },
- {
- "buffer" : 0,
- "byteLength" : 72,
- "byteOffset" : 5974680
- },
- {
- "buffer" : 0,
- "byteLength" : 72,
- "byteOffset" : 5974752
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5974824
- },
- {
- "buffer" : 0,
- "byteLength" : 12,
- "byteOffset" : 5974872
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5974884
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 5974932
- },
- {
- "buffer" : 0,
- "byteLength" : 32,
- "byteOffset" : 5974980
- },
- {
- "buffer" : 0,
- "byteLength" : 10800,
- "byteOffset" : 5975012
- },
- {
- "buffer" : 0,
- "byteLength" : 10800,
- "byteOffset" : 5985812
- },
- {
- "buffer" : 0,
- "byteLength" : 7200,
- "byteOffset" : 5996612
- },
- {
- "buffer" : 0,
- "byteLength" : 9846,
- "byteOffset" : 6003812
- },
- {
- "buffer" : 0,
- "byteLength" : 3900,
- "byteOffset" : 6013660
- },
- {
- "buffer" : 0,
- "byteLength" : 3900,
- "byteOffset" : 6017560
- },
- {
- "buffer" : 0,
- "byteLength" : 2600,
- "byteOffset" : 6021460
- },
- {
- "buffer" : 0,
- "byteLength" : 3348,
- "byteOffset" : 6024060
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 6027408
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 6034944
- },
- {
- "buffer" : 0,
- "byteLength" : 5024,
- "byteOffset" : 6042480
- },
- {
- "buffer" : 0,
- "byteLength" : 7464,
- "byteOffset" : 6047504
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 6054968
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 6062504
- },
- {
- "buffer" : 0,
- "byteLength" : 5024,
- "byteOffset" : 6070040
- },
- {
- "buffer" : 0,
- "byteLength" : 7464,
- "byteOffset" : 6075064
- },
- {
- "buffer" : 0,
- "byteLength" : 1716,
- "byteOffset" : 6082528
- },
- {
- "buffer" : 0,
- "byteLength" : 1716,
- "byteOffset" : 6084244
- },
- {
- "buffer" : 0,
- "byteLength" : 1144,
- "byteOffset" : 6085960
- },
- {
- "buffer" : 0,
- "byteLength" : 1620,
- "byteOffset" : 6087104
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 6088724
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 6088772
- },
- {
- "buffer" : 0,
- "byteLength" : 32,
- "byteOffset" : 6088820
- },
- {
- "buffer" : 0,
- "byteLength" : 72,
- "byteOffset" : 6088852
- },
- {
- "buffer" : 0,
- "byteLength" : 72,
- "byteOffset" : 6088924
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 6088996
- },
- {
- "buffer" : 0,
- "byteLength" : 12,
- "byteOffset" : 6089044
- },
- {
- "buffer" : 0,
- "byteLength" : 72,
- "byteOffset" : 6089056
- },
- {
- "buffer" : 0,
- "byteLength" : 72,
- "byteOffset" : 6089128
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 6089200
- },
- {
- "buffer" : 0,
- "byteLength" : 3732,
- "byteOffset" : 6089248
- },
- {
- "buffer" : 0,
- "byteLength" : 3732,
- "byteOffset" : 6092980
- },
- {
- "buffer" : 0,
- "byteLength" : 2488,
- "byteOffset" : 6096712
- },
- {
- "buffer" : 0,
- "byteLength" : 888,
- "byteOffset" : 6099200
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 6100088
- },
- {
- "buffer" : 0,
- "byteLength" : 48,
- "byteOffset" : 6100136
- },
- {
- "buffer" : 0,
- "byteLength" : 32,
- "byteOffset" : 6100184
- },
- {
- "buffer" : 0,
- "byteLength" : 10800,
- "byteOffset" : 6100216
- },
- {
- "buffer" : 0,
- "byteLength" : 10800,
- "byteOffset" : 6111016
- },
- {
- "buffer" : 0,
- "byteLength" : 7200,
- "byteOffset" : 6121816
- },
- {
- "buffer" : 0,
- "byteLength" : 3900,
- "byteOffset" : 6129016
- },
- {
- "buffer" : 0,
- "byteLength" : 3900,
- "byteOffset" : 6132916
- },
- {
- "buffer" : 0,
- "byteLength" : 2600,
- "byteOffset" : 6136816
- },
- {
- "buffer" : 0,
- "byteLength" : 3348,
- "byteOffset" : 6139416
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 6142764
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 6150300
- },
- {
- "buffer" : 0,
- "byteLength" : 5024,
- "byteOffset" : 6157836
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 6162860
- },
- {
- "buffer" : 0,
- "byteLength" : 7536,
- "byteOffset" : 6170396
- },
- {
- "buffer" : 0,
- "byteLength" : 5024,
- "byteOffset" : 6177932
- },
- {
- "buffer" : 0,
- "byteLength" : 1716,
- "byteOffset" : 6182956
- },
- {
- "buffer" : 0,
- "byteLength" : 1716,
- "byteOffset" : 6184672
- },
- {
- "buffer" : 0,
- "byteLength" : 1144,
- "byteOffset" : 6186388
- },
- {
- "buffer" : 0,
- "byteLength" : 6432,
- "byteOffset" : 6187532
- },
- {
- "buffer" : 0,
- "byteLength" : 6432,
- "byteOffset" : 6193964
- },
- {
- "buffer" : 0,
- "byteLength" : 4288,
- "byteOffset" : 6200396
- },
- {
- "buffer" : 0,
- "byteLength" : 2808,
- "byteOffset" : 6204684
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 6207492
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 6222252
- },
- {
- "buffer" : 0,
- "byteLength" : 9840,
- "byteOffset" : 6237012
- },
- {
- "buffer" : 0,
- "byteLength" : 13266,
- "byteOffset" : 6246852
- },
- {
- "buffer" : 0,
- "byteLength" : 6432,
- "byteOffset" : 6260120
- },
- {
- "buffer" : 0,
- "byteLength" : 6432,
- "byteOffset" : 6266552
- },
- {
- "buffer" : 0,
- "byteLength" : 4288,
- "byteOffset" : 6272984
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 6277272
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 6292032
- },
- {
- "buffer" : 0,
- "byteLength" : 9840,
- "byteOffset" : 6306792
- },
- {
- "buffer" : 0,
- "byteLength" : 6432,
- "byteOffset" : 6316632
- },
- {
- "buffer" : 0,
- "byteLength" : 6432,
- "byteOffset" : 6323064
- },
- {
- "buffer" : 0,
- "byteLength" : 4288,
- "byteOffset" : 6329496
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 6333784
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 6348544
- },
- {
- "buffer" : 0,
- "byteLength" : 9840,
- "byteOffset" : 6363304
- },
- {
- "buffer" : 0,
- "byteLength" : 5436,
- "byteOffset" : 6373144
- },
- {
- "buffer" : 0,
- "byteLength" : 5436,
- "byteOffset" : 6378580
- },
- {
- "buffer" : 0,
- "byteLength" : 3624,
- "byteOffset" : 6384016
- },
- {
- "buffer" : 0,
- "byteLength" : 2400,
- "byteOffset" : 6387640
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 6390040
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 6404800
- },
- {
- "buffer" : 0,
- "byteLength" : 9840,
- "byteOffset" : 6419560
- },
- {
- "buffer" : 0,
- "byteLength" : 13266,
- "byteOffset" : 6429400
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 6442668
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 6444060
- },
- {
- "buffer" : 0,
- "byteLength" : 928,
- "byteOffset" : 6445452
- },
- {
- "buffer" : 0,
- "byteLength" : 960,
- "byteOffset" : 6446380
- },
- {
- "buffer" : 0,
- "byteLength" : 5436,
- "byteOffset" : 6447340
- },
- {
- "buffer" : 0,
- "byteLength" : 5436,
- "byteOffset" : 6452776
- },
- {
- "buffer" : 0,
- "byteLength" : 3624,
- "byteOffset" : 6458212
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 6461836
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 6476596
- },
- {
- "buffer" : 0,
- "byteLength" : 9840,
- "byteOffset" : 6491356
- },
- {
- "buffer" : 0,
- "byteLength" : 13266,
- "byteOffset" : 6501196
- },
- {
- "buffer" : 0,
- "byteLength" : 5436,
- "byteOffset" : 6514464
- },
- {
- "buffer" : 0,
- "byteLength" : 5436,
- "byteOffset" : 6519900
- },
- {
- "buffer" : 0,
- "byteLength" : 3624,
- "byteOffset" : 6525336
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 6528960
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 6543720
- },
- {
- "buffer" : 0,
- "byteLength" : 9840,
- "byteOffset" : 6558480
- },
- {
- "buffer" : 0,
- "byteLength" : 5436,
- "byteOffset" : 6568320
- },
- {
- "buffer" : 0,
- "byteLength" : 5436,
- "byteOffset" : 6573756
- },
- {
- "buffer" : 0,
- "byteLength" : 3624,
- "byteOffset" : 6579192
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 6582816
- },
- {
- "buffer" : 0,
- "byteLength" : 14760,
- "byteOffset" : 6597576
- },
- {
- "buffer" : 0,
- "byteLength" : 9840,
- "byteOffset" : 6612336
- },
- {
- "buffer" : 0,
- "byteLength" : 16236,
- "byteOffset" : 6622176
- },
- {
- "buffer" : 0,
- "byteLength" : 16236,
- "byteOffset" : 6638412
- },
- {
- "buffer" : 0,
- "byteLength" : 10824,
- "byteOffset" : 6654648
- },
- {
- "buffer" : 0,
- "byteLength" : 13776,
- "byteOffset" : 6665472
- },
- {
- "buffer" : 0,
- "byteLength" : 16236,
- "byteOffset" : 6679248
- },
- {
- "buffer" : 0,
- "byteLength" : 16236,
- "byteOffset" : 6695484
- },
- {
- "buffer" : 0,
- "byteLength" : 10824,
- "byteOffset" : 6711720
- },
- {
- "buffer" : 0,
- "byteLength" : 13776,
- "byteOffset" : 6722544
- },
- {
- "buffer" : 0,
- "byteLength" : 16248,
- "byteOffset" : 6736320
- },
- {
- "buffer" : 0,
- "byteLength" : 16248,
- "byteOffset" : 6752568
- },
- {
- "buffer" : 0,
- "byteLength" : 10832,
- "byteOffset" : 6768816
- },
- {
- "buffer" : 0,
- "byteLength" : 13776,
- "byteOffset" : 6779648
- },
- {
- "buffer" : 0,
- "byteLength" : 16212,
- "byteOffset" : 6793424
- },
- {
- "buffer" : 0,
- "byteLength" : 16212,
- "byteOffset" : 6809636
- },
- {
- "buffer" : 0,
- "byteLength" : 10808,
- "byteOffset" : 6825848
- },
- {
- "buffer" : 0,
- "byteLength" : 13776,
- "byteOffset" : 6836656
- },
- {
- "buffer" : 0,
- "byteLength" : 8964,
- "byteOffset" : 6850432
- },
- {
- "buffer" : 0,
- "byteLength" : 8964,
- "byteOffset" : 6859396
- },
- {
- "buffer" : 0,
- "byteLength" : 5976,
- "byteOffset" : 6868360
- },
- {
- "buffer" : 0,
- "byteLength" : 8172,
- "byteOffset" : 6874336
- },
- {
- "buffer" : 0,
- "byteLength" : 10404,
- "byteOffset" : 6882508
- },
- {
- "buffer" : 0,
- "byteLength" : 10404,
- "byteOffset" : 6892912
- },
- {
- "buffer" : 0,
- "byteLength" : 6936,
- "byteOffset" : 6903316
- },
- {
- "buffer" : 0,
- "byteLength" : 9126,
- "byteOffset" : 6910252
- },
- {
- "buffer" : 0,
- "byteLength" : 8964,
- "byteOffset" : 6919380
- },
- {
- "buffer" : 0,
- "byteLength" : 8964,
- "byteOffset" : 6928344
- },
- {
- "buffer" : 0,
- "byteLength" : 5976,
- "byteOffset" : 6937308
- },
- {
- "buffer" : 0,
- "byteLength" : 8172,
- "byteOffset" : 6943284
- },
- {
- "buffer" : 0,
- "byteLength" : 10404,
- "byteOffset" : 6951456
- },
- {
- "buffer" : 0,
- "byteLength" : 10404,
- "byteOffset" : 6961860
- },
- {
- "buffer" : 0,
- "byteLength" : 6936,
- "byteOffset" : 6972264
- },
- {
- "buffer" : 0,
- "byteLength" : 9126,
- "byteOffset" : 6979200
- },
- {
- "buffer" : 0,
- "byteLength" : 600,
- "byteOffset" : 6988328
- },
- {
- "buffer" : 0,
- "byteLength" : 600,
- "byteOffset" : 6988928
- },
- {
- "buffer" : 0,
- "byteLength" : 400,
- "byteOffset" : 6989528
- },
- {
- "buffer" : 0,
- "byteLength" : 168,
- "byteOffset" : 6989928
- },
- {
- "buffer" : 0,
- "byteLength" : 2388,
- "byteOffset" : 6990096
- },
- {
- "buffer" : 0,
- "byteLength" : 2388,
- "byteOffset" : 6992484
- },
- {
- "buffer" : 0,
- "byteLength" : 1592,
- "byteOffset" : 6994872
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 6996464
- },
- {
- "buffer" : 0,
- "byteLength" : 4560,
- "byteOffset" : 6997136
- },
- {
- "buffer" : 0,
- "byteLength" : 4560,
- "byteOffset" : 7001696
- },
- {
- "buffer" : 0,
- "byteLength" : 3040,
- "byteOffset" : 7006256
- },
- {
- "buffer" : 0,
- "byteLength" : 2976,
- "byteOffset" : 7009296
- },
- {
- "buffer" : 0,
- "byteLength" : 126552,
- "byteOffset" : 7012272
- },
- {
- "buffer" : 0,
- "byteLength" : 126552,
- "byteOffset" : 7138824
- },
- {
- "buffer" : 0,
- "byteLength" : 84368,
- "byteOffset" : 7265376
- },
- {
- "buffer" : 0,
- "byteLength" : 83928,
- "byteOffset" : 7349744
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 7433672
- },
- {
- "buffer" : 0,
- "byteLength" : 264,
- "byteOffset" : 7433936
- },
- {
- "buffer" : 0,
- "byteLength" : 176,
- "byteOffset" : 7434200
- },
- {
- "buffer" : 0,
- "byteLength" : 60,
- "byteOffset" : 7434376
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7434436
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7435828
- },
- {
- "buffer" : 0,
- "byteLength" : 928,
- "byteOffset" : 7437220
- },
- {
- "buffer" : 0,
- "byteLength" : 960,
- "byteOffset" : 7438148
- },
- {
- "buffer" : 0,
- "byteLength" : 2592,
- "byteOffset" : 7439108
- },
- {
- "buffer" : 0,
- "byteLength" : 2592,
- "byteOffset" : 7441700
- },
- {
- "buffer" : 0,
- "byteLength" : 1728,
- "byteOffset" : 7444292
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 7446020
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7446692
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7448084
- },
- {
- "buffer" : 0,
- "byteLength" : 928,
- "byteOffset" : 7449476
- },
- {
- "buffer" : 0,
- "byteLength" : 960,
- "byteOffset" : 7450404
- },
- {
- "buffer" : 0,
- "byteLength" : 2520,
- "byteOffset" : 7451364
- },
- {
- "buffer" : 0,
- "byteLength" : 2520,
- "byteOffset" : 7453884
- },
- {
- "buffer" : 0,
- "byteLength" : 1680,
- "byteOffset" : 7456404
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 7458084
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7458756
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7460148
- },
- {
- "buffer" : 0,
- "byteLength" : 928,
- "byteOffset" : 7461540
- },
- {
- "buffer" : 0,
- "byteLength" : 2304,
- "byteOffset" : 7462468
- },
- {
- "buffer" : 0,
- "byteLength" : 2304,
- "byteOffset" : 7464772
- },
- {
- "buffer" : 0,
- "byteLength" : 1536,
- "byteOffset" : 7467076
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 7468612
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7469284
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7470676
- },
- {
- "buffer" : 0,
- "byteLength" : 928,
- "byteOffset" : 7472068
- },
- {
- "buffer" : 0,
- "byteLength" : 960,
- "byteOffset" : 7472996
- },
- {
- "buffer" : 0,
- "byteLength" : 2100,
- "byteOffset" : 7473956
- },
- {
- "buffer" : 0,
- "byteLength" : 2100,
- "byteOffset" : 7476056
- },
- {
- "buffer" : 0,
- "byteLength" : 1400,
- "byteOffset" : 7478156
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 7479556
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7480228
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7481620
- },
- {
- "buffer" : 0,
- "byteLength" : 928,
- "byteOffset" : 7483012
- },
- {
- "buffer" : 0,
- "byteLength" : 960,
- "byteOffset" : 7483940
- },
- {
- "buffer" : 0,
- "byteLength" : 2388,
- "byteOffset" : 7484900
- },
- {
- "buffer" : 0,
- "byteLength" : 2388,
- "byteOffset" : 7487288
- },
- {
- "buffer" : 0,
- "byteLength" : 1592,
- "byteOffset" : 7489676
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 7491268
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7491940
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7493332
- },
- {
- "buffer" : 0,
- "byteLength" : 928,
- "byteOffset" : 7494724
- },
- {
- "buffer" : 0,
- "byteLength" : 2436,
- "byteOffset" : 7495652
- },
- {
- "buffer" : 0,
- "byteLength" : 2436,
- "byteOffset" : 7498088
- },
- {
- "buffer" : 0,
- "byteLength" : 1624,
- "byteOffset" : 7500524
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 7502148
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7502820
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7504212
- },
- {
- "buffer" : 0,
- "byteLength" : 928,
- "byteOffset" : 7505604
- },
- {
- "buffer" : 0,
- "byteLength" : 2340,
- "byteOffset" : 7506532
- },
- {
- "buffer" : 0,
- "byteLength" : 2340,
- "byteOffset" : 7508872
- },
- {
- "buffer" : 0,
- "byteLength" : 1560,
- "byteOffset" : 7511212
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 7512772
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7513444
- },
- {
- "buffer" : 0,
- "byteLength" : 1392,
- "byteOffset" : 7514836
- },
- {
- "buffer" : 0,
- "byteLength" : 928,
- "byteOffset" : 7516228
- },
- {
- "buffer" : 0,
- "byteLength" : 2388,
- "byteOffset" : 7517156
- },
- {
- "buffer" : 0,
- "byteLength" : 2388,
- "byteOffset" : 7519544
- },
- {
- "buffer" : 0,
- "byteLength" : 1592,
- "byteOffset" : 7521932
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 7523524
- },
- {
- "buffer" : 0,
- "byteLength" : 1104,
- "byteOffset" : 7524196
- },
- {
- "buffer" : 0,
- "byteLength" : 1104,
- "byteOffset" : 7525300
- },
- {
- "buffer" : 0,
- "byteLength" : 736,
- "byteOffset" : 7526404
- },
- {
- "buffer" : 0,
- "byteLength" : 240,
- "byteOffset" : 7527140
- },
- {
- "buffer" : 0,
- "byteLength" : 1032,
- "byteOffset" : 7527380
- },
- {
- "buffer" : 0,
- "byteLength" : 1032,
- "byteOffset" : 7528412
- },
- {
- "buffer" : 0,
- "byteLength" : 688,
- "byteOffset" : 7529444
- },
- {
- "buffer" : 0,
- "byteLength" : 240,
- "byteOffset" : 7530132
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 7530372
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 7531368
- },
- {
- "buffer" : 0,
- "byteLength" : 664,
- "byteOffset" : 7532364
- },
- {
- "buffer" : 0,
- "byteLength" : 240,
- "byteOffset" : 7533028
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 7533268
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 7534264
- },
- {
- "buffer" : 0,
- "byteLength" : 664,
- "byteOffset" : 7535260
- },
- {
- "buffer" : 0,
- "byteLength" : 240,
- "byteOffset" : 7535924
- },
- {
- "buffer" : 0,
- "byteLength" : 1008,
- "byteOffset" : 7536164
- },
- {
- "buffer" : 0,
- "byteLength" : 1008,
- "byteOffset" : 7537172
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 7538180
- },
- {
- "buffer" : 0,
- "byteLength" : 240,
- "byteOffset" : 7538852
- },
- {
- "buffer" : 0,
- "byteLength" : 948,
- "byteOffset" : 7539092
- },
- {
- "buffer" : 0,
- "byteLength" : 948,
- "byteOffset" : 7540040
- },
- {
- "buffer" : 0,
- "byteLength" : 632,
- "byteOffset" : 7540988
- },
- {
- "buffer" : 0,
- "byteLength" : 240,
- "byteOffset" : 7541620
- },
- {
- "buffer" : 0,
- "byteLength" : 1032,
- "byteOffset" : 7541860
- },
- {
- "buffer" : 0,
- "byteLength" : 1032,
- "byteOffset" : 7542892
- },
- {
- "buffer" : 0,
- "byteLength" : 688,
- "byteOffset" : 7543924
- },
- {
- "buffer" : 0,
- "byteLength" : 240,
- "byteOffset" : 7544612
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 7544852
- },
- {
- "buffer" : 0,
- "byteLength" : 996,
- "byteOffset" : 7545848
- },
- {
- "buffer" : 0,
- "byteLength" : 664,
- "byteOffset" : 7546844
- },
- {
- "buffer" : 0,
- "byteLength" : 240,
- "byteOffset" : 7547508
- },
- {
- "buffer" : 0,
- "byteLength" : 1008,
- "byteOffset" : 7547748
- },
- {
- "buffer" : 0,
- "byteLength" : 1008,
- "byteOffset" : 7548756
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 7549764
- },
- {
- "buffer" : 0,
- "byteLength" : 240,
- "byteOffset" : 7550436
- },
- {
- "buffer" : 0,
- "byteLength" : 1032,
- "byteOffset" : 7550676
- },
- {
- "buffer" : 0,
- "byteLength" : 1032,
- "byteOffset" : 7551708
- },
- {
- "buffer" : 0,
- "byteLength" : 688,
- "byteOffset" : 7552740
- },
- {
- "buffer" : 0,
- "byteLength" : 240,
- "byteOffset" : 7553428
- },
- {
- "buffer" : 0,
- "byteLength" : 1008,
- "byteOffset" : 7553668
- },
- {
- "buffer" : 0,
- "byteLength" : 1008,
- "byteOffset" : 7554676
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 7555684
- },
- {
- "buffer" : 0,
- "byteLength" : 240,
- "byteOffset" : 7556356
- },
- {
- "buffer" : 0,
- "byteLength" : 840,
- "byteOffset" : 7556596
- },
- {
- "buffer" : 0,
- "byteLength" : 840,
- "byteOffset" : 7557436
- },
- {
- "buffer" : 0,
- "byteLength" : 560,
- "byteOffset" : 7558276
- },
- {
- "buffer" : 0,
- "byteLength" : 192,
- "byteOffset" : 7558836
- },
- {
- "buffer" : 0,
- "byteLength" : 7008,
- "byteOffset" : 7559028
- },
- {
- "buffer" : 0,
- "byteLength" : 7008,
- "byteOffset" : 7566036
- },
- {
- "buffer" : 0,
- "byteLength" : 4672,
- "byteOffset" : 7573044
- },
- {
- "buffer" : 0,
- "byteLength" : 1680,
- "byteOffset" : 7577716
- },
- {
- "buffer" : 0,
- "byteLength" : 360,
- "byteOffset" : 7579396
- },
- {
- "buffer" : 0,
- "byteLength" : 360,
- "byteOffset" : 7579756
- },
- {
- "buffer" : 0,
- "byteLength" : 240,
- "byteOffset" : 7580116
- },
- {
- "buffer" : 0,
- "byteLength" : 108,
- "byteOffset" : 7580356
- },
- {
- "buffer" : 0,
- "byteLength" : 948,
- "byteOffset" : 7580464
- },
- {
- "buffer" : 0,
- "byteLength" : 948,
- "byteOffset" : 7581412
- },
- {
- "buffer" : 0,
- "byteLength" : 632,
- "byteOffset" : 7582360
- },
- {
- "buffer" : 0,
- "byteLength" : 216,
- "byteOffset" : 7582992
- },
- {
- "buffer" : 0,
- "byteLength" : 3828,
- "byteOffset" : 7583208
- },
- {
- "buffer" : 0,
- "byteLength" : 3828,
- "byteOffset" : 7587036
- },
- {
- "buffer" : 0,
- "byteLength" : 2552,
- "byteOffset" : 7590864
- },
- {
- "buffer" : 0,
- "byteLength" : 960,
- "byteOffset" : 7593416
- },
- {
- "buffer" : 0,
- "byteLength" : 600,
- "byteOffset" : 7594376
- },
- {
- "buffer" : 0,
- "byteLength" : 600,
- "byteOffset" : 7594976
- },
- {
- "buffer" : 0,
- "byteLength" : 400,
- "byteOffset" : 7595576
- },
- {
- "buffer" : 0,
- "byteLength" : 144,
- "byteOffset" : 7595976
- },
- {
- "buffer" : 0,
- "byteLength" : 2112,
- "byteOffset" : 7596120
- },
- {
- "buffer" : 0,
- "byteLength" : 2112,
- "byteOffset" : 7598232
- },
- {
- "buffer" : 0,
- "byteLength" : 1408,
- "byteOffset" : 7600344
- },
- {
- "buffer" : 0,
- "byteLength" : 492,
- "byteOffset" : 7601752
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 7602244
- },
- {
- "buffer" : 0,
- "byteLength" : 672,
- "byteOffset" : 7602916
- },
- {
- "buffer" : 0,
- "byteLength" : 448,
- "byteOffset" : 7603588
- },
- {
- "buffer" : 0,
- "byteLength" : 144,
- "byteOffset" : 7604036
- },
- {
- "buffer" : 0,
- "byteLength" : 2160,
- "byteOffset" : 7604180
- },
- {
- "buffer" : 0,
- "byteLength" : 2160,
- "byteOffset" : 7606340
- },
- {
- "buffer" : 0,
- "byteLength" : 1440,
- "byteOffset" : 7608500
- },
- {
- "buffer" : 0,
- "byteLength" : 492,
- "byteOffset" : 7609940
- },
- {
- "buffer" : 0,
- "byteLength" : 6156,
- "byteOffset" : 7610432
- },
- {
- "buffer" : 0,
- "byteLength" : 6156,
- "byteOffset" : 7616588
- },
- {
- "buffer" : 0,
- "byteLength" : 4104,
- "byteOffset" : 7622744
- },
- {
- "buffer" : 0,
- "byteLength" : 1668,
- "byteOffset" : 7626848
- },
- {
- "buffer" : 0,
- "byteLength" : 5556,
- "byteOffset" : 7628516
- },
- {
- "buffer" : 0,
- "byteLength" : 5556,
- "byteOffset" : 7634072
- },
- {
- "buffer" : 0,
- "byteLength" : 3704,
- "byteOffset" : 7639628
- },
- {
- "buffer" : 0,
- "byteLength" : 1668,
- "byteOffset" : 7643332
- },
- {
- "buffer" : 0,
- "byteLength" : 1524,
- "byteOffset" : 7645000
- },
- {
- "buffer" : 0,
- "byteLength" : 1524,
- "byteOffset" : 7646524
- },
- {
- "buffer" : 0,
- "byteLength" : 1016,
- "byteOffset" : 7648048
- },
- {
- "buffer" : 0,
- "byteLength" : 300,
- "byteOffset" : 7649064
- },
- {
- "buffer" : 0,
- "byteLength" : 1512,
- "byteOffset" : 7649364
- },
- {
- "buffer" : 0,
- "byteLength" : 1512,
- "byteOffset" : 7650876
- },
- {
- "buffer" : 0,
- "byteLength" : 1008,
- "byteOffset" : 7652388
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 7653396
- },
- {
- "buffer" : 0,
- "byteLength" : 1512,
- "byteOffset" : 7653840
- },
- {
- "buffer" : 0,
- "byteLength" : 1512,
- "byteOffset" : 7655352
- },
- {
- "buffer" : 0,
- "byteLength" : 1008,
- "byteOffset" : 7656864
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 7657872
- },
- {
- "buffer" : 0,
- "byteLength" : 1992,
- "byteOffset" : 7658316
- },
- {
- "buffer" : 0,
- "byteLength" : 1992,
- "byteOffset" : 7660308
- },
- {
- "buffer" : 0,
- "byteLength" : 1328,
- "byteOffset" : 7662300
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7663628
- },
- {
- "buffer" : 0,
- "byteLength" : 2004,
- "byteOffset" : 7664156
- },
- {
- "buffer" : 0,
- "byteLength" : 2004,
- "byteOffset" : 7666160
- },
- {
- "buffer" : 0,
- "byteLength" : 1336,
- "byteOffset" : 7668164
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7669500
- },
- {
- "buffer" : 0,
- "byteLength" : 1956,
- "byteOffset" : 7670028
- },
- {
- "buffer" : 0,
- "byteLength" : 1956,
- "byteOffset" : 7671984
- },
- {
- "buffer" : 0,
- "byteLength" : 1304,
- "byteOffset" : 7673940
- },
- {
- "buffer" : 0,
- "byteLength" : 1896,
- "byteOffset" : 7675244
- },
- {
- "buffer" : 0,
- "byteLength" : 1896,
- "byteOffset" : 7677140
- },
- {
- "buffer" : 0,
- "byteLength" : 1264,
- "byteOffset" : 7679036
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7680300
- },
- {
- "buffer" : 0,
- "byteLength" : 1896,
- "byteOffset" : 7680828
- },
- {
- "buffer" : 0,
- "byteLength" : 1896,
- "byteOffset" : 7682724
- },
- {
- "buffer" : 0,
- "byteLength" : 1264,
- "byteOffset" : 7684620
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7685884
- },
- {
- "buffer" : 0,
- "byteLength" : 1896,
- "byteOffset" : 7686412
- },
- {
- "buffer" : 0,
- "byteLength" : 1896,
- "byteOffset" : 7688308
- },
- {
- "buffer" : 0,
- "byteLength" : 1264,
- "byteOffset" : 7690204
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7691468
- },
- {
- "buffer" : 0,
- "byteLength" : 1896,
- "byteOffset" : 7691996
- },
- {
- "buffer" : 0,
- "byteLength" : 1896,
- "byteOffset" : 7693892
- },
- {
- "buffer" : 0,
- "byteLength" : 1264,
- "byteOffset" : 7695788
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7697052
- },
- {
- "buffer" : 0,
- "byteLength" : 1908,
- "byteOffset" : 7697580
- },
- {
- "buffer" : 0,
- "byteLength" : 1908,
- "byteOffset" : 7699488
- },
- {
- "buffer" : 0,
- "byteLength" : 1272,
- "byteOffset" : 7701396
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7702668
- },
- {
- "buffer" : 0,
- "byteLength" : 1896,
- "byteOffset" : 7703196
- },
- {
- "buffer" : 0,
- "byteLength" : 1896,
- "byteOffset" : 7705092
- },
- {
- "buffer" : 0,
- "byteLength" : 1264,
- "byteOffset" : 7706988
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7708252
- },
- {
- "buffer" : 0,
- "byteLength" : 1872,
- "byteOffset" : 7708780
- },
- {
- "buffer" : 0,
- "byteLength" : 1872,
- "byteOffset" : 7710652
- },
- {
- "buffer" : 0,
- "byteLength" : 1248,
- "byteOffset" : 7712524
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7713772
- },
- {
- "buffer" : 0,
- "byteLength" : 1920,
- "byteOffset" : 7714300
- },
- {
- "buffer" : 0,
- "byteLength" : 1920,
- "byteOffset" : 7716220
- },
- {
- "buffer" : 0,
- "byteLength" : 1280,
- "byteOffset" : 7718140
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7719420
- },
- {
- "buffer" : 0,
- "byteLength" : 1872,
- "byteOffset" : 7719948
- },
- {
- "buffer" : 0,
- "byteLength" : 1872,
- "byteOffset" : 7721820
- },
- {
- "buffer" : 0,
- "byteLength" : 1248,
- "byteOffset" : 7723692
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7724940
- },
- {
- "buffer" : 0,
- "byteLength" : 1908,
- "byteOffset" : 7725468
- },
- {
- "buffer" : 0,
- "byteLength" : 1908,
- "byteOffset" : 7727376
- },
- {
- "buffer" : 0,
- "byteLength" : 1272,
- "byteOffset" : 7729284
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7730556
- },
- {
- "buffer" : 0,
- "byteLength" : 1908,
- "byteOffset" : 7731084
- },
- {
- "buffer" : 0,
- "byteLength" : 1908,
- "byteOffset" : 7732992
- },
- {
- "buffer" : 0,
- "byteLength" : 1272,
- "byteOffset" : 7734900
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7736172
- },
- {
- "buffer" : 0,
- "byteLength" : 1980,
- "byteOffset" : 7736700
- },
- {
- "buffer" : 0,
- "byteLength" : 1980,
- "byteOffset" : 7738680
- },
- {
- "buffer" : 0,
- "byteLength" : 1320,
- "byteOffset" : 7740660
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7741980
- },
- {
- "buffer" : 0,
- "byteLength" : 1980,
- "byteOffset" : 7742508
- },
- {
- "buffer" : 0,
- "byteLength" : 1980,
- "byteOffset" : 7744488
- },
- {
- "buffer" : 0,
- "byteLength" : 1320,
- "byteOffset" : 7746468
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7747788
- },
- {
- "buffer" : 0,
- "byteLength" : 1512,
- "byteOffset" : 7748316
- },
- {
- "buffer" : 0,
- "byteLength" : 1512,
- "byteOffset" : 7749828
- },
- {
- "buffer" : 0,
- "byteLength" : 1008,
- "byteOffset" : 7751340
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 7752348
- },
- {
- "buffer" : 0,
- "byteLength" : 1500,
- "byteOffset" : 7752792
- },
- {
- "buffer" : 0,
- "byteLength" : 1500,
- "byteOffset" : 7754292
- },
- {
- "buffer" : 0,
- "byteLength" : 1000,
- "byteOffset" : 7755792
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 7756792
- },
- {
- "buffer" : 0,
- "byteLength" : 1524,
- "byteOffset" : 7757236
- },
- {
- "buffer" : 0,
- "byteLength" : 1524,
- "byteOffset" : 7758760
- },
- {
- "buffer" : 0,
- "byteLength" : 1016,
- "byteOffset" : 7760284
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 7761300
- },
- {
- "buffer" : 0,
- "byteLength" : 1500,
- "byteOffset" : 7761744
- },
- {
- "buffer" : 0,
- "byteLength" : 1500,
- "byteOffset" : 7763244
- },
- {
- "buffer" : 0,
- "byteLength" : 1000,
- "byteOffset" : 7764744
- },
- {
- "buffer" : 0,
- "byteLength" : 444,
- "byteOffset" : 7765744
- },
- {
- "buffer" : 0,
- "byteLength" : 2004,
- "byteOffset" : 7766188
- },
- {
- "buffer" : 0,
- "byteLength" : 2004,
- "byteOffset" : 7768192
- },
- {
- "buffer" : 0,
- "byteLength" : 1336,
- "byteOffset" : 7770196
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7771532
- },
- {
- "buffer" : 0,
- "byteLength" : 1968,
- "byteOffset" : 7772060
- },
- {
- "buffer" : 0,
- "byteLength" : 1968,
- "byteOffset" : 7774028
- },
- {
- "buffer" : 0,
- "byteLength" : 1312,
- "byteOffset" : 7775996
- },
- {
- "buffer" : 0,
- "byteLength" : 528,
- "byteOffset" : 7777308
- }
- ],
- "samplers" : [
- {
- "magFilter" : 9729,
- "minFilter" : 9987
- }
- ],
- "buffers" : [
- {
- "byteLength" : 7777836,
- "uri" : "sponza2.bin"
- }
- ]
-}
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza2.mini b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza2.mini
deleted file mode 100644
index f7d8ec1..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza2.mini and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_baseColor.jpg
deleted file mode 100644
index 4369bc7..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_basecolor.dds
deleted file mode 100644
index c3be95c..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_metallicRoughness.jpg
deleted file mode 100644
index a16c537..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_metallicroughness.dds
deleted file mode 100644
index ae2e7c2..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_normal.dds
deleted file mode 100644
index adcfb7b..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_normal.jpg
deleted file mode 100644
index ef0e2dd..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_arch_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_baseColor.jpg
deleted file mode 100644
index e5b5164..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_basecolor.dds
deleted file mode 100644
index f01b193..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_metallicRoughness.jpg
deleted file mode 100644
index fc8a786..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_metallicroughness.dds
deleted file mode 100644
index 2afb768..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_normal.dds
deleted file mode 100644
index 50962a4..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_normal.jpg
deleted file mode 100644
index 7ae092c..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_bricks_a_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_baseColor.jpg
deleted file mode 100644
index 0cffbd9..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_basecolor.dds
deleted file mode 100644
index c1a1794..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_metallicRoughness.jpg
deleted file mode 100644
index 35210b0..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_metallicroughness.dds
deleted file mode 100644
index 3c71f45..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_normal.dds
deleted file mode 100644
index c27d6d2..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_normal.jpg
deleted file mode 100644
index e61061b..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_ceiling_a_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_baseColor.jpg
deleted file mode 100644
index 876fcc0..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_basecolor.dds
deleted file mode 100644
index d398f42..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_metallicRoughness.jpg
deleted file mode 100644
index 85ddd13..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_metallicroughness.dds
deleted file mode 100644
index 42e9024..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_normal.dds
deleted file mode 100644
index 54b6a05..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_normal.jpg
deleted file mode 100644
index 9612fe2..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_a_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_baseColor.jpg
deleted file mode 100644
index c2ebbcc..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_basecolor.dds
deleted file mode 100644
index 7f907dc..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_metallicRoughness.jpg
deleted file mode 100644
index e43fb7e..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_metallicroughness.dds
deleted file mode 100644
index 6403b7a..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_normal.dds
deleted file mode 100644
index 15fe9b9..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_normal.jpg
deleted file mode 100644
index 975fcc6..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_b_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_baseColor.jpg
deleted file mode 100644
index f80cfb8..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_basecolor.dds
deleted file mode 100644
index 1bf618b..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_metallicRoughness.jpg
deleted file mode 100644
index 6d31090..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_metallicroughness.dds
deleted file mode 100644
index 0570e6e..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_normal.dds
deleted file mode 100644
index fa96252..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_normal.jpg
deleted file mode 100644
index 547bc68..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_column_c_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_baseColor.jpg
deleted file mode 100644
index c738be8..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_basecolor.dds
deleted file mode 100644
index b4ac90f..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_blue_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_blue_baseColor.jpg
deleted file mode 100644
index 9db2fc5..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_blue_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_blue_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_blue_basecolor.dds
deleted file mode 100644
index 760e0ff..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_blue_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_green_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_green_baseColor.jpg
deleted file mode 100644
index 9c6c75f..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_green_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_green_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_green_basecolor.dds
deleted file mode 100644
index b1d636e..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_green_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_metallicRoughness.jpg
deleted file mode 100644
index d0185c1..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_metallicroughness.dds
deleted file mode 100644
index 9630dd1..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_normal.dds
deleted file mode 100644
index f41b3c4..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_normal.jpg
deleted file mode 100644
index 6ec9413..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_curtain_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_baseColor.jpg
deleted file mode 100644
index 8763238..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_basecolor.dds
deleted file mode 100644
index 70c7a8b..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_metallicRoughness.jpg
deleted file mode 100644
index a021443..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_metallicroughness.dds
deleted file mode 100644
index 37bf567..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_normal.dds
deleted file mode 100644
index 46002e6..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_normal.jpg
deleted file mode 100644
index a9db3b6..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_details_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_baseColor.jpg
deleted file mode 100644
index 7cadf3b..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_basecolor.dds
deleted file mode 100644
index 294f681..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_blue_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_blue_baseColor.jpg
deleted file mode 100644
index d26acf7..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_blue_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_blue_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_blue_basecolor.dds
deleted file mode 100644
index 6ed7b4c..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_blue_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_green_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_green_baseColor.jpg
deleted file mode 100644
index be547c7..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_green_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_green_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_green_basecolor.dds
deleted file mode 100644
index fe7ab15..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_green_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_metallicRoughness.jpg
deleted file mode 100644
index 97a18fb..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_metallicroughness.dds
deleted file mode 100644
index 6b0d350..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_normal.dds
deleted file mode 100644
index f7dc3b9..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_normal.jpg
deleted file mode 100644
index af2b856..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_fabric_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_baseColor.jpg
deleted file mode 100644
index 267b601..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_basecolor.dds
deleted file mode 100644
index 1037ec9..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_metallicRoughness.jpg
deleted file mode 100644
index db87640..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_metallicroughness.dds
deleted file mode 100644
index 7d20384..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_normal.dds
deleted file mode 100644
index a62c6e1..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_normal.jpg
deleted file mode 100644
index a868ec5..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_flagpole_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_baseColor.jpg
deleted file mode 100644
index 7638971..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_basecolor.dds
deleted file mode 100644
index 1b63edf..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_metallicRoughness.jpg
deleted file mode 100644
index eb43735..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_metallicroughness.dds
deleted file mode 100644
index f4ea4e3..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_normal.dds
deleted file mode 100644
index 07ffd89..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_normal.jpg
deleted file mode 100644
index 0f0276e..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_floor_a_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_baseColor.jpg
deleted file mode 100644
index d8b15ae..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_basecolor.dds
deleted file mode 100644
index 553b9bc..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_metallicRoughness.jpg
deleted file mode 100644
index 0f9a484..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_metallicroughness.dds
deleted file mode 100644
index 6e9a31b..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_normal.dds
deleted file mode 100644
index ea15d1d..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_normal.jpg
deleted file mode 100644
index 20f0b78..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_roof_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_baseColor.png b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_baseColor.png
deleted file mode 100644
index 5725934..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_baseColor.png and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_basecolor.dds
deleted file mode 100644
index a4a48c5..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_metallicRoughness.jpg
deleted file mode 100644
index b2c5338..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_metallicroughness.dds
deleted file mode 100644
index a2c28e5..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_normal.dds
deleted file mode 100644
index 4ba52e7..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_normal.jpg
deleted file mode 100644
index 731e7ca..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/sponza_thorn_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_baseColor.jpg
deleted file mode 100644
index 2530e8d..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_basecolor.dds
deleted file mode 100644
index 5dba451..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_baseColor.jpg
deleted file mode 100644
index a1fb2d9..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_basecolor.dds
deleted file mode 100644
index 2f4f3be..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_metallicRoughness.jpg
deleted file mode 100644
index 05162f9..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_metallicroughness.dds
deleted file mode 100644
index fdd4b8d..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_normal.dds
deleted file mode 100644
index be7d7bf..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_normal.jpg
deleted file mode 100644
index 9c085b6..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_hanging_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_metallicRoughness.jpg
deleted file mode 100644
index 85c099c..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_metallicroughness.dds
deleted file mode 100644
index 14a423c..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_normal.dds
deleted file mode 100644
index d29fca3..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_normal.jpg
deleted file mode 100644
index 94b2d6e..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_baseColor.png b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_baseColor.png
deleted file mode 100644
index beb63a4..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_baseColor.png and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_basecolor.dds
deleted file mode 100644
index 3a009f7..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_metallicRoughness.jpg
deleted file mode 100644
index 0ffd724..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_metallicroughness.dds
deleted file mode 100644
index cefe2dc..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_normal.dds
deleted file mode 100644
index 2837a3f..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_normal.jpg
deleted file mode 100644
index 55fae0c..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_plant_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_baseColor.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_baseColor.jpg
deleted file mode 100644
index 01d5563..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_baseColor.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_basecolor.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_basecolor.dds
deleted file mode 100644
index bb7a0e6..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_basecolor.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_metallicRoughness.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_metallicRoughness.jpg
deleted file mode 100644
index 5a1efbd..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_metallicRoughness.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_metallicroughness.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_metallicroughness.dds
deleted file mode 100644
index 40cca20..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_metallicroughness.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_normal.dds b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_normal.dds
deleted file mode 100644
index 18c69a3..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_normal.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_normal.jpg b/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_normal.jpg
deleted file mode 100644
index 31fd24e..0000000
Binary files a/xess/samples/xess_demo/Assets/Sponza/pbr/vase_round_normal.jpg and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Textures/BRDF_LUT.dds b/xess/samples/xess_demo/Assets/Textures/BRDF_LUT.dds
deleted file mode 100644
index 113b78d..0000000
Binary files a/xess/samples/xess_demo/Assets/Textures/BRDF_LUT.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Textures/Blouberg_diffuseIBL.dds b/xess/samples/xess_demo/Assets/Textures/Blouberg_diffuseIBL.dds
deleted file mode 100644
index c7afc07..0000000
Binary files a/xess/samples/xess_demo/Assets/Textures/Blouberg_diffuseIBL.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Textures/Blouberg_specularIBL.dds b/xess/samples/xess_demo/Assets/Textures/Blouberg_specularIBL.dds
deleted file mode 100644
index fe6b7ae..0000000
Binary files a/xess/samples/xess_demo/Assets/Textures/Blouberg_specularIBL.dds and /dev/null differ
diff --git a/xess/samples/xess_demo/Assets/Textures/README.txt b/xess/samples/xess_demo/Assets/Textures/README.txt
deleted file mode 100644
index 6f5e9cc..0000000
--- a/xess/samples/xess_demo/Assets/Textures/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-Blouberg HDRI from - https://polyhaven.com/a/blouberg_sunrise_2, under CC0 license.
\ No newline at end of file
diff --git a/xess/samples/xess_demo/CMakeLists.txt b/xess/samples/xess_demo/CMakeLists.txt
deleted file mode 100644
index 292d175..0000000
--- a/xess/samples/xess_demo/CMakeLists.txt
+++ /dev/null
@@ -1,190 +0,0 @@
-###############################################################################
-# Copyright 2021 Intel Corporation
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files(the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions :
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
-##############################################################################
-
-cmake_minimum_required(VERSION 3.12)
-
-#set_property(GLOBAL PROPERTY USE_FOLDERS ON)
-
-option(ENABLE_XESS_DEMO_ASSETS_COPY "Enable XeSS Demo Assets folder copy" ON)
-
-option(ENABLE_XESS_DEMO_SHADER_DEBUG "Enable XeSS Demo shaders debugging and disable optimizations" OFF)
-
-# Set minimum supported SDK and MSVC versions
-set(MIN_SDK_VERSION "10.0.18363")
-set(MIN_MSVC_VERSION "1920")
-
-set (TARGET_NAME XeSSDemo)
-
-project(${TARGET_NAME})
-
-# Force MIN_SDK_VERSION or newer
-if((${CMAKE_SYSTEM_VERSION} STRLESS ${MIN_SDK_VERSION}) AND ("$ENV{Version_Number}" STRLESS ${MIN_SDK_VERSION}))
- message(FATAL_ERROR "Windows SDK ${MIN_SDK_VERSION} or later required. Installed: ${CMAKE_SYSTEM_VERSION}")
-endif()
-
-#Force MIN_MSVC_VERSION or newer
-if((${CMAKE_CXX_COMPILER_ID} STREQUAL "MSVC") AND (${MSVC_VERSION} STRLESS ${MIN_MSVC_VERSION}))
- message(FATAL_ERROR "MSVC ${MIN_MSVC_VERSION} required. Installed: ${CMAKE_CXX_COMPILER_ID} - ${CMAKE_CXX_COMPILER_VERSION}")
-endif()
-
-#set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
-#set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
-#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
-
-file(GLOB_RECURSE SRC_FILES
- "Source/*.cpp"
- "Source/*.h"
-)
-
-file(GLOB_RECURSE VERTEX_SHADER_FILES
- "Source/*VS.hlsl"
-)
-
-file(GLOB_RECURSE PIXEL_SHADER_FILES
- "Source/*PS.hlsl"
-)
-
-file(GLOB_RECURSE COMPUTE_SHADER_FILES
- "Source/*CS.hlsl"
-)
-
-file(GLOB_RECURSE SHADER_INCLUDE_FILES
- "Source/*.hlsli"
-)
-
-set(SHADER_INC_PATH
- ${CMAKE_CURRENT_SOURCE_DIR}/MiniEngine/Core
-)
-
-include(Script/utility.cmake)
-
-hlsl_compile("${VERTEX_SHADER_FILES}" Vertex "${SHADER_INC_PATH}" "_GAMING_DESKTOP=1" ENABLE_XESS_DEMO_SHADER_DEBUG)
-hlsl_compile("${PIXEL_SHADER_FILES}" Pixel "${SHADER_INC_PATH}" "_GAMING_DESKTOP=1" ENABLE_XESS_DEMO_SHADER_DEBUG)
-hlsl_compile("${COMPUTE_SHADER_FILES}" Compute "${SHADER_INC_PATH}" "_GAMING_DESKTOP=1" ENABLE_XESS_DEMO_SHADER_DEBUG)
-set_property(SOURCE ${SHADER_INCLUDE_FILES} PROPERTY HEADER_FILE_ONLY true)
-
-set(SOURCE_FILES
- ${SRC_FILES}
- ${VERTEX_SHADER_FILES}
- ${PIXEL_SHADER_FILES}
- ${COMPUTE_SHADER_FILES}
- ${SHADER_INCLUDE_FILES}
-)
-
-source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${SOURCE_FILES})
-
-add_executable(${TARGET_NAME} WIN32 ${SOURCE_FILES} Source/XeSSDemo.manifest)
-
-set_msvc_precompiled_header(pch.h Source/pch.cpp "${SOURCE_FILES}")
-
-target_compile_definitions(${TARGET_NAME} PRIVATE
- UNICODE _UNICODE __WRL_NO_DEFAULT_LIB__ _GAMING_DESKTOP
- $<$:_DEBUG>
- $<$:RELEASE>
- $<$:RELEASE>
- $<$:PROFILE> # We treat RelWithDebInfo as "Profile" config
-)
-
-target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Source
- ${CMAKE_CURRENT_SOURCE_DIR}/MiniEngine/Core
- ${CMAKE_CURRENT_SOURCE_DIR}/MiniEngine/Model
- ${CMAKE_CURRENT_SOURCE_DIR}/MiniEngine/Dependencies/WinPixEventRuntime/Include/WinPixEventRuntime
- ${CMAKE_CURRENT_SOURCE_DIR}/MiniEngine/Dependencies/imgui
- ${CMAKE_SOURCE_DIR}/libxess/include
- ${CMAKE_CURRENT_SOURCE_DIR}/../../inc
- ${CMAKE_BINARY_DIR}/bin/$
-
- ${PROJECT_BINARY_DIR}/MiniEngine/$
- ${PROJECT_BINARY_DIR}/$
-)
-
-#set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:MSVCRT")
-
-if (NOT XESS_BUILD_INTERNAL_SAMPLE)
- set(XESS_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../lib)
-else ()
- set(XESS_LIB_DIR ${CMAKE_BINARY_DIR}/bin/$)
-endif()
-
-target_link_libraries(${TARGET_NAME} PRIVATE MiniEngine
- ${XESS_LIB_DIR}/libxess.lib
- DirectXMesh
- DirectXTex
- zlibstatic
- ${CMAKE_CURRENT_SOURCE_DIR}/MiniEngine/Dependencies/WinPixEventRuntime/bin/x64/WinPixEventRuntime.lib
-)
-
-# Custom command for copying font.
-add_custom_command(TARGET ${TARGET_NAME}
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/MiniEngine/Dependencies/WinPixEventRuntime/bin/x64/WinPixEventRuntime.dll"
- "$/WinPixEventRuntime.dll")
-
-if (ENABLE_XESS_DEMO_ASSETS_COPY)
- # Custom command for copying art assets.
- add_custom_command(TARGET ${TARGET_NAME}
- COMMAND ${CMAKE_COMMAND} -E copy_directory "${PROJECT_SOURCE_DIR}/Assets" "$/Assets")
-endif()
-
-# Custom command for copying font.
-add_custom_command(TARGET ${TARGET_NAME}
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/MiniEngine/Dependencies/imgui/misc/fonts/DroidSans.ttf"
- "$/DroidSans.ttf")
-
-# Custom command for copying SDK dlls.
-file(GLOB_RECURSE SDK_DLLS
- "SDK/bin/*.dll"
-)
-
-foreach(dll ${SDK_DLLS})
- add_custom_command(TARGET ${TARGET_NAME}
- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${dll} "$")
-endforeach()
-
-add_subdirectory(MiniEngine)
-
-# project folder
-set_target_properties(zlibstatic PROPERTIES FOLDER "Dependencies")
-set_target_properties(DirectXMesh PROPERTIES FOLDER "Dependencies")
-set_target_properties(DirectXTex PROPERTIES FOLDER "Dependencies")
-
-if (NOT XESS_BUILD_INTERNAL_SAMPLE)
- set(SRC_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/")
- add_custom_target(CopyRequiredDLLs ALL
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SRC_PATH}/dxcompiler.dll" "$/dxcompiler.dll"
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SRC_PATH}/dxil.dll" "$/dxil.dll"
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SRC_PATH}/igxess.dll" "$/igxess.dll"
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SRC_PATH}/libxess.dll" "$/libxess.dll"
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SRC_PATH}/XeFX.dll" "$/XeFX.dll"
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SRC_PATH}/XeFX_loader.dll" "$/XeFX_loader.dll"
- )
-else ()
- add_dependencies(${TARGET_NAME} libxess)
-
- install(TARGETS ${TARGET_NAME}
- RUNTIME DESTINATION bin
- ARCHIVE DESTINATION lib
- PUBLIC_HEADER DESTINATION inc
- RESOURCE DESTINATION bin
-)
-
-install(FILES ${PROJECT_SOURCE_DIR}/MiniEngine/Dependencies/imgui/misc/fonts/DroidSans.ttf DESTINATION bin/)
-endif()
\ No newline at end of file
diff --git a/xess/samples/xess_demo/MiniEngine/.gitignore b/xess/samples/xess_demo/MiniEngine/.gitignore
deleted file mode 100644
index b1d91da..0000000
--- a/xess/samples/xess_demo/MiniEngine/.gitignore
+++ /dev/null
@@ -1,22 +0,0 @@
-*.user
-*.suo
-*.VC.db*
-*.shader_inc
-*.vspscc
-*.opensdf
-*.sdf
-*.ipch
-*.cache
-*.tlog
-*.lastbuildstate
-*.ilk
-*.log
-* - Copy*.*
-Build_VS11
-Build_VS12
-Build_VS14
-Build_VS15
-Build
-Packages
-/ModelConverter/assimp.dll
-Packages
\ No newline at end of file
diff --git a/xess/samples/xess_demo/MiniEngine/CMakeLists.txt b/xess/samples/xess_demo/MiniEngine/CMakeLists.txt
deleted file mode 100644
index 25e2454..0000000
--- a/xess/samples/xess_demo/MiniEngine/CMakeLists.txt
+++ /dev/null
@@ -1,128 +0,0 @@
-###############################################################################
-# Copyright 2021 Intel Corporation
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files(the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions :
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
-##############################################################################
-
-set (TARGET_NAME MiniEngine)
-
-option(ENABLE_MINIENGINE_SHADER_DEBUG "Enable MiniEngine shaders debugging and disable optimizations" OFF)
-
-file(GLOB_RECURSE SOURCE_FILES
- "Core/*.cpp"
- "Core/*.h"
- "Model/*.cpp"
- "Model/*.h"
-)
-
-list(FILTER SOURCE_FILES EXCLUDE REGEX ".*GameInput.cpp$")
-
-file(GLOB_RECURSE VERTEX_SHADER_FILES
- "Core/Shaders/*VS.hlsl"
- "Model/Shaders/*VS.hlsl"
-)
-
-file(GLOB_RECURSE PIXEL_SHADER_FILES
- "Core/Shaders/*PS.hlsl"
- "Model/Shaders/*PS.hlsl"
-)
-
-file(GLOB_RECURSE COMPUTE_SHADER_FILES
- "Core/Shaders/*CS.hlsl"
- "Model/Shaders/*CS.hlsl"
-)
-
-file(GLOB_RECURSE SHADER_INCLUDE_FILES
- "Core/Shaders/*.hlsli"
- "Model/Shaders/*.hlsli"
-)
-
-set(THIRD_PARTY_SOURCE_FILES
- "Dependencies/imgui/imgui.h"
- "Dependencies/imgui/imgui.cpp"
- "Dependencies/imgui/imgui_draw.cpp"
- "Dependencies/imgui/imgui_internal.h"
- "Dependencies/imgui/imgui_tables.cpp"
- "Dependencies/imgui/imgui_widgets.cpp"
- "Dependencies/imgui/backends/imgui_impl_win32.h"
- "Dependencies/imgui/backends/imgui_impl_win32.cpp"
-)
-
-set(SHADER_INC_PATH
- ${CMAKE_CURRENT_SOURCE_DIR}
-)
-
-include(../Script/utility.cmake)
-
-hlsl_compile("${VERTEX_SHADER_FILES}" Vertex "${SHADER_INC_PATH}" "_GAMING_DESKTOP=1" ENABLE_MINIENGINE_SHADER_DEBUG)
-hlsl_compile("${PIXEL_SHADER_FILES}" Pixel "${SHADER_INC_PATH}" "_GAMING_DESKTOP=1" ENABLE_MINIENGINE_SHADER_DEBUG)
-hlsl_compile("${COMPUTE_SHADER_FILES}" Compute "${SHADER_INC_PATH}" "_GAMING_DESKTOP=1" ENABLE_MINIENGINE_SHADER_DEBUG)
-set_property(SOURCE ${SHADER_INCLUDE_FILES} PROPERTY HEADER_FILE_ONLY true)
-
-set_msvc_precompiled_header(pch.h Core/pch.cpp "${SOURCE_FILES}")
-
-set(SOURCE_FILES
- ${SOURCE_FILES}
- ${VERTEX_SHADER_FILES}
- ${PIXEL_SHADER_FILES}
- ${COMPUTE_SHADER_FILES}
- ${SHADER_INCLUDE_FILES}
- ${THIRD_PARTY_SOURCE_FILES}
-)
-
-source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${SOURCE_FILES})
-
-add_library (${TARGET_NAME} STATIC ${SOURCE_FILES})
-
-target_compile_definitions(${TARGET_NAME} PRIVATE
- UNICODE _UNICODE __WRL_NO_DEFAULT_LIB__ _GAMING_DESKTOP
- $<$:_DEBUG>
- $<$:RELEASE>
- $<$:RELEASE>
- $<$:PROFILE> # We treat RelWithDebInfo as "Profile" config
-)
-
-#set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:MSVCRT")
-
-target_include_directories(
- ${TARGET_NAME} PRIVATE ${PROJECT_BINARY_DIR}/MiniEngine/$
- ${TARGET_NAME} PRIVATE ${CMAKE_BINARY_DIR}/bin/$
- ${TARGET_NAME} PRIVATE ${PROJECT_BINARY_DIR}/MiniEngine/Dependencies/zlib
-
- ${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Core
- ${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/DirectXMesh/DirectXMesh
- ${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/DirectXTex/DirectXTex
- ${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/zlib
- ${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/WinPixEventRuntime/Include/WinPixEventRuntime
- ${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/imgui
-)
-
-# DirectXMesh dependency
-option(BUILD_TOOLS "" OFF)
-add_subdirectory(Dependencies/DirectXMesh)
-
-# DirectTex dependency
-option(BUILD_SAMPLE "" OFF)
-option(BUILD_TOOLS "" OFF)
-option(BUILD_DX11 "" OFF)
-add_subdirectory(Dependencies/DirectXTex)
-
-# zlib dependency
-add_subdirectory(Dependencies/zlib)
-target_compile_options(zlibstatic PRIVATE /wd4244)
diff --git a/xess/samples/xess_demo/MiniEngine/Core/BitonicSort.cpp b/xess/samples/xess_demo/MiniEngine/Core/BitonicSort.cpp
deleted file mode 100644
index 38878c4..0000000
--- a/xess/samples/xess_demo/MiniEngine/Core/BitonicSort.cpp
+++ /dev/null
@@ -1,245 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-// Developed by Minigraph
-//
-// Author(s): James Stanard
-//
-
-#include "pch.h"
-#include "BitonicSort.h"
-#include "RootSignature.h"
-#include "PipelineState.h"
-#include "CommandContext.h"
-#include "ReadbackBuffer.h"
-#include "Math/Common.h"
-#include "Math/Random.h"
-
-#include "CompiledShaders/BitonicIndirectArgsCS.h"
-#include "CompiledShaders/Bitonic32PreSortCS.h"
-#include "CompiledShaders/Bitonic32InnerSortCS.h"
-#include "CompiledShaders/Bitonic32OuterSortCS.h"
-#include "CompiledShaders/Bitonic64PreSortCS.h"
-#include "CompiledShaders/Bitonic64InnerSortCS.h"
-#include "CompiledShaders/Bitonic64OuterSortCS.h"
-
-namespace BitonicSort
-{
- IndirectArgsBuffer s_DispatchArgs;
-
- RootSignature s_RootSignature;
- ComputePSO s_BitonicIndirectArgsCS(L"Bitonic Sort: Indirect Args CS");
- ComputePSO s_Bitonic32PreSortCS(L"Bitonic Sort: 32 Pre Sort CS");
- ComputePSO s_Bitonic32InnerSortCS(L"Bitonic Sort: 32 Inner Sort CS");
- ComputePSO s_Bitonic32OuterSortCS(L"Bitonic Sort: 32 Outer Sort CS");
- ComputePSO s_Bitonic64PreSortCS(L"Bitonic Sort: 64 Pre Sort CS");
- ComputePSO s_Bitonic64InnerSortCS(L"Bitonic Sort: 64 Inner Sort CS");
- ComputePSO s_Bitonic64OuterSortCS(L"Bitonic Sort: 64 Outer Sort CS");
-
- // Called once by Core to initialize shaders
- void Initialize(void);
- void Shutdown(void);
-}
-
-void BitonicSort::Initialize( void )
-{
- s_DispatchArgs.Create(L"Bitonic sort dispatch args", 22*23/2, 12);
-
- s_RootSignature.Reset(4, 0);
- s_RootSignature[0].InitAsConstants(0, 2);
- s_RootSignature[1].InitAsDescriptorRange(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 0, 1);
- s_RootSignature[2].InitAsDescriptorRange(D3D12_DESCRIPTOR_RANGE_TYPE_UAV, 0, 1);
- s_RootSignature[3].InitAsConstants(1, 2);
- s_RootSignature.Finalize(L"Bitonic Sort");
-
-#define CreatePSO( ObjName, ShaderByteCode ) \
- ObjName.SetRootSignature(s_RootSignature); \
- ObjName.SetComputeShader(ShaderByteCode, sizeof(ShaderByteCode) ); \
- ObjName.Finalize();
-
- CreatePSO(s_BitonicIndirectArgsCS, g_pBitonicIndirectArgsCS);
- CreatePSO(s_Bitonic32PreSortCS, g_pBitonic32PreSortCS);
- CreatePSO(s_Bitonic32InnerSortCS, g_pBitonic32InnerSortCS);
- CreatePSO(s_Bitonic32OuterSortCS, g_pBitonic32OuterSortCS);
- CreatePSO(s_Bitonic64PreSortCS, g_pBitonic64PreSortCS);
- CreatePSO(s_Bitonic64InnerSortCS, g_pBitonic64InnerSortCS);
- CreatePSO(s_Bitonic64OuterSortCS, g_pBitonic64OuterSortCS);
-
-#undef CreatePSO
-}
-
-void BitonicSort::Shutdown( void )
-{
- s_DispatchArgs.Destroy();
-}
-
-void BitonicSort::Sort(
- ComputeContext& Context,
- GpuBuffer& KeyIndexList,
- GpuBuffer& CounterBuffer,
- uint32_t CounterOffset,
- bool IsPartiallyPreSorted,
- bool SortAscending
-)
-{
- const uint32_t ElementSizeBytes = KeyIndexList.GetElementSize();
- const uint32_t MaxNumElements = KeyIndexList.GetElementCount();
- const uint32_t AlignedMaxNumElements = Math::AlignPowerOfTwo(MaxNumElements);
- const uint32_t MaxIterations = Math::Log2(std::max(2048u, AlignedMaxNumElements)) - 10;
-
- ASSERT(ElementSizeBytes == 4 || ElementSizeBytes == 8, "Invalid key-index list for bitonic sort");
-
- Context.SetRootSignature(s_RootSignature);
-
- // This controls two things. It is a key that will sort to the end, and it is a mask used to
- // determine whether the current group should sort ascending or descending.
- Context.SetConstants(3, CounterOffset, SortAscending ? 0xffffffff : 0);
-
- // Generate execute indirect arguments
- Context.SetPipelineState(s_BitonicIndirectArgsCS);
- Context.TransitionResource(CounterBuffer, D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE);
- Context.TransitionResource(s_DispatchArgs, D3D12_RESOURCE_STATE_UNORDERED_ACCESS);
- Context.SetConstants(0, MaxIterations);
- Context.SetDynamicDescriptor(1, 0, CounterBuffer.GetSRV());
- Context.SetDynamicDescriptor(2, 0, s_DispatchArgs.GetUAV());
- Context.Dispatch(1, 1, 1);
-
- // Pre-Sort the buffer up to k = 2048. This also pads the list with invalid indices
- // that will drift to the end of the sorted list.
- Context.TransitionResource(s_DispatchArgs, D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT);
- Context.TransitionResource(KeyIndexList, D3D12_RESOURCE_STATE_UNORDERED_ACCESS);
- Context.InsertUAVBarrier(KeyIndexList);
- Context.SetDynamicDescriptor(2, 0, KeyIndexList.GetUAV());
-
- if (!IsPartiallyPreSorted)
- {
- Context.SetPipelineState(ElementSizeBytes == 4 ? s_Bitonic32PreSortCS : s_Bitonic64PreSortCS);
- Context.DispatchIndirect(s_DispatchArgs, 0);
- Context.InsertUAVBarrier(KeyIndexList);
- }
-
- uint32_t IndirectArgsOffset = 12;
-
- // We have already pre-sorted up through k = 2048 when first writing our list, so
- // we continue sorting with k = 4096. For unnecessarily large values of k, these
- // indirect dispatches will be skipped over with thread counts of 0.
-
- for (uint32_t k = 4096; k <= AlignedMaxNumElements; k *= 2)
- {
- Context.SetPipelineState(ElementSizeBytes == 4 ? s_Bitonic32OuterSortCS : s_Bitonic64OuterSortCS);
-
- for (uint32_t j = k / 2; j >= 2048; j /= 2)
- {
- Context.SetConstants(0, k, j);
- Context.DispatchIndirect(s_DispatchArgs, IndirectArgsOffset);
- Context.InsertUAVBarrier(KeyIndexList);
- IndirectArgsOffset += 12;
- }
-
- Context.SetPipelineState(ElementSizeBytes == 4 ? s_Bitonic32InnerSortCS : s_Bitonic64InnerSortCS);
- Context.DispatchIndirect(s_DispatchArgs, IndirectArgsOffset);
- Context.InsertUAVBarrier(KeyIndexList);
- IndirectArgsOffset += 12;
- }
-}
-
-template
-inline void VerifySort(T* List, uint32_t ListLength, bool bAscending)
-{
- const T IndexMask = Math::AlignPowerOfTwo(ListLength) - 1;
-
- for (uint32_t i = 0; i < ListLength - 1; ++i)
- {
- ASSERT((List[i] & IndexMask) < ListLength, "Corrupted list index detected");
-
- if (bAscending)
- {
- ASSERT(List[i] <= List[i + 1], "Invalid sort order: non-ascending");
- }
- else
- {
- ASSERT(List[i] >= List[i + 1], "Invalid sort order: non-descending");
- }
- }
-
- ASSERT((List[ListLength - 1] & IndexMask) < ListLength, "Corrupted list index detected");
-}
-
-void TestBitonicSort(uint32_t ListSize, bool b64Bit, bool bAscending)
-{
- const uint32_t SizeOfElem = b64Bit ? sizeof(uint64_t) : sizeof(uint32_t);
- const uint32_t IndexMask = Math::AlignPowerOfTwo(ListSize) - 1;
-
- // Allocate memory for list on CPU
- void* BufferPtr = std::malloc(ListSize * SizeOfElem);
-
- // Initialize list with random keys and valid indices
- if (b64Bit)
- {
- uint64_t* BufferPtr64 = (uint64_t*)BufferPtr;
- for (uint32_t i = 0; i < ListSize; ++i)
- BufferPtr64[i] = ((uint64_t)(uint32_t)Math::g_RNG.NextInt() << 32 | i);
- }
- else
- {
- uint32_t* BufferPtr32 = (uint32_t*)BufferPtr;
- for (uint32_t i = 0; i < ListSize; ++i)
- BufferPtr32[i] = (((uint32_t)Math::g_RNG.NextInt() & ~IndexMask) | i);
- }
-
- // Upload list to GPU
- ByteAddressBuffer RandomListGpu;
- RandomListGpu.Create(L"GPU Sort List", ListSize, SizeOfElem, BufferPtr);
- std::free(BufferPtr);
-
- // Put the list size in GPU memory
- __declspec(align(16)) uint32_t ListCounter[1] = { ListSize };
- ByteAddressBuffer RandomListCount;
- RandomListCount.Create(L"GPU List Counter", 1, sizeof(uint32_t), ListCounter);
-
- // Allocate readback buffers to view data with the CPU
- ReadbackBuffer IndirectArgs;
- IndirectArgs.Create(L"Readback Indirect Args", 22 * 23 / 2, 12);
-
- ReadbackBuffer ReadbackList;
- ReadbackList.Create(L"Random List For Sort", ListSize, SizeOfElem);
-
- // Begin GPU work of sorting. Then copy results back to CPU.
- ComputeContext& Ctx = ComputeContext::Begin(L"Bitonic Sort Test");
- BitonicSort::Sort(Ctx, RandomListGpu, RandomListCount, 0, false, bAscending);
- Ctx.CopyBuffer(IndirectArgs, BitonicSort::s_DispatchArgs);
- Ctx.CopyBuffer(ReadbackList, RandomListGpu);
- Ctx.Finish(true);
-
- // For debug purposes, you may uncomment these lines to verify that the args were created correctly.
- //typedef uint32_t Args[3];
- //Args* iArgs = (Args*)IndirectArgs.Map();
- BufferPtr = ReadbackList.Map();
-
- // Scan through all items to ensure they are sorted in the proper order and that
- // their sort index is in the right range (uncorrupted).
- if (b64Bit)
- VerifySort((uint64_t*)BufferPtr, ListSize, bAscending);
- else
- VerifySort((uint32_t*)BufferPtr, ListSize, bAscending);
-
- ReadbackList.Unmap();
- //IndirectArgs.Unmap();
-}
-
-void BitonicSort::Test( void )
-{
- for (uint32_t ThreadGroupCount = 1; ThreadGroupCount < 256; ++ThreadGroupCount)
- {
- uint32_t ListSize = 500 * ThreadGroupCount;
- TestBitonicSort(ListSize, true, true);
- TestBitonicSort(ListSize, true, false);
- TestBitonicSort(ListSize, false, true);
- TestBitonicSort(ListSize, false, false);
- }
-}
diff --git a/xess/samples/xess_demo/MiniEngine/Core/BitonicSort.h b/xess/samples/xess_demo/MiniEngine/Core/BitonicSort.h
deleted file mode 100644
index b1f0f35..0000000
--- a/xess/samples/xess_demo/MiniEngine/Core/BitonicSort.h
+++ /dev/null
@@ -1,103 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-// Developed by Minigraph
-//
-// Author(s): James Stanard
-//
-// Bitonic Sort is a highly parallel sorting algorithm well-suited to the
-// GPU. It has a complexity of O( N*(log N)^2 ), which is inferior to most
-// traditional sorting algorithms, but because GPUs have so many threads,
-// and because each thread can be utilized, the algorithm can fully load
-// the GPU, taking advantage of its high ALU and bandwidth capabilities.
-//
-// Another reason why sorting on the GPU is useful is when the GPU is creating
-// work on its own timeline and needs to sort the work without CPU intervention.
-// One example in MiniEngine is with GPU simulated particle systems. Before
-// rendering the particles, it is beneficial to sort the particles and render
-// them either front-to-back or back-to-front.
-//
-// The way a bitonic sort works is by iteratively sorting groups of increasing
-// size and then blending the sorted groups together to form larger sorted
-// groups. The core of the algorithm can be expressed like so:
-//
-// for (k = 2; k < NumItems; k *= 2) // k = group size
-// for (j = k / 2; j > 0; j /= 2) // j = compare distance
-// for (i = 0; i < NumItems; ++i) // i = element index
-// if (ShouldSwap(i, i ^ j)) // Are the two in proper order?
-// Swap(i, i ^ j) // If not, swap them
-//
-// In this modified form of bitonic sort, all groups of size k are sorted in
-// the same direction. This facilitates sorting lists with non-power-of-two
-// lengths. So the ShouldSwap() test is informed only by the intent to have
-// an ascending or descending list. If sorting ascending, null items should
-// have a sort key of 0xffffffff to guarantee sorting to the end. Likewise,
-// sorting descending has a null item of 0x00000000.
-//
-// The value of the null item is also useful in the key comparison. Notice
-// that with ascending lists, we want A < B, and with descending lists, we
-// want A > B. So if they are reversed, we must swap them. By using the
-// null item value, we can automatically reverse the test like so:
-//
-// Descending: Swap if (A < B) == (A ^ 0x00000000 < B ^ 0x00000000)
-// Ascending: Swap if (A > B) == (~A < ~B) == (A ^ 0xffffffff < B ^ 0xffffffff)
-// Generalized: Swap if (A ^ NullItem) < (B ^ NullItem)
-//
-// As an optimization, you can pre-sort the list for k values up to 2048 in
-// LDS before writing to memory. (You do not have to write null items at the
-// end of your list to memory.) It is always better for the caller of this
-// system to pre-sort their list as they create it.
-//
-// The expected usage of this API is that you will have an array of data of
-// unspecified stride. You will generate a list of sort keys and array index
-// pairs to pass to the system to be sorted. The sorted key/index pairs can
-// then be used to reorder your data array (with a double buffer) or you can
-// read your data array in place using indirection.
-//
-// We also expect that consumers of this system have a GPU-visible count of
-// items. This probably came from an AppendBuffer (structured buffer with an
-// atomic counter). So you will need to provide the counter buffer as well as
-// the offset to the counter.
-//
-// Also note that key/index pairs may be packed into 32-bit words with the key
-// in the most significant bits. Sorting 32-bit elements is faster than sorting
-// 64-bit elements because it uses less bandwidth.
-
-#pragma once
-
-#include "GpuBuffer.h"
-
-namespace BitonicSort
-{
- void Sort(
- // An existing compute context
- ComputeContext& Context,
-
- // List to be sorted. If element size is 4 bytes, it is assumed the key and index are packed
- // together with the key in the most significant bytes. If element size is 8 bytes, the key
- // is assumed in the upper 4 bytes (i.e. uint2.y).
- GpuBuffer& KeyIndexList,
-
- // A buffer containing the count of items to be sorted.
- GpuBuffer& CountBuffer,
-
- // Offset into counter buffer to find count for this list. Must be a multiple of 4 bytes.
- uint32_t CounterOffset,
-
- // Pass 'true' if the list has already been sorted for k values up to 2048. That is, each
- // group of 2048 is already sorted. This is common because you can combine generating a
- // sort key list with sorting thread groups in groupshared (LDS) memory.
- bool IsPartiallyPreSorted,
-
- // True to sort in ascending order (smallest to largest). False to sort in descending order.
- bool SortAscending
- );
-
- void Test( void );
-
-} // namespace BitonicSort
diff --git a/xess/samples/xess_demo/MiniEngine/Core/BuddyAllocator.cpp b/xess/samples/xess_demo/MiniEngine/Core/BuddyAllocator.cpp
deleted file mode 100644
index e990b9b..0000000
--- a/xess/samples/xess_demo/MiniEngine/Core/BuddyAllocator.cpp
+++ /dev/null
@@ -1,264 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-// Developed by Minigraph
-//
-// Author(s): Jack Elliott
-//
-
-#include "pch.h"
-#include "BuddyAllocator.h"
-#include "GraphicsCore.h"
-#include "CommandListManager.h"
-#include "CommandContext.h"
-
-using namespace Graphics;
-using namespace std;
-
-BuddyBlock::BuddyBlock(uint32_t heapOffset, uint32_t totalSize, uint32_t unpaddedSize) :
- m_pBuffer(nullptr)
- , m_pBackingHeap(nullptr)
- , m_offset(heapOffset)
- , m_fenceValue(0)
- , m_size(totalSize)
- , m_unpaddedSize(unpaddedSize)
-{};
-
-void BuddyBlock::InitPlaced(ID3D12Heap* pBackingHeap, uint32_t numElements, uint32_t elementSize, const void* initialData)
-{
- m_pBuffer = new ByteAddressBuffer();
- m_pBackingHeap = pBackingHeap;
-
- const wstring name(L"Buddy Block");
- m_pBuffer->CreatePlaced(name, m_pBackingHeap, uint32_t(m_offset), numElements, elementSize, initialData);
-}
-
-void BuddyBlock::InitFromResource(ByteAddressBuffer* pBuffer, uint32_t numElements, uint32_t elementSize, const void* initialData)
-{
- m_pBuffer = pBuffer;
-
- if (initialData)
- {
- CommandContext::InitializeBuffer(*pBuffer, initialData, numElements * elementSize, m_offset);
- }
-}
-
-void BuddyBlock::Destroy()
-{
- m_pBuffer->Destroy();
- m_pBuffer = nullptr;
-}
-
-BuddyAllocator::BuddyAllocator(kBuddyAllocationStrategy allocationStrategy, D3D12_HEAP_TYPE heapType, size_t maxBlockSize, size_t MinBlockSize, size_t baseOffset)
- : m_allocationStrategy(allocationStrategy)
- , m_heapType(heapType)
- , m_baseOffset(baseOffset)
- , m_maxBlockSize(maxBlockSize)
- , m_minBlockSize(MinBlockSize)
- , m_pBackingHeap(nullptr)
-#if defined(PROFILE) || defined(_DEBUG)
- , m_SpaceUsed(0)
- , m_InternalFragmentation(0)
-#endif
-{
- ASSERT(Math::IsDivisible(maxBlockSize, m_minBlockSize));
- ASSERT(Math::IsPowerOfTwo(maxBlockSize / m_minBlockSize));
-
- m_maxOrder = UnitSizeToOrder(SizeToUnitSize(maxBlockSize));
-
- Reset();
-}
-
-void BuddyAllocator::Initialize()
-{
- if (m_allocationStrategy == kBuddyAllocationStrategy::kPlacedResourceStrategy)
- {
- D3D12_HEAP_PROPERTIES heapProps = CD3DX12_HEAP_PROPERTIES(m_heapType);
-
- D3D12_HEAP_DESC desc = {};
- desc.SizeInBytes = m_maxBlockSize;
- desc.Properties = heapProps;
- desc.Alignment = MIN_PLACED_BUFFER_SIZE;
- desc.Flags = D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS;
-
- ASSERT_SUCCEEDED(g_Device->CreateHeap(&desc, MY_IID_PPV_ARGS(&m_pBackingHeap)));
- }
- else
- {
- m_BackingResource.Create(L"Buddy Allocator Backing Resource", uint32_t(m_maxBlockSize), 1, nullptr);
- }
-}
-
-void BuddyAllocator::Destroy()
-{
- if (m_allocationStrategy == kBuddyAllocationStrategy::kPlacedResourceStrategy)
- {
- m_pBackingHeap->Release();
- }
- else
- {
- m_BackingResource.Destroy();
- }
-}
-
-size_t BuddyAllocator::AllocateBlock(UINT order)
-{
- size_t offset;
-
- if (order > m_maxOrder)
- {
- throw(std::bad_alloc()); // Can't allocate a block that large
- }
-
- auto it = m_freeBlocks[order].begin();
-
- if (it == m_freeBlocks[order].end())
- {
- // No free nodes in the requested pool. Try to find a higher-order block and split it.
- size_t left = AllocateBlock(order + 1);
-
- size_t size = OrderToUnitSize(order);
-
- size_t right = left + size;
-
- m_freeBlocks[order].insert(right); // Add the right block to the free pool
-
- offset = left; // Return the left block
- }
-
- else
- {
- offset = *it;
-
- // Remove the block from the free list
- m_freeBlocks[order].erase(it);
- }
-
- return offset;
-}
-
-void BuddyAllocator::DeallocateBlock(size_t offset, UINT order)
-{
- // See if the buddy block is free
- size_t size = OrderToUnitSize(order);
-
- size_t buddy = GetBuddyOffset(offset, size);
-
- auto it = m_freeBlocks[order].find(buddy);
-
- if (it != m_freeBlocks[order].end())
- {
- // Deallocate merged blocks
- DeallocateBlock(min(offset, buddy), order + 1);
- // Remove the buddy from the free list
- m_freeBlocks[order].erase(it);
- }
- else
- {
- // Add the block to the free list
- m_freeBlocks[order].insert(offset); // throw(std::bad_alloc)
- }
-}
-
-BuddyBlock* BuddyAllocator::Allocate(uint32_t numElements, uint32_t elementSize, const void* initialData)
-{
- size_t size = numElements * elementSize;
- size_t unitSize = SizeToUnitSize(size);
- UINT order = UnitSizeToOrder(unitSize);
-
- try
- {
- size_t offset = AllocateBlock(order);
- uint32_t paddedSize = uint32_t(OrderToUnitSize(order) * m_minBlockSize);
-
- uint32_t blockOffset = uint32_t(m_baseOffset + (offset * m_minBlockSize));
-
- INCREASE_BUDDY_COUNTER(m_SpaceUsed, paddedSize);
- INCREASE_BUDDY_COUNTER(m_InternalFragmentation, (paddedSize - size));
-
- BuddyBlock* pBlock = new BuddyBlock(blockOffset, //offset
- paddedSize, //total size (padded to fit a block)
- numElements * elementSize);
-
- if (m_allocationStrategy == kBuddyAllocationStrategy::kPlacedResourceStrategy)
- {
- pBlock->InitPlaced(m_pBackingHeap, numElements, elementSize, initialData);
- }
- else
- {
- //TODO: To be truely thread-safe this operation should be atomic to guard against
- // the case in which blocks from this allocator are used on multiple threads
- // (because it's really only 1 resource underneath)
- pBlock->InitFromResource(&m_BackingResource, numElements, elementSize, initialData);
- }
-
- return pBlock;
- }
-
- catch (std::bad_alloc&)
- {
- // There are no blocks available for the requested size so
- // return the NULL block type
- return new BuddyBlock();
- }
-}
-
-/*
-void BuddyAllocator::Deallocate(BuddyBlock* pBlock)
-{
- pBlock->m_fenceValue = g_CommandManager.GetNextFenceValue();
- m_deferredDeletionQueue.push(pBlock);
-}
-*/
-
-void BuddyAllocator::DeallocateInternal(BuddyBlock* pBlock)
-{
- ASSERT(IsOwner(*pBlock));
-
- size_t offset = SizeToUnitSize(pBlock->GetOffset() - m_baseOffset);
-
- size_t size = SizeToUnitSize(pBlock->GetSize());
-
- UINT order = UnitSizeToOrder(size);
-
- try
- {
- DeallocateBlock(offset, order); // throw(std::bad_alloc)
-
- DECREASE_BUDDY_COUNTER(m_SpaceUsed, size);
- DECREASE_BUDDY_COUNTER(m_InternalFragmentation, (size - pBlock->m_unpaddedSize));
-
- if (m_allocationStrategy == kBuddyAllocationStrategy::kPlacedResourceStrategy)
- {
- // Release the resource
- pBlock->Destroy();
- }
- delete(pBlock);
- }
-
- catch (std::bad_alloc&)
- {
- // Deallocate failed trying to add the free block to the pool
- // resulting in a leak. Unfortunately there is not much we can do.
- // Fortunately this is expected to be extremely rare as the storage
- // needed for each deallocate is very small.
- }
-};
-
-/*
-void BuddyAllocator::CleanUpAllocations()
-{
- while (m_deferredDeletionQueue.empty() == false &&
- g_CommandManager.IsFenceComplete(m_deferredDeletionQueue.front()->m_fenceValue))
- {
- BuddyBlock* pBlock = m_deferredDeletionQueue.front();
- m_deferredDeletionQueue.pop();
-
- DeallocateInternal(pBlock);
- }
-}*/
diff --git a/xess/samples/xess_demo/MiniEngine/Core/BuddyAllocator.h b/xess/samples/xess_demo/MiniEngine/Core/BuddyAllocator.h
deleted file mode 100644
index 926710e..0000000
--- a/xess/samples/xess_demo/MiniEngine/Core/BuddyAllocator.h
+++ /dev/null
@@ -1,149 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-// Developed by Minigraph
-//
-// Author: Jack Elliott.
-//
-// Allocates blocks from a fixed range using buddy allocation method.
-// Buddy allocation allows reasonably fast allocation of arbitrary size blocks
-// with minimal fragmentation and provides efficient reuse of freed ranges.
-// When a block is de-allocated an attempt is made to merge it with it's
-// neighbour (buddy) if it is contiguous and free.
-// Based on reference implementation by Bill Kristiansen
-//
-
-#pragma once
-
-#include "GpuBuffer.h"
-#include
-#include
-#include
-#include
-
-// Unfortunately the api restricts the minimum size of a placed buffer resource to 64k
-#define MIN_PLACED_BUFFER_SIZE (64 * 1024)
-
-#if defined(PROFILE) || defined(_DEBUG)
-#define INCREASE_BUDDY_COUNTER(A, B) (A = A + B);
-#define DECREASE_BUDDY_COUNTER(A, B) (A = A - B);
-#else
-#define INCREASE_BUDDY_COUNTER(A, B)
-#define DECREASE_BUDDY_COUNTER(A, B)
-#endif
-
-enum kBuddyAllocationStrategy
-{
- // This strategy uses Placed Resources to sub-allocate a buffer out of an underlying ID3D12Heap.
- // The benefit of this is that each buffer can have it's own resource state and can be treated
- // as any other buffer. The downside of this strategy is the API limitiation which enforces
- // the minimum buffer size to 64k leading to large internal fragmentation in the allocator
- kPlacedResourceStrategy,
- // The alternative is to manualy sub-allocate out of a single large buffer which allows block
- // allocation granularity down to 1 byte. However, this strategy is only really valid for buffers which
- // will be treated as read-only after their creation (i.e. most Index and Vertex buffers). This
- // is because the underlying resource can only have one state at a time.
- kManualSubAllocationStrategy
-};
-
-struct BuddyBlock
-{
- ByteAddressBuffer* m_pBuffer;
- ID3D12Heap* m_pBackingHeap;
-
- size_t m_offset;
- size_t m_size;
- size_t m_unpaddedSize;
- uint64_t m_fenceValue;
-
- inline size_t GetOffset() const { return m_offset; }
- inline size_t GetSize() const { return m_size; }
-
- BuddyBlock() : m_pBuffer(nullptr), m_pBackingHeap(nullptr), m_offset(0), m_size(0), m_unpaddedSize(0), m_fenceValue(0) {};
-
- BuddyBlock(uint32_t heapOffset, uint32_t totalSize, uint32_t unpaddedSize);
-
- void InitPlaced(ID3D12Heap* pBackingHeap, uint32_t numElements, uint32_t elementSize, const void* initialData = nullptr);
-
- void InitFromResource(ByteAddressBuffer* pBuffer, uint32_t numElements, uint32_t elementSize, const void* initialData = nullptr);
-
- void Destroy();
-};
-
-class BuddyAllocator
-{
-public:
-
- BuddyAllocator(kBuddyAllocationStrategy allocationStrategy, D3D12_HEAP_TYPE heapType, size_t maxBlockSize, size_t minBlockSize = MIN_PLACED_BUFFER_SIZE, size_t baseOffset = 0);
-
- void Initialize();
-
- void Destroy();
-
- BuddyBlock* Allocate(uint32_t numElements, uint32_t elementSize, const void* initialData = nullptr);
-
- void Deallocate(BuddyBlock* pBlock);
-
- inline bool IsOwner(const BuddyBlock &block)
- {
- return block.GetOffset() >= m_baseOffset && block.GetSize() <= m_maxBlockSize;
- }
-
- inline void Reset()
- {
- // Clear the free blocks collection
- m_freeBlocks.clear();
-
- // Initialize the pool with a free inner block of max inner block size
- m_freeBlocks.resize(m_maxOrder + 1);
- m_freeBlocks[m_maxOrder].insert((size_t)0);
- }
-
- void CleanUpAllocations();
-
-private:
- ID3D12Heap* m_pBackingHeap;
- ByteAddressBuffer m_BackingResource;
-
- const D3D12_HEAP_TYPE m_heapType;
-
- std::queue m_deferredDeletionQueue;
- std::vector> m_freeBlocks;
- UINT m_maxOrder;
- const size_t m_baseOffset;
- const size_t m_maxBlockSize;
- const size_t m_minBlockSize;
-
- const kBuddyAllocationStrategy m_allocationStrategy;
-
- inline size_t SizeToUnitSize(size_t size) const
- {
- return (size + (m_minBlockSize - 1)) / m_minBlockSize;
- }
-
- inline UINT UnitSizeToOrder(size_t size) const
- {
- return Math::Log2(size); // Log2 rounds up fractions to next whole value
- }
-
- inline size_t GetBuddyOffset(const size_t &offset, const size_t &size)
- {
- return offset ^ size;
- }
-
- void DeallocateInternal(BuddyBlock* pBlock);
-
- size_t OrderToUnitSize(UINT order) const { return ((size_t)1) << order; }
- size_t AllocateBlock(UINT order);
- void DeallocateBlock(size_t offset, UINT order);
-
-#if defined(PROFILE) || defined(_DEBUG)
- size_t m_SpaceUsed;
- size_t m_InternalFragmentation;
-#endif
-};
diff --git a/xess/samples/xess_demo/MiniEngine/Core/BufferManager.cpp b/xess/samples/xess_demo/MiniEngine/Core/BufferManager.cpp
deleted file mode 100644
index f1432c6..0000000
--- a/xess/samples/xess_demo/MiniEngine/Core/BufferManager.cpp
+++ /dev/null
@@ -1,380 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-// Developed by Minigraph
-//
-// Author: James Stanard
-//
-
-// Modified 2022, Intel Corporation.
-// Added support for super sampling.
-
-#include "pch.h"
-#include "BufferManager.h"
-#include "Display.h"
-#include "CommandContext.h"
-#include "EsramAllocator.h"
-#include "TemporalEffects.h"
-#include "IExtraRenderingBuffers.h"
-
-namespace Graphics
-{
- DepthBuffer g_SceneDepthBuffer;
- ColorBuffer g_SceneColorBuffer;
- ColorBuffer g_UpscaledSceneColorBuffer;
- ColorBuffer g_SceneNormalBuffer;
- ColorBuffer g_PostEffectsBuffer;
- ColorBuffer g_VelocityBuffer;
- ColorBuffer g_UpscaledVelocityBuffer;
- ColorBuffer g_OverlayBuffer;
- ColorBuffer g_HorizontalBuffer;
- ColorBuffer g_ResponsiveMaskBuffer;
-
- ShadowBuffer g_ShadowBuffer;
-
- ColorBuffer g_SSAOFullScreen(Color(1.0f, 1.0f, 1.0f));
- ColorBuffer g_LinearDepth[2];
- ColorBuffer g_MinMaxDepth8;
- ColorBuffer g_MinMaxDepth16;
- ColorBuffer g_MinMaxDepth32;
- ColorBuffer g_DepthDownsize1;
- ColorBuffer g_DepthDownsize2;
- ColorBuffer g_DepthDownsize3;
- ColorBuffer g_DepthDownsize4;
- ColorBuffer g_DepthTiled1;
- ColorBuffer g_DepthTiled2;
- ColorBuffer g_DepthTiled3;
- ColorBuffer g_DepthTiled4;
- ColorBuffer g_AOMerged1;
- ColorBuffer g_AOMerged2;
- ColorBuffer g_AOMerged3;
- ColorBuffer g_AOMerged4;
- ColorBuffer g_AOSmooth1;
- ColorBuffer g_AOSmooth2;
- ColorBuffer g_AOSmooth3;
- ColorBuffer g_AOHighQuality1;
- ColorBuffer g_AOHighQuality2;
- ColorBuffer g_AOHighQuality3;
- ColorBuffer g_AOHighQuality4;
-
- ColorBuffer g_DoFTileClass[2];
- ColorBuffer g_DoFPresortBuffer;
- ColorBuffer g_DoFPrefilter;
- ColorBuffer g_DoFBlurColor[2];
- ColorBuffer g_DoFBlurAlpha[2];
- StructuredBuffer g_DoFWorkQueue;
- StructuredBuffer g_DoFFastQueue;
- StructuredBuffer g_DoFFixupQueue;
-
- ColorBuffer g_MotionPrepBuffer;
- ColorBuffer g_LumaBuffer;
- ColorBuffer g_TemporalColor[2];
- ColorBuffer g_TemporalMinBound;
- ColorBuffer g_TemporalMaxBound;
- ColorBuffer g_aBloomUAV1[2]; // 640x384 (1/3)
- ColorBuffer g_aBloomUAV2[2]; // 320x192 (1/6)
- ColorBuffer g_aBloomUAV3[2]; // 160x96 (1/12)
- ColorBuffer g_aBloomUAV4[2]; // 80x48 (1/24)
- ColorBuffer g_aBloomUAV5[2]; // 40x24 (1/48)
- ColorBuffer g_LumaLR;
- ByteAddressBuffer g_Histogram;
- ByteAddressBuffer g_FXAAWorkQueue;
- TypedBuffer g_FXAAColorQueue(DXGI_FORMAT_R11G11B10_FLOAT);
-
- // For testing GenerateMipMaps()
- ColorBuffer g_GenMipsBuffer;
-
- DXGI_FORMAT DefaultHdrColorFormat = DXGI_FORMAT_R11G11B10_FLOAT;
-}
-
-#define T2X_COLOR_FORMAT DXGI_FORMAT_R10G10B10A2_UNORM
-#define HDR_MOTION_FORMAT DXGI_FORMAT_R16G16B16A16_FLOAT
-#define DSV_FORMAT DXGI_FORMAT_D32_FLOAT
-
-void Graphics::InitializeRenderingBuffers( uint32_t bufferWidth, uint32_t bufferHeight )
-{
- GraphicsContext& InitContext = GraphicsContext::Begin();
-
- bool upscalingMode = Graphics::IsUpscalingEnabled();
-
- const uint32_t bufferWidth1 = (bufferWidth + 1) / 2;
- const uint32_t bufferWidth2 = (bufferWidth + 3) / 4;
- const uint32_t bufferWidth3 = (bufferWidth + 7) / 8;
- const uint32_t bufferWidth4 = (bufferWidth + 15) / 16;
- const uint32_t bufferWidth5 = (bufferWidth + 31) / 32;
- const uint32_t bufferWidth6 = (bufferWidth + 63) / 64;
- const uint32_t bufferHeight1 = (bufferHeight + 1) / 2;
- const uint32_t bufferHeight2 = (bufferHeight + 3) / 4;
- const uint32_t bufferHeight3 = (bufferHeight + 7) / 8;
- const uint32_t bufferHeight4 = (bufferHeight + 15) / 16;
- const uint32_t bufferHeight5 = (bufferHeight + 31) / 32;
- const uint32_t bufferHeight6 = (bufferHeight + 63) / 64;
-
- EsramAllocator esram;
-
- esram.PushStack();
-
- g_SceneColorBuffer.Create( L"Main Color Buffer", bufferWidth, bufferHeight, 1, DefaultHdrColorFormat, esram );
- g_SceneNormalBuffer.Create( L"Normals Buffer", bufferWidth, bufferHeight, 1, DXGI_FORMAT_R16G16B16A16_FLOAT, esram );
- g_VelocityBuffer.Create( L"Motion Vectors", bufferWidth, bufferHeight, 1, DXGI_FORMAT_R32_UINT );
- g_ResponsiveMaskBuffer.Create(L"Responsive Mask", bufferWidth, bufferHeight, 1, DXGI_FORMAT_R8_UNORM);
-
- if (upscalingMode)
- {
- g_UpscaledSceneColorBuffer.Create(L"Main Color Buffer - Upscaled", g_DisplayWidth, g_DisplayHeight, 1, DefaultHdrColorFormat);
- g_UpscaledVelocityBuffer.Create(L"Motion Vectors - Upscaled", g_DisplayWidth, g_DisplayHeight, 1, DXGI_FORMAT_R16G16_FLOAT);
- g_PostEffectsBuffer.Create( L"Post Effects Buffer - Upscaled", g_DisplayWidth, g_DisplayHeight, 1, DXGI_FORMAT_R32_UINT );
- }
- else
- {
- g_PostEffectsBuffer.Create(L"Post Effects Buffer", bufferWidth, bufferHeight, 1, DXGI_FORMAT_R32_UINT);
- }
-
- esram.PushStack(); // Render HDR image
-
- g_LinearDepth[0].Create( L"Linear Depth 0", bufferWidth, bufferHeight, 1, DXGI_FORMAT_R16_UNORM );
- g_LinearDepth[1].Create( L"Linear Depth 1", bufferWidth, bufferHeight, 1, DXGI_FORMAT_R16_UNORM );
- g_MinMaxDepth8.Create(L"MinMaxDepth 8x8", bufferWidth3, bufferHeight3, 1, DXGI_FORMAT_R32_UINT, esram );
- g_MinMaxDepth16.Create(L"MinMaxDepth 16x16", bufferWidth4, bufferHeight4, 1, DXGI_FORMAT_R32_UINT, esram );
- g_MinMaxDepth32.Create(L"MinMaxDepth 32x32", bufferWidth5, bufferHeight5, 1, DXGI_FORMAT_R32_UINT, esram );
-
- g_SceneDepthBuffer.Create( L"Scene Depth Buffer", bufferWidth, bufferHeight, DSV_FORMAT, esram );
-
- esram.PushStack(); // Begin opaque geometry
-
- esram.PushStack(); // Begin Shading
-
- g_SSAOFullScreen.Create( L"SSAO Full Res", bufferWidth, bufferHeight, 1, DXGI_FORMAT_R8_UNORM );
-
- esram.PushStack(); // Begin generating SSAO
- g_DepthDownsize1.Create( L"Depth Down-Sized 1", bufferWidth1, bufferHeight1, 1, DXGI_FORMAT_R32_FLOAT, esram );
- g_DepthDownsize2.Create( L"Depth Down-Sized 2", bufferWidth2, bufferHeight2, 1, DXGI_FORMAT_R32_FLOAT, esram );
- g_DepthDownsize3.Create( L"Depth Down-Sized 3", bufferWidth3, bufferHeight3, 1, DXGI_FORMAT_R32_FLOAT, esram );
- g_DepthDownsize4.Create( L"Depth Down-Sized 4", bufferWidth4, bufferHeight4, 1, DXGI_FORMAT_R32_FLOAT, esram );
- g_DepthTiled1.CreateArray( L"Depth De-Interleaved 1", bufferWidth3, bufferHeight3, 16, DXGI_FORMAT_R16_FLOAT, esram );
- g_DepthTiled2.CreateArray( L"Depth De-Interleaved 2", bufferWidth4, bufferHeight4, 16, DXGI_FORMAT_R16_FLOAT, esram );
- g_DepthTiled3.CreateArray( L"Depth De-Interleaved 3", bufferWidth5, bufferHeight5, 16, DXGI_FORMAT_R16_FLOAT, esram );
- g_DepthTiled4.CreateArray( L"Depth De-Interleaved 4", bufferWidth6, bufferHeight6, 16, DXGI_FORMAT_R16_FLOAT, esram );
- g_AOMerged1.Create( L"AO Re-Interleaved 1", bufferWidth1, bufferHeight1, 1, DXGI_FORMAT_R8_UNORM, esram );
- g_AOMerged2.Create( L"AO Re-Interleaved 2", bufferWidth2, bufferHeight2, 1, DXGI_FORMAT_R8_UNORM, esram );
- g_AOMerged3.Create( L"AO Re-Interleaved 3", bufferWidth3, bufferHeight3, 1, DXGI_FORMAT_R8_UNORM, esram );
- g_AOMerged4.Create( L"AO Re-Interleaved 4", bufferWidth4, bufferHeight4, 1, DXGI_FORMAT_R8_UNORM, esram );
- g_AOSmooth1.Create( L"AO Smoothed 1", bufferWidth1, bufferHeight1, 1, DXGI_FORMAT_R8_UNORM, esram );
- g_AOSmooth2.Create( L"AO Smoothed 2", bufferWidth2, bufferHeight2, 1, DXGI_FORMAT_R8_UNORM, esram );
- g_AOSmooth3.Create( L"AO Smoothed 3", bufferWidth3, bufferHeight3, 1, DXGI_FORMAT_R8_UNORM, esram );
- g_AOHighQuality1.Create( L"AO High Quality 1", bufferWidth1, bufferHeight1, 1, DXGI_FORMAT_R8_UNORM, esram );
- g_AOHighQuality2.Create( L"AO High Quality 2", bufferWidth2, bufferHeight2, 1, DXGI_FORMAT_R8_UNORM, esram );
- g_AOHighQuality3.Create( L"AO High Quality 3", bufferWidth3, bufferHeight3, 1, DXGI_FORMAT_R8_UNORM, esram );
- g_AOHighQuality4.Create( L"AO High Quality 4", bufferWidth4, bufferHeight4, 1, DXGI_FORMAT_R8_UNORM, esram );
- esram.PopStack(); // End generating SSAO
-
- g_ShadowBuffer.Create( L"Shadow Map", 2048, 2048, esram );
-
- esram.PopStack(); // End Shading
-
- esram.PushStack(); // Begin depth of field
- g_DoFTileClass[0].Create(L"DoF Tile Classification Buffer 0", bufferWidth4, bufferHeight4, 1, DXGI_FORMAT_R11G11B10_FLOAT);
- g_DoFTileClass[1].Create(L"DoF Tile Classification Buffer 1", bufferWidth4, bufferHeight4, 1, DXGI_FORMAT_R11G11B10_FLOAT);
-
- g_DoFPresortBuffer.Create(L"DoF Presort Buffer", bufferWidth1, bufferHeight1, 1, DXGI_FORMAT_R11G11B10_FLOAT, esram );
- g_DoFPrefilter.Create(L"DoF PreFilter Buffer", bufferWidth1, bufferHeight1, 1, DXGI_FORMAT_R11G11B10_FLOAT, esram );
- g_DoFBlurColor[0].Create(L"DoF Blur Color", bufferWidth1, bufferHeight1, 1, DXGI_FORMAT_R11G11B10_FLOAT, esram );
- g_DoFBlurColor[1].Create(L"DoF Blur Color", bufferWidth1, bufferHeight1, 1, DXGI_FORMAT_R11G11B10_FLOAT, esram );
- g_DoFBlurAlpha[0].Create(L"DoF FG Alpha", bufferWidth1, bufferHeight1, 1, DXGI_FORMAT_R8_UNORM, esram );
- g_DoFBlurAlpha[1].Create(L"DoF FG Alpha", bufferWidth1, bufferHeight1, 1, DXGI_FORMAT_R8_UNORM, esram );
- g_DoFWorkQueue.Create(L"DoF Work Queue", bufferWidth4 * bufferHeight4, 4, esram );
- g_DoFFastQueue.Create(L"DoF Fast Queue", bufferWidth4 * bufferHeight4, 4, esram );
- g_DoFFixupQueue.Create(L"DoF Fixup Queue", bufferWidth4 * bufferHeight4, 4, esram );
- esram.PopStack(); // End depth of field
-
- g_TemporalColor[0].Create( L"Temporal Color 0", bufferWidth, bufferHeight, 1, DXGI_FORMAT_R16G16B16A16_FLOAT);
- g_TemporalColor[1].Create( L"Temporal Color 1", bufferWidth, bufferHeight, 1, DXGI_FORMAT_R16G16B16A16_FLOAT);
- TemporalEffects::ClearHistory(InitContext);
-
- g_TemporalMinBound.Create( L"Temporal Min Color", bufferWidth, bufferHeight, 1, DXGI_FORMAT_R11G11B10_FLOAT);
- g_TemporalMaxBound.Create( L"Temporal Max Color", bufferWidth, bufferHeight, 1, DXGI_FORMAT_R11G11B10_FLOAT);
-
- esram.PushStack(); // Begin motion blur
-
- if (upscalingMode)
- {
- g_MotionPrepBuffer.Create(L"Motion Blur Prep - Upscaled", (g_DisplayWidth + 1) / 2, (g_DisplayHeight + 1) / 2, 1, HDR_MOTION_FORMAT, esram);
- }
- else
- {
- g_MotionPrepBuffer.Create(L"Motion Blur Prep", bufferWidth1, bufferHeight1, 1, HDR_MOTION_FORMAT, esram);
- }
-
- esram.PopStack(); // End motion blur
-
- esram.PopStack(); // End opaque geometry
-
- esram.PopStack(); // End HDR image
-
- esram.PushStack(); // Begin post processing
-
- // This is useful for storing per-pixel weights such as motion strength or pixel luminance
- if (upscalingMode)
- {
- g_LumaBuffer.Create( L"Luminance - Upscaled", g_DisplayWidth, g_DisplayHeight, 1, DXGI_FORMAT_R8_UNORM, esram );
- }
- else
- {
- g_LumaBuffer.Create(L"Luminance", bufferWidth, bufferHeight, 1, DXGI_FORMAT_R8_UNORM, esram);
- }
-
- g_Histogram.Create( L"Histogram", 256, 4, esram );
-
- // Divisible by 128 so that after dividing by 16, we still have multiples of 8x8 tiles. The bloom
- // dimensions must be at least 1/4 native resolution to avoid undersampling.
- //uint32_t kBloomWidth = bufferWidth > 2560 ? Math::AlignUp(bufferWidth / 4, 128) : 640;
- //uint32_t kBloomHeight = bufferHeight > 1440 ? Math::AlignUp(bufferHeight / 4, 128) : 384;
-
- uint32_t kBloomWidth;
- uint32_t kBloomHeight;
-
- if (upscalingMode)
- {
- kBloomWidth = g_DisplayWidth > 2560 ? 1280 : 640;
- kBloomHeight = g_DisplayHeight > 1440 ? 768 : 384;
- }
- else
- {
- kBloomWidth = bufferWidth > 2560 ? 1280 : 640;
- kBloomHeight = bufferHeight > 1440 ? 768 : 384;
- }
-
- esram.PushStack(); // Begin bloom and tone mapping
- g_LumaLR.Create( L"Luma Buffer", kBloomWidth, kBloomHeight, 1, DXGI_FORMAT_R8_UINT, esram );
- g_aBloomUAV1[0].Create( L"Bloom Buffer 1a", kBloomWidth, kBloomHeight, 1, DefaultHdrColorFormat, esram );
- g_aBloomUAV1[1].Create( L"Bloom Buffer 1b", kBloomWidth, kBloomHeight, 1, DefaultHdrColorFormat, esram);
- g_aBloomUAV2[0].Create( L"Bloom Buffer 2a", kBloomWidth/2, kBloomHeight/2, 1, DefaultHdrColorFormat, esram );
- g_aBloomUAV2[1].Create( L"Bloom Buffer 2b", kBloomWidth/2, kBloomHeight/2, 1, DefaultHdrColorFormat, esram );
- g_aBloomUAV3[0].Create( L"Bloom Buffer 3a", kBloomWidth/4, kBloomHeight/4, 1, DefaultHdrColorFormat, esram );
- g_aBloomUAV3[1].Create( L"Bloom Buffer 3b", kBloomWidth/4, kBloomHeight/4, 1, DefaultHdrColorFormat, esram );
- g_aBloomUAV4[0].Create( L"Bloom Buffer 4a", kBloomWidth/8, kBloomHeight/8, 1, DefaultHdrColorFormat, esram );
- g_aBloomUAV4[1].Create( L"Bloom Buffer 4b", kBloomWidth/8, kBloomHeight/8, 1, DefaultHdrColorFormat, esram );
- g_aBloomUAV5[0].Create( L"Bloom Buffer 5a", kBloomWidth/16, kBloomHeight/16, 1, DefaultHdrColorFormat, esram );
- g_aBloomUAV5[1].Create( L"Bloom Buffer 5b", kBloomWidth/16, kBloomHeight/16, 1, DefaultHdrColorFormat, esram );
- esram.PopStack(); // End tone mapping
-
- esram.PushStack(); // Begin antialiasing
- const uint32_t kFXAAWorkSize = bufferWidth * bufferHeight / 4 + 128;
- g_FXAAWorkQueue.Create( L"FXAA Work Queue", kFXAAWorkSize, sizeof(uint32_t), esram );
- g_FXAAColorQueue.Create( L"FXAA Color Queue", kFXAAWorkSize, sizeof(uint32_t), esram );
- esram.PopStack(); // End antialiasing
-
- esram.PopStack(); // End post processing
-
- esram.PushStack(); // GenerateMipMaps() test
- g_GenMipsBuffer.Create(L"GenMips", bufferWidth, bufferHeight, 0, DXGI_FORMAT_R11G11B10_FLOAT, esram );
- esram.PopStack();
-
- g_OverlayBuffer.Create( L"UI Overlay", g_DisplayWidth, g_DisplayHeight, 1, DXGI_FORMAT_R8G8B8A8_UNORM, esram );
- g_HorizontalBuffer.Create( L"Bicubic Intermediate", g_DisplayWidth, bufferHeight, 1, DefaultHdrColorFormat, esram );
-
- IExtraRenderingBuffersHandler* extraBufferHandler = GetExtraRenderingBuffersHandler();
- if (extraBufferHandler)
- {
- extraBufferHandler->InitializeBuffers(bufferWidth, bufferHeight, g_DisplayWidth, g_DisplayHeight);
- }
-
- esram.PopStack(); // End final image
-
- InitContext.Finish();
-}
-
-void Graphics::ResizeDisplayDependentBuffers(uint32_t NativeWidth, uint32_t NativeHeight)
-{
- (NativeWidth);
- g_OverlayBuffer.Create( L"UI Overlay", g_DisplayWidth, g_DisplayHeight, 1, DXGI_FORMAT_R8G8B8A8_UNORM );
- g_HorizontalBuffer.Create( L"Bicubic Intermediate", g_DisplayWidth, NativeHeight, 1, DefaultHdrColorFormat );
-}
-
-void Graphics::DestroyRenderingBuffers()
-{
- IExtraRenderingBuffersHandler* extraBufferHandler = GetExtraRenderingBuffersHandler();
- if (extraBufferHandler)
- {
- extraBufferHandler->DestroyRenderingBuffers();
- }
-
- g_UpscaledVelocityBuffer.Destroy();
- g_UpscaledSceneColorBuffer.Destroy();
- g_SceneDepthBuffer.Destroy();
- g_SceneColorBuffer.Destroy();
- g_SceneNormalBuffer.Destroy();
- g_VelocityBuffer.Destroy();
- g_OverlayBuffer.Destroy();
- g_HorizontalBuffer.Destroy();
- g_PostEffectsBuffer.Destroy();
- g_ResponsiveMaskBuffer.Destroy();
-
- g_ShadowBuffer.Destroy();
-
- g_SSAOFullScreen.Destroy();
- g_LinearDepth[0].Destroy();
- g_LinearDepth[1].Destroy();
- g_MinMaxDepth8.Destroy();
- g_MinMaxDepth16.Destroy();
- g_MinMaxDepth32.Destroy();
- g_DepthDownsize1.Destroy();
- g_DepthDownsize2.Destroy();
- g_DepthDownsize3.Destroy();
- g_DepthDownsize4.Destroy();
- g_DepthTiled1.Destroy();
- g_DepthTiled2.Destroy();
- g_DepthTiled3.Destroy();
- g_DepthTiled4.Destroy();
- g_AOMerged1.Destroy();
- g_AOMerged2.Destroy();
- g_AOMerged3.Destroy();
- g_AOMerged4.Destroy();
- g_AOSmooth1.Destroy();
- g_AOSmooth2.Destroy();
- g_AOSmooth3.Destroy();
- g_AOHighQuality1.Destroy();
- g_AOHighQuality2.Destroy();
- g_AOHighQuality3.Destroy();
- g_AOHighQuality4.Destroy();
-
- g_DoFTileClass[0].Destroy();
- g_DoFTileClass[1].Destroy();
- g_DoFPresortBuffer.Destroy();
- g_DoFPrefilter.Destroy();
- g_DoFBlurColor[0].Destroy();
- g_DoFBlurColor[1].Destroy();
- g_DoFBlurAlpha[0].Destroy();
- g_DoFBlurAlpha[1].Destroy();
- g_DoFWorkQueue.Destroy();
- g_DoFFastQueue.Destroy();
- g_DoFFixupQueue.Destroy();
-
- g_MotionPrepBuffer.Destroy();
- g_LumaBuffer.Destroy();
- g_TemporalColor[0].Destroy();
- g_TemporalColor[1].Destroy();
- g_TemporalMinBound.Destroy();
- g_TemporalMaxBound.Destroy();
- g_aBloomUAV1[0].Destroy();
- g_aBloomUAV1[1].Destroy();
- g_aBloomUAV2[0].Destroy();
- g_aBloomUAV2[1].Destroy();
- g_aBloomUAV3[0].Destroy();
- g_aBloomUAV3[1].Destroy();
- g_aBloomUAV4[0].Destroy();
- g_aBloomUAV4[1].Destroy();
- g_aBloomUAV5[0].Destroy();
- g_aBloomUAV5[1].Destroy();
- g_LumaLR.Destroy();
- g_Histogram.Destroy();
- g_FXAAWorkQueue.Destroy();
- g_FXAAColorQueue.Destroy();
-
- g_GenMipsBuffer.Destroy();
-}
diff --git a/xess/samples/xess_demo/MiniEngine/Core/BufferManager.h b/xess/samples/xess_demo/MiniEngine/Core/BufferManager.h
deleted file mode 100644
index e772d64..0000000
--- a/xess/samples/xess_demo/MiniEngine/Core/BufferManager.h
+++ /dev/null
@@ -1,95 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-// Developed by Minigraph
-//
-// Author: James Stanard
-//
-
-// Modified 2022, Intel Corporation.
-// Added support for super sampling.
-
-#pragma once
-
-#include "ColorBuffer.h"
-#include "DepthBuffer.h"
-#include "ShadowBuffer.h"
-#include "GpuBuffer.h"
-#include "GraphicsCore.h"
-
-namespace Graphics
-{
- extern DepthBuffer g_SceneDepthBuffer; // D32_FLOAT_S8_UINT
- extern ColorBuffer g_SceneColorBuffer; // R11G11B10_FLOAT
- extern ColorBuffer g_UpscaledSceneColorBuffer; // R11G11B10_FLOAT
- extern ColorBuffer g_SceneNormalBuffer; // R16G16B16A16_FLOAT
- extern ColorBuffer g_PostEffectsBuffer; // R32_UINT (to support Read-Modify-Write with a UAV)
- extern ColorBuffer g_OverlayBuffer; // R8G8B8A8_UNORM
- extern ColorBuffer g_HorizontalBuffer; // For separable (bicubic) upsampling
-
- extern ColorBuffer g_ResponsiveMaskBuffer; // DXGI_FORMAT_R8_UNORM
-
- extern ColorBuffer g_VelocityBuffer; // R10G10B10 (3D velocity)
- extern ColorBuffer g_UpscaledVelocityBuffer; // DXGI_FORMAT_R16G16_FLOAT
- extern ShadowBuffer g_ShadowBuffer;
-
- extern ColorBuffer g_SSAOFullScreen; // R8_UNORM
- extern ColorBuffer g_LinearDepth[2]; // Normalized planar distance (0 at eye, 1 at far plane) computed from the SceneDepthBuffer
- extern ColorBuffer g_MinMaxDepth8; // Min and max depth values of 8x8 tiles
- extern ColorBuffer g_MinMaxDepth16; // Min and max depth values of 16x16 tiles
- extern ColorBuffer g_MinMaxDepth32; // Min and max depth values of 16x16 tiles
- extern ColorBuffer g_DepthDownsize1;
- extern ColorBuffer g_DepthDownsize2;
- extern ColorBuffer g_DepthDownsize3;
- extern ColorBuffer g_DepthDownsize4;
- extern ColorBuffer g_DepthTiled1;
- extern ColorBuffer g_DepthTiled2;
- extern ColorBuffer g_DepthTiled3;
- extern ColorBuffer g_DepthTiled4;
- extern ColorBuffer g_AOMerged1;
- extern ColorBuffer g_AOMerged2;
- extern ColorBuffer g_AOMerged3;
- extern ColorBuffer g_AOMerged4;
- extern ColorBuffer g_AOSmooth1;
- extern ColorBuffer g_AOSmooth2;
- extern ColorBuffer g_AOSmooth3;
- extern ColorBuffer g_AOHighQuality1;
- extern ColorBuffer g_AOHighQuality2;
- extern ColorBuffer g_AOHighQuality3;
- extern ColorBuffer g_AOHighQuality4;
-
- extern ColorBuffer g_DoFTileClass[2];
- extern ColorBuffer g_DoFPresortBuffer;
- extern ColorBuffer g_DoFPrefilter;
- extern ColorBuffer g_DoFBlurColor[2];
- extern ColorBuffer g_DoFBlurAlpha[2];
- extern StructuredBuffer g_DoFWorkQueue;
- extern StructuredBuffer g_DoFFastQueue;
- extern StructuredBuffer g_DoFFixupQueue;
-
- extern ColorBuffer g_MotionPrepBuffer; // R10G10B10A2
- extern ColorBuffer g_LumaBuffer;
- extern ColorBuffer g_TemporalColor[2];
- extern ColorBuffer g_TemporalMinBound;
- extern ColorBuffer g_TemporalMaxBound;
-
- extern ColorBuffer g_aBloomUAV1[2]; // 640x384 (1/3)
- extern ColorBuffer g_aBloomUAV2[2]; // 320x192 (1/6)
- extern ColorBuffer g_aBloomUAV3[2]; // 160x96 (1/12)
- extern ColorBuffer g_aBloomUAV4[2]; // 80x48 (1/24)
- extern ColorBuffer g_aBloomUAV5[2]; // 40x24 (1/48)
- extern ColorBuffer g_LumaLR;
- extern ByteAddressBuffer g_Histogram;
- extern ByteAddressBuffer g_FXAAWorkQueue;
- extern TypedBuffer g_FXAAColorQueue;
-
- void InitializeRenderingBuffers(uint32_t NativeWidth, uint32_t NativeHeight );
- void ResizeDisplayDependentBuffers(uint32_t NativeWidth, uint32_t NativeHeight);
- void DestroyRenderingBuffers();
-
-} // namespace Graphics
diff --git a/xess/samples/xess_demo/MiniEngine/Core/Camera.cpp b/xess/samples/xess_demo/MiniEngine/Core/Camera.cpp
deleted file mode 100644
index dbfc8c2..0000000
--- a/xess/samples/xess_demo/MiniEngine/Core/Camera.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-// Developed by Minigraph
-//
-// Author: James Stanard
-//
-
-// Modified 2022, Intel Corporation.
-// Added support for camera jitter.
-
-#include "pch.h"
-#include "Camera.h"
-#include
-
-using namespace Math;
-
-void BaseCamera::SetLookDirection( Vector3 forward, Vector3 up )
-{
- // Given, but ensure normalization
- Scalar forwardLenSq = LengthSquare(forward);
- forward = Select(forward * RecipSqrt(forwardLenSq), -Vector3(kZUnitVector), forwardLenSq < Scalar(0.000001f));
-
- // Deduce a valid, orthogonal right vector
- Vector3 right = Cross(forward, up);
- Scalar rightLenSq = LengthSquare(right);
- right = Select(right * RecipSqrt(rightLenSq), Quaternion(Vector3(kYUnitVector), -XM_PIDIV2) * forward, rightLenSq < Scalar(0.000001f));
-
- // Compute actual up vector
- up = Cross(right, forward);
-
- // Finish constructing basis
- m_Basis = Matrix3(right, up, -forward);
- m_CameraToWorld.SetRotation(Quaternion(m_Basis));
-}
-
-void BaseCamera::Update()
-{
- // Jitter is used in the projection matrix calculation, but jitter should not affect the re-projection between frames.
- m_PreviousViewProjMatrix = m_ViewProjMatrixNoJitter;
-
- m_ViewMatrix = Matrix4(~m_CameraToWorld);
- m_ViewProjMatrix = m_ProjMatrix * m_ViewMatrix;
-
- // We use "*NoJitter" version of matrices for velocity buffer calculation.
- m_ViewProjMatrixNoJitter = m_ProjMatrixNoJitter * m_ViewMatrix;
- m_ReprojectMatrix = m_PreviousViewProjMatrix * Invert(m_ViewProjMatrixNoJitter);
-
- m_FrustumVS = Frustum( m_ProjMatrix );
- m_FrustumWS = m_CameraToWorld * m_FrustumVS;
-}
-
-
-void Camera::UpdateProjMatrix( void )
-{
- float Y = 1.0f / std::tanf( m_VerticalFOV * 0.5f );
- float X = Y * m_AspectRatio;
-
- float Q1, Q2;
-
- // ReverseZ puts far plane at Z=0 and near plane at Z=1. This is never a bad idea, and it's
- // actually a great idea with F32 depth buffers to redistribute precision more evenly across
- // the entire range. It requires clearing Z to 0.0f and using a GREATER variant depth test.
- // Some care must also be done to properly reconstruct linear W in a pixel shader from hyperbolic Z.
- if (m_ReverseZ)
- {
- if (m_InfiniteZ)
- {
- Q1 = 0.0f;
- Q2 = m_NearClip;
- }
- else
- {
- Q1 = m_NearClip / (m_FarClip - m_NearClip);
- Q2 = Q1 * m_FarClip;
- }
- }
- else
- {
- if (m_InfiniteZ)
- {
- Q1 = -1.0f;
- Q2 = -m_NearClip;
- }
- else
- {
- Q1 = m_FarClip / (m_NearClip - m_FarClip);
- Q2 = Q1 * m_NearClip;
- }
- }
-
- SetProjMatrix( Matrix4(
- Vector4( X, 0.0f, 0.0f, 0.0f ),
- Vector4( 0.0f, Y, 0.0f, 0.0f ),
- Vector4( 0.0f, 0.0f, Q1, -1.0f ),
- Vector4( 0.0f, 0.0f, Q2, 0.0f )
- ) );
-}
-
-void Camera::SetProjectMatrixJitter(float ProjectionJitterX, float ProjectionJitterY)
-{
- Vector4 vec = m_ProjMatrix.GetZ();
- vec.SetX(ProjectionJitterX);
- vec.SetY(ProjectionJitterY);
-
- m_ProjMatrix.SetZ(vec);
-}
diff --git a/xess/samples/xess_demo/MiniEngine/Core/Camera.h b/xess/samples/xess_demo/MiniEngine/Core/Camera.h
deleted file mode 100644
index c7defb0..0000000
--- a/xess/samples/xess_demo/MiniEngine/Core/Camera.h
+++ /dev/null
@@ -1,181 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-// Developed by Minigraph
-//
-// Author: James Stanard
-//
-
-// Modified 2022, Intel Corporation.
-// Added support for camera jitter.
-
-#pragma once
-
-#include "VectorMath.h"
-#include "Math/Frustum.h"
-
-namespace Math
-{
- class BaseCamera
- {
- public:
-
- // Call this function once per frame and after you've changed any state. This
- // regenerates all matrices. Calling it more or less than once per frame will break
- // temporal effects and cause unpredictable results.
- void Update();
-
- // Public functions for controlling where the camera is and its orientation
- void SetEyeAtUp( Vector3 eye, Vector3 at, Vector3 up );
- void SetLookDirection( Vector3 forward, Vector3 up );
- void SetRotation( Quaternion basisRotation );
- void SetPosition( Vector3 worldPos );
- void SetTransform( const AffineTransform& xform );
- void SetTransform( const OrthogonalTransform& xform );
-
- const Quaternion GetRotation() const { return m_CameraToWorld.GetRotation(); }
- const Vector3 GetRightVec() const { return m_Basis.GetX(); }
- const Vector3 GetUpVec() const { return m_Basis.GetY(); }
- const Vector3 GetForwardVec() const { return -m_Basis.GetZ(); }
- const Vector3 GetPosition() const { return m_CameraToWorld.GetTranslation(); }
-
- // Accessors for reading the various matrices and frusta
- const Matrix4& GetViewMatrix() const { return m_ViewMatrix; }
- const Matrix4& GetProjMatrix() const { return m_ProjMatrix; }
- const Matrix4& GetViewProjMatrix() const { return m_ViewProjMatrix; }
- const Matrix4& GetReprojectionMatrix() const { return m_ReprojectMatrix; }
- const Frustum& GetViewSpaceFrustum() const { return m_FrustumVS; }
- const Frustum& GetWorldSpaceFrustum() const { return m_FrustumWS; }
-
- protected:
-
- BaseCamera() :
- m_CameraToWorld(kIdentity),
- m_Basis(kIdentity),
- m_ViewMatrix(kIdentity),
- m_ProjMatrix(kIdentity),
- m_ViewProjMatrix(kIdentity),
- m_ProjMatrixNoJitter(kIdentity),
- m_ViewProjMatrixNoJitter(kIdentity),
- m_PreviousViewProjMatrix(kIdentity),
- m_ReprojectMatrix(kIdentity)
- {
- }
-
- void SetProjMatrix( const Matrix4& ProjMat ) { m_ProjMatrixNoJitter = m_ProjMatrix = ProjMat; }
-
- OrthogonalTransform m_CameraToWorld;
-
- // Redundant data cached for faster lookups.
- Matrix3 m_Basis;
-
- // Transforms homogeneous coordinates from world space to view space. In this case, view space is defined as +X is
- // to the right, +Y is up, and -Z is forward. This has to match what the projection matrix expects, but you might
- // also need to know what the convention is if you work in view space in a shader.
- Matrix4 m_ViewMatrix; // i.e. "World-to-View" matrix
-
- // The projection matrix transforms view space to clip space. Once division by W has occurred, the final coordinates
- // can be transformed by the viewport matrix to screen space. The projection matrix is determined by the screen aspect
- // and camera field of view. A projection matrix can also be orthographic. In that case, field of view would be defined
- // in linear units, not angles.
- Matrix4 m_ProjMatrix; // i.e. "View-to-Projection" matrix
-
- // A concatenation of the view and projection matrices.
- Matrix4 m_ViewProjMatrix; // i.e. "World-To-Projection" matrix.
-
- Matrix4 m_ProjMatrixNoJitter; // m_ProjMatrix, but without jitter.
- Matrix4 m_ViewProjMatrixNoJitter; // m_ViewProjMatrix, but without jitter.
-
- // The view-projection matrix from the previous frame
- Matrix4 m_PreviousViewProjMatrix;
-
- // Projects a clip-space coordinate to the previous frame (useful for temporal effects).
- Matrix4 m_ReprojectMatrix;
-
- Frustum m_FrustumVS; // View-space view frustum
- Frustum m_FrustumWS; // World-space view frustum
-
- };
-
- class Camera : public BaseCamera
- {
- public:
- Camera();
-
- // Controls the view-to-projection matrix
- void SetPerspectiveMatrix( float verticalFovRadians, float aspectHeightOverWidth, float nearZClip, float farZClip );
- void SetFOV( float verticalFovInRadians ) { m_VerticalFOV = verticalFovInRadians; UpdateProjMatrix(); }
- void SetAspectRatio( float heightOverWidth ) { m_AspectRatio = heightOverWidth; UpdateProjMatrix(); }
- void SetZRange( float nearZ, float farZ) { m_NearClip = nearZ; m_FarClip = farZ; UpdateProjMatrix(); }
- void ReverseZ( bool enable ) { m_ReverseZ = enable; UpdateProjMatrix(); }
-
- float GetFOV() const { return m_VerticalFOV; }
- float GetNearClip() const { return m_NearClip; }
- float GetFarClip() const { return m_FarClip; }
- float GetClearDepth() const { return m_ReverseZ ? 0.0f : 1.0f; }
-
- // Set projection matrix with jitter.
- void SetProjectMatrixJitter(float ProjectionJitterX, float ProjectionJitterY);
-
- private:
-
- void UpdateProjMatrix( void );
-
- float m_VerticalFOV; // Field of view angle in radians
- float m_AspectRatio;
- float m_NearClip;
- float m_FarClip;
- bool m_ReverseZ; // Invert near and far clip distances so that Z=1 at the near plane
- bool m_InfiniteZ; // Move the far plane to infinity
- };
-
- inline void BaseCamera::SetEyeAtUp( Vector3 eye, Vector3 at, Vector3 up )
- {
- SetLookDirection(at - eye, up);
- SetPosition(eye);
- }
-
- inline void BaseCamera::SetPosition( Vector3 worldPos )
- {
- m_CameraToWorld.SetTranslation( worldPos );
- }
-
- inline void BaseCamera::SetTransform( const AffineTransform& xform )
- {
- // By using these functions, we rederive an orthogonal transform.
- SetLookDirection(-xform.GetZ(), xform.GetY());
- SetPosition(xform.GetTranslation());
- }
-
- inline void BaseCamera::SetRotation( Quaternion basisRotation )
- {
- m_CameraToWorld.SetRotation(Normalize(basisRotation));
- m_Basis = Matrix3(m_CameraToWorld.GetRotation());
- }
-
- inline Camera::Camera() :
- BaseCamera(),
- m_ReverseZ(true),
- m_InfiniteZ(false)
- {
- SetPerspectiveMatrix( XM_PIDIV4, 9.0f / 16.0f, 1.0f, 1000.0f );
- }
-
- inline void Camera::SetPerspectiveMatrix( float verticalFovRadians, float aspectHeightOverWidth, float nearZClip, float farZClip )
- {
- m_VerticalFOV = verticalFovRadians;
- m_AspectRatio = aspectHeightOverWidth;
- m_NearClip = nearZClip;
- m_FarClip = farZClip;
-
- UpdateProjMatrix();
-
- m_PreviousViewProjMatrix = m_ViewProjMatrixNoJitter;
- }
-
-} // namespace Math
diff --git a/xess/samples/xess_demo/MiniEngine/Core/CameraController.cpp b/xess/samples/xess_demo/MiniEngine/Core/CameraController.cpp
deleted file mode 100644
index 7a1e13a..0000000
--- a/xess/samples/xess_demo/MiniEngine/Core/CameraController.cpp
+++ /dev/null
@@ -1,212 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-// Developed by Minigraph
-//
-// Author: James Stanard
-//
-
-#include "pch.h"
-#include "CameraController.h"
-#include "Camera.h"
-#include "GameInput.h"
-
-using namespace Math;
-using namespace GameCore;
-
-FlyingFPSCamera::FlyingFPSCamera( Camera& camera, Vector3 worldUp ) : CameraController( camera )
-{
- m_WorldUp = Normalize(worldUp);
- m_WorldNorth = Normalize(Cross(m_WorldUp, Vector3(kXUnitVector)));
- m_WorldEast = Cross(m_WorldNorth, m_WorldUp);
-
- m_HorizontalLookSensitivity = 2.0f;
- m_VerticalLookSensitivity = 2.0f;
- m_MoveSpeed = 1000.0f;
- m_StrafeSpeed = 1000.0f;
- m_MouseSensitivityX = 1.0f;
- m_MouseSensitivityY = 1.0f;
-
- m_CurrentPitch = Sin(Dot(camera.GetForwardVec(), m_WorldUp));
-
- Vector3 forward = Normalize(Cross(m_WorldUp, camera.GetRightVec()));
- m_CurrentHeading = ATan2(-Dot(forward, m_WorldEast), Dot(forward, m_WorldNorth));
-
- m_FineMovement = false;
- m_FineRotation = false;
- m_Momentum = true;
-
- m_LastYaw = 0.0f;
- m_LastPitch = 0.0f;
- m_LastForward = 0.0f;
- m_LastStrafe = 0.0f;
- m_LastAscent = 0.0f;
-}
-
-namespace Graphics
-{
- extern EnumVar DebugZoom;
-}
-
-void FlyingFPSCamera::Update( float deltaTime )
-{
- (deltaTime);
-
- float timeScale = Graphics::DebugZoom == 0 ? 1.0f : Graphics::DebugZoom == 1 ? 0.5f : 0.25f;
-
- if (GameInput::IsFirstPressed(GameInput::kLThumbClick) || GameInput::IsFirstPressed(GameInput::kKey_lshift))
- m_FineMovement = !m_FineMovement;
-
- if (GameInput::IsFirstPressed(GameInput::kRThumbClick))
- m_FineRotation = !m_FineRotation;
-
- float speedScale = (m_FineMovement ? 0.1f : 1.0f) * timeScale;
- float panScale = (m_FineRotation ? 0.5f : 1.0f) * timeScale;
-
- float yaw = GameInput::GetTimeCorrectedAnalogInput( GameInput::kAnalogRightStickX ) * m_HorizontalLookSensitivity * panScale;
- float pitch = GameInput::GetTimeCorrectedAnalogInput( GameInput::kAnalogRightStickY ) * m_VerticalLookSensitivity * panScale;
- float forward = m_MoveSpeed * speedScale * (
- GameInput::GetTimeCorrectedAnalogInput( GameInput::kAnalogLeftStickY ) +
- (GameInput::IsPressed( GameInput::kKey_w ) ? deltaTime : 0.0f) +
- (GameInput::IsPressed( GameInput::kKey_s ) ? -deltaTime : 0.0f)
- );
- float strafe = m_StrafeSpeed * speedScale * (
- GameInput::GetTimeCorrectedAnalogInput( GameInput::kAnalogLeftStickX ) +
- (GameInput::IsPressed( GameInput::kKey_d ) ? deltaTime : 0.0f) +
- (GameInput::IsPressed( GameInput::kKey_a ) ? -deltaTime : 0.0f)
- );
- float ascent = m_StrafeSpeed * speedScale * (
- GameInput::GetTimeCorrectedAnalogInput( GameInput::kAnalogRightTrigger ) -
- GameInput::GetTimeCorrectedAnalogInput( GameInput::kAnalogLeftTrigger ) +
- (GameInput::IsPressed( GameInput::kKey_e ) ? deltaTime : 0.0f) +
- (GameInput::IsPressed( GameInput::kKey_q ) ? -deltaTime : 0.0f)
- );
-
- if (m_Momentum)
- {
- ApplyMomentum(m_LastYaw, yaw, deltaTime);
- ApplyMomentum(m_LastPitch, pitch, deltaTime);
- ApplyMomentum(m_LastForward, forward, deltaTime);
- ApplyMomentum(m_LastStrafe, strafe, deltaTime);
- ApplyMomentum(m_LastAscent, ascent, deltaTime);
- }
-
- // don't apply momentum to mouse inputs
- yaw += GameInput::GetAnalogInput(GameInput::kAnalogMouseX) * m_MouseSensitivityX;
- pitch += GameInput::GetAnalogInput(GameInput::kAnalogMouseY) * m_MouseSensitivityY;
-
- m_CurrentPitch += pitch;
- m_CurrentPitch = XMMin( XM_PIDIV2, m_CurrentPitch);
- m_CurrentPitch = XMMax(-XM_PIDIV2, m_CurrentPitch);
-
- m_CurrentHeading -= yaw;
- if (m_CurrentHeading > XM_PI)
- m_CurrentHeading -= XM_2PI;
- else if (m_CurrentHeading <= -XM_PI)
- m_CurrentHeading += XM_2PI;
-
- Matrix3 orientation = Matrix3(m_WorldEast, m_WorldUp, -m_WorldNorth) * Matrix3::MakeYRotation( m_CurrentHeading ) * Matrix3::MakeXRotation( m_CurrentPitch );
- Vector3 position = orientation * Vector3( strafe, ascent, -forward ) + m_TargetCamera.GetPosition();
-
- m_TargetCamera.SetTransform( AffineTransform( orientation, position ) );
- m_TargetCamera.Update();
-}
-
-void FlyingFPSCamera::SetHeadingPitchAndPosition(float heading, float pitch, const Vector3& position)
-{
- m_CurrentHeading = heading;
- if (m_CurrentHeading > XM_PI)
- m_CurrentHeading -= XM_2PI;
- else if (m_CurrentHeading <= -XM_PI)
- m_CurrentHeading += XM_2PI;
-
- m_CurrentPitch = pitch;
- m_CurrentPitch = XMMin( XM_PIDIV2, m_CurrentPitch);
- m_CurrentPitch = XMMax(-XM_PIDIV2, m_CurrentPitch);
-
- Matrix3 orientation =
- Matrix3(m_WorldEast, m_WorldUp, -m_WorldNorth) *
- Matrix3::MakeYRotation( m_CurrentHeading ) *
- Matrix3::MakeXRotation( m_CurrentPitch );
-
- m_TargetCamera.SetTransform( AffineTransform( orientation, position ) );
- m_TargetCamera.Update();
-}
-
-
-void CameraController::ApplyMomentum( float& oldValue, float& newValue, float deltaTime )
-{
- float blendedValue;
- if (Abs(newValue) > Abs(oldValue))
- blendedValue = Lerp(newValue, oldValue, Pow(0.6f, deltaTime * 60.0f));
- else
- blendedValue = Lerp(newValue, oldValue, Pow(0.8f, deltaTime * 60.0f));
- oldValue = blendedValue;
- newValue = blendedValue;
-}
-
-OrbitCamera::OrbitCamera( Camera& camera, Math::BoundingSphere focus, Vector3 worldUp ) : CameraController( camera )
-{
- m_ModelBounds = focus;
- m_WorldUp = Normalize(worldUp);
-
- m_JoystickSensitivityX = 2.0f;
- m_JoystickSensitivityY = 2.0f;
-
- m_MouseSensitivityX = 1.0f;
- m_MouseSensitivityY = 1.0f;
-
- m_CurrentPitch = 0.0f;
- m_CurrentHeading = 0.0f;
- m_CurrentCloseness = 0.5f;
-
- m_Momentum = true;
-
- m_LastYaw = 0.0f;
- m_LastPitch = 0.0f;
-}
-
-void OrbitCamera::Update( float deltaTime )
-{
- (deltaTime);
-
- float timeScale = Graphics::DebugZoom == 0 ? 1.0f : Graphics::DebugZoom == 1 ? 0.5f : 0.25f;
-
- float yaw = GameInput::GetTimeCorrectedAnalogInput( GameInput::kAnalogLeftStickX ) * timeScale * m_JoystickSensitivityX;
- float pitch = GameInput::GetTimeCorrectedAnalogInput( GameInput::kAnalogLeftStickY ) * timeScale * m_JoystickSensitivityY;
- float closeness = GameInput::GetTimeCorrectedAnalogInput( GameInput::kAnalogRightStickY ) * timeScale;
-
- if (m_Momentum)
- {
- ApplyMomentum(m_LastYaw, yaw, deltaTime);
- ApplyMomentum(m_LastPitch, pitch, deltaTime);
- }
-
- // don't apply momentum to mouse inputs
- yaw += GameInput::GetAnalogInput(GameInput::kAnalogMouseX) * m_MouseSensitivityX;
- pitch += GameInput::GetAnalogInput(GameInput::kAnalogMouseY) * m_MouseSensitivityY;
- closeness += GameInput::GetAnalogInput(GameInput::kAnalogMouseScroll) * 0.1f;
-
- m_CurrentPitch += pitch;
- m_CurrentPitch = XMMin( XM_PIDIV2, m_CurrentPitch);
- m_CurrentPitch = XMMax(-XM_PIDIV2, m_CurrentPitch);
-
- m_CurrentHeading -= yaw;
- if (m_CurrentHeading > XM_PI)
- m_CurrentHeading -= XM_2PI;
- else if (m_CurrentHeading <= -XM_PI)
- m_CurrentHeading += XM_2PI;
-
- m_CurrentCloseness += closeness;
- m_CurrentCloseness = Clamp(m_CurrentCloseness, 0.0f, 1.0f);
-
- Matrix3 orientation = Matrix3::MakeYRotation( m_CurrentHeading ) * Matrix3::MakeXRotation( m_CurrentPitch );
- Vector3 position = orientation.GetZ() * (m_ModelBounds.GetRadius() * Lerp(3.0f, 1.0f, m_CurrentCloseness) + m_TargetCamera.GetNearClip());
- m_TargetCamera.SetTransform(AffineTransform(orientation, position + m_ModelBounds.GetCenter()));
- m_TargetCamera.Update();
-}
diff --git a/xess/samples/xess_demo/MiniEngine/Core/CameraController.h b/xess/samples/xess_demo/MiniEngine/Core/CameraController.h
deleted file mode 100644
index d58cb19..0000000
--- a/xess/samples/xess_demo/MiniEngine/Core/CameraController.h
+++ /dev/null
@@ -1,117 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-// Developed by Minigraph
-//
-// Author: James Stanard
-//
-
-#pragma once
-
-#include "GameCore.h"
-#include "VectorMath.h"
-#include "../Core/Math/BoundingSphere.h"
-
-namespace Math
-{
- class Camera;
-}
-
-using namespace Math;
-
-class CameraController
-{
-public:
- // Assumes worldUp is not the X basis vector
- CameraController( Camera& camera ) : m_TargetCamera(camera) {}
- virtual ~CameraController() {}
- virtual void Update( float dt ) = 0;
-
- // Helper function
- static void ApplyMomentum( float& oldValue, float& newValue, float deltaTime );
-
-protected:
- Camera& m_TargetCamera;
-
-private:
- CameraController& operator=( const CameraController& ) {return *this;}
-};
-
-class FlyingFPSCamera : public CameraController
-{
-public:
- FlyingFPSCamera( Camera& camera, Vector3 worldUp );
-
- virtual void Update( float dt ) override;
-
- void SlowMovement( bool enable ) { m_FineMovement = enable; }
- void SlowRotation( bool enable ) { m_FineRotation = enable; }
-
- void EnableMomentum( bool enable ) { m_Momentum = enable; }
-
- void SetHeadingPitchAndPosition(float heading, float pitch, const Vector3& position);
-
-protected:
-
- Vector3 m_WorldUp;
- Vector3 m_WorldNorth;
- Vector3 m_WorldEast;
- float m_HorizontalLookSensitivity;
- float m_VerticalLookSensitivity;
- float m_MoveSpeed;
- float m_StrafeSpeed;
- float m_MouseSensitivityX;
- float m_MouseSensitivityY;
-
- float m_CurrentHeading;
- float m_CurrentPitch;
-
- bool m_FineMovement;
- bool m_FineRotation;
- bool m_Momentum;
-
- float m_LastYaw;
- float m_LastPitch;
- float m_LastForward;
- float m_LastStrafe;
- float m_LastAscent;
-};
-
-class OrbitCamera : public CameraController
-{
-public:
- OrbitCamera( Math::Camera& camera,
- Math::BoundingSphere focus,
- Math::Vector3 upVec = Math::Vector3(Math::kYUnitVector) );
-
- virtual void Update( float dt ) override;
-
- void EnableMomentum( bool enable ) { m_Momentum = enable; }
-
-private:
- OrbitCamera& operator=( const OrbitCamera& ) {return *this;}
-
- Math::BoundingSphere m_ModelBounds;
- Math::Vector3 m_WorldUp;
-
- float m_JoystickSensitivityX;
- float m_JoystickSensitivityY;
-
- float m_MouseSensitivityX;
- float m_MouseSensitivityY;
-
- float m_CurrentHeading;
- float m_CurrentPitch;
- float m_CurrentCloseness;
-
- bool m_Momentum;
-
- float m_LastYaw;
- float m_LastPitch;
- float m_LastForward;
-};
diff --git a/xess/samples/xess_demo/MiniEngine/Core/Color.cpp b/xess/samples/xess_demo/MiniEngine/Core/Color.cpp
deleted file mode 100644
index 47fba84..0000000
--- a/xess/samples/xess_demo/MiniEngine/Core/Color.cpp
+++ /dev/null
@@ -1,152 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-// Developed by Minigraph
-//
-// Author: James Stanard
-//
-
-#include "pch.h"
-#include "Color.h"
-
-using DirectX::XMVECTORU32;
-
-uint32_t Color::R11G11B10F(bool RoundToEven) const
-{
-#if 1
- static const float kMaxVal = float(1 << 16);
- static const float kF32toF16 = (1.0 / (1ull << 56)) * (1.0 / (1ull << 56));
-
- union { float f; uint32_t u; } R, G, B;
-
- R.f = Math::Clamp(m_value.f[0], 0.0f, kMaxVal) * kF32toF16;
- G.f = Math::Clamp(m_value.f[1], 0.0f, kMaxVal) * kF32toF16;
- B.f = Math::Clamp(m_value.f[2], 0.0f, kMaxVal) * kF32toF16;
-
- if (RoundToEven)
- {
- // Bankers rounding: 2.5 -> 2.0 ; 3.5 -> 4.0
- R.u += 0x0FFFF + ((R.u >> 16) & 1);
- G.u += 0x0FFFF + ((G.u >> 16) & 1);
- B.u += 0x1FFFF + ((B.u >> 17) & 1);
- }
- else
- {
- // Default rounding: 2.5 -> 3.0 ; 3.5 -> 4.0
- R.u += 0x00010000;
- G.u += 0x00010000;
- B.u += 0x00020000;
- }
-
- R.u &= 0x0FFE0000;
- G.u &= 0x0FFE0000;
- B.u &= 0x0FFC0000;
-
- return R.u >> 17 | G.u >> 6 | B.u << 4;
-
-#else // SSE
-
- static XMVECTORU32 Scale = { 0x07800000, 0x07800000, 0x07800000, 0 }; // 2^-112
- static XMVECTORU32 Round1 = { 0x00010000, 0x00010000, 0x00020000, 0 };
- static XMVECTORU32 Round2 = { 0x0000FFFF, 0x0000FFFF, 0x0001FFFF, 0 };
- static XMVECTORU32 Mask = { 0x0FFE0000, 0x0FFE0000, 0x0FFC0000, 0 };
-
- // Treat the values like integers as we clamp to [0, +Inf]. This translates 32-bit specials
- // to 16-bit specials (while also turning anything greater than MAX_HALF into +INF).
- __m128i ti = _mm_max_epi32(_mm_castps_si128(m_value), _mm_setzero_si128());
- ti = _mm_min_epi32(ti, _mm_set1_epi32(0x47800000)); // 2^16 = 65536.0f = INF
-
- // Bias the exponent by -112 (-127 + 15) to denormalize values < 2^-14
- ti = _mm_castps_si128(_mm_mul_ps(_mm_castsi128_ps(ti), Scale));
-
- if (RoundToEven)
- {
- // Add 0x10000 when odd, 0x0FFFF when even (before truncating bits)
- ti = _mm_add_epi32(ti, _mm_max_epi32(_mm_and_si128(_mm_srli_epi32(ti, 1), Round1), Round2));
- }
- else //if (RoundToNearest)
- {
- ti = _mm_add_epi32(ti, Round1);
- }
-
- XMVECTORU32 ret;
- ret.v = _mm_castsi128_ps(_mm_and_si128(ti, Mask));
- return ret.u[0] >> 17 | ret.u[1] >> 6 | ret.u[2] << 4;
-
-#endif
-}
-
-uint32_t Color::R9G9B9E5() const
-{
-#if 1
- static const float kMaxVal = float(0x1FF << 7);
- static const float kMinVal = float(1.f / (1 << 16));
-
- // Clamp RGB to [0, 1.FF*2^16]
- float r = Math::Clamp(m_value.f[0], 0.0f, kMaxVal);
- float g = Math::Clamp(m_value.f[1], 0.0f, kMaxVal);
- float b = Math::Clamp(m_value.f[2], 0.0f, kMaxVal);
-
- // Compute the maximum channel, no less than 1.0*2^-15
- float MaxChannel = Math::Max(Math::Max(r, g), Math::Max(b, kMinVal));
-
- // Take the exponent of the maximum channel (rounding up the 9th bit) and
- // add 15 to it. When added to the channels, it causes the implicit '1.0'
- // bit and the first 8 mantissa bits to be shifted down to the low 9 bits
- // of the mantissa, rounding the truncated bits.
- union { float f; int32_t i; } R, G, B, E;
- E.f = MaxChannel;
- E.i += 0x07804000; // Add 15 to the exponent and 0x4000 to the mantissa
- E.i &= 0x7F800000; // Zero the mantissa
-
- // This shifts the 9-bit values we need into the lowest bits, rounding as
- // needed. Note that if the channel has a smaller exponent than the max
- // channel, it will shift even more. This is intentional.
- R.f = r + E.f;
- G.f = g + E.f;
- B.f = b + E.f;
-
- // Convert the Bias to the correct exponent in the upper 5 bits.
- E.i <<= 4;
- E.i += 0x10000000;
-
- // Combine the fields. RGB floats have unwanted data in the upper 9
- // bits. Only red needs to mask them off because green and blue shift
- // it out to the left.
- return E.i | B.i << 18 | G.i << 9 | R.i & 511;
-
-#else // SSE
-
- // Clamp RGB to [0, 1.FF*2^16]
- __m128 kMaxVal = _mm_castsi128_ps(_mm_set1_epi32(0x477F8000));
- __m128 rgb = _mm_min_ps(_mm_max_ps(m_value, _mm_setzero_ps()), kMaxVal);
-
- // Compute the maximum channel, no less than 1.0*2^-15
- __m128 kMinVal = _mm_castsi128_ps(_mm_set1_epi32(0x37800000));
- __m128 MaxChannel = _mm_max_ps(rgb, kMinVal);
- MaxChannel = _mm_max_ps( _mm_permute_ps(MaxChannel, _MM_SHUFFLE(3, 1, 0, 2)),
- _mm_max_ps(_mm_permute_ps(MaxChannel, _MM_SHUFFLE(3, 0, 2, 1)), MaxChannel) );
-
- // Add 15 to the exponent and 0x4000 to the mantissa
- __m128i kBias15 = _mm_set1_epi32(0x07804000);
- __m128i kExpMask = _mm_set1_epi32(0x7F800000);
- __m128i Bias = _mm_and_si128(_mm_add_epi32(_mm_castps_si128(MaxChannel), kBias15), kExpMask);
-
- // rgb += Bias
- rgb = _mm_add_ps(rgb, _mm_castsi128_ps(Bias));
-
- // Exp = (Bias << 4) + 0x10000000;
- __m128i Exp = _mm_add_epi32(_mm_slli_epi32(Bias, 4), _mm_set1_epi32(0x10000000));
-
- // Combine words
- XMVECTORU32 ret;
- ret.v = _mm_insert_ps(rgb, _mm_castsi128_ps(Exp), 0x30);
- return ret.u[3] | ret.u[2] << 18 | ret.u[1] << 9 | ret.u[0] & 511;
-
-#endif
-}
diff --git a/xess/samples/xess_demo/MiniEngine/Core/Color.h b/xess/samples/xess_demo/MiniEngine/Core/Color.h
deleted file mode 100644
index 3b96a65..0000000
--- a/xess/samples/xess_demo/MiniEngine/Core/Color.h
+++ /dev/null
@@ -1,153 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-// Developed by Minigraph
-//
-// Author: James Stanard
-//
-
-#pragma once
-
-#include
-
-using namespace DirectX;
-
-class Color
-{
-public:
- Color( ) : m_value(g_XMOne) {}
- Color( FXMVECTOR vec );
- Color( const XMVECTORF32& vec );
- Color( float r, float g, float b, float a = 1.0f );
- Color( uint16_t r, uint16_t g, uint16_t b, uint16_t a = 255, uint16_t bitDepth = 8 );
- explicit Color( uint32_t rgbaLittleEndian );
-
- float R() const { return XMVectorGetX(m_value); }
- float G() const { return XMVectorGetY(m_value); }
- float B() const { return XMVectorGetZ(m_value); }
- float A() const { return XMVectorGetW(m_value); }
-
- bool operator==( const Color& rhs ) const { return XMVector4Equal(m_value, rhs.m_value); }
- bool operator!=( const Color& rhs ) const { return !XMVector4Equal(m_value, rhs.m_value); }
-
- void SetR( float r ) { m_value.f[0] = r; }
- void SetG( float g ) { m_value.f[1] = g; }
- void SetB( float b ) { m_value.f[2] = b; }
- void SetA( float a ) { m_value.f[3] = a; }
-
- float* GetPtr( void ) { return reinterpret_cast(this); }
- float& operator[]( int idx ) { return GetPtr()[idx]; }
-
- void SetRGB( float r, float g, float b ) { m_value.v = XMVectorSelect( m_value, XMVectorSet(r, g, b, b), g_XMMask3 ); }
-
- Color ToSRGB() const;
- Color FromSRGB() const;
- Color ToREC709() const;
- Color FromREC709() const;
-
- // Probably want to convert to sRGB or Rec709 first
- uint32_t R10G10B10A2() const;
- uint32_t R8G8B8A8() const;
-
- // Pack an HDR color into 32-bits
- uint32_t R11G11B10F(bool RoundToEven=false) const;
- uint32_t R9G9B9E5() const;
-
- operator XMVECTOR() const { return m_value; }
-
-private:
- XMVECTORF32 m_value;
-};
-
-INLINE Color Max( Color a, Color b ) { return Color(XMVectorMax(a, b)); }
-INLINE Color Min( Color a, Color b ) { return Color(XMVectorMin(a, b)); }
-INLINE Color Clamp( Color x, Color a, Color b ) { return Color(XMVectorClamp(x, a, b)); }
-
-
-inline Color::Color( FXMVECTOR vec )
-{
- m_value.v = vec;
-}
-
-inline Color::Color( const XMVECTORF32& vec )
-{
- m_value = vec;
-}
-
-inline Color::Color( float r, float g, float b, float a )
-{
- m_value.v = XMVectorSet(r, g, b, a);
-}
-
-inline Color::Color( uint16_t r, uint16_t g, uint16_t b, uint16_t a, uint16_t bitDepth )
-{
- m_value.v = XMVectorScale(XMVectorSet(r, g, b, a), 1.0f / ((1 << bitDepth) - 1));
-}
-
-inline Color::Color( uint32_t u32 )
-{
- float r = (float)((u32 >> 0) & 0xFF);
- float g = (float)((u32 >> 8) & 0xFF);
- float b = (float)((u32 >> 16) & 0xFF);
- float a = (float)((u32 >> 24) & 0xFF);
- m_value.v = XMVectorScale( XMVectorSet(r, g, b, a), 1.0f / 255.0f );
-}
-
-inline Color Color::ToSRGB( void ) const
-{
- XMVECTOR T = XMVectorSaturate(m_value);
- XMVECTOR result = XMVectorSubtract(XMVectorScale(XMVectorPow(T, XMVectorReplicate(1.0f / 2.4f)), 1.055f), XMVectorReplicate(0.055f));
- result = XMVectorSelect(result, XMVectorScale(T, 12.92f), XMVectorLess(T, XMVectorReplicate(0.0031308f)));
- return XMVectorSelect(T, result, g_XMSelect1110);
-}
-
-inline Color Color::FromSRGB( void ) const
-{
- XMVECTOR T = XMVectorSaturate(m_value);
- XMVECTOR result = XMVectorPow(XMVectorScale(XMVectorAdd(T, XMVectorReplicate(0.055f)), 1.0f / 1.055f), XMVectorReplicate(2.4f));
- result = XMVectorSelect(result, XMVectorScale(T, 1.0f / 12.92f), XMVectorLess(T, XMVectorReplicate(0.0031308f)));
- return XMVectorSelect(T, result, g_XMSelect1110);
-}
-
-inline Color Color::ToREC709( void ) const
-{
- XMVECTOR T = XMVectorSaturate(m_value);
- XMVECTOR result = XMVectorSubtract(XMVectorScale(XMVectorPow(T, XMVectorReplicate(0.45f)), 1.099f), XMVectorReplicate(0.099f));
- result = XMVectorSelect(result, XMVectorScale(T, 4.5f), XMVectorLess(T, XMVectorReplicate(0.0018f)));
- return XMVectorSelect(T, result, g_XMSelect1110);
-}
-
-inline Color Color::FromREC709( void ) const
-{
- XMVECTOR T = XMVectorSaturate(m_value);
- XMVECTOR result = XMVectorPow(XMVectorScale(XMVectorAdd(T, XMVectorReplicate(0.099f)), 1.0f / 1.099f), XMVectorReplicate(1.0f / 0.45f));
- result = XMVectorSelect(result, XMVectorScale(T, 1.0f / 4.5f), XMVectorLess(T, XMVectorReplicate(0.0081f)));
- return XMVectorSelect(T, result, g_XMSelect1110);
-}
-
-inline uint32_t Color::R10G10B10A2( void ) const
-{
- XMVECTOR result = XMVectorRound(XMVectorMultiply(XMVectorSaturate(m_value), XMVectorSet(1023.0f, 1023.0f, 1023.0f, 3.0f)));
- result = _mm_castsi128_ps(_mm_cvttps_epi32(result));
- uint32_t r = XMVectorGetIntX(result);
- uint32_t g = XMVectorGetIntY(result);
- uint32_t b = XMVectorGetIntZ(result);
- uint32_t a = XMVectorGetIntW(result) >> 8;
- return a << 30 | b << 20 | g << 10 | r;
-}
-
-inline uint32_t Color::R8G8B8A8( void ) const
-{
- XMVECTOR result = XMVectorRound(XMVectorMultiply(XMVectorSaturate(m_value), XMVectorReplicate(255.0f)));
- result = _mm_castsi128_ps(_mm_cvttps_epi32(result));
- uint32_t r = XMVectorGetIntX(result);
- uint32_t g = XMVectorGetIntY(result);
- uint32_t b = XMVectorGetIntZ(result);
- uint32_t a = XMVectorGetIntW(result);
- return a << 24 | b << 16 | g << 8 | r;
-}
diff --git a/xess/samples/xess_demo/MiniEngine/Core/ColorBuffer.cpp b/xess/samples/xess_demo/MiniEngine/Core/ColorBuffer.cpp
deleted file mode 100644
index 3a07e99..0000000
--- a/xess/samples/xess_demo/MiniEngine/Core/ColorBuffer.cpp
+++ /dev/null
@@ -1,229 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-// Developed by Minigraph
-//
-// Author: James Stanard
-//
-
-#include "pch.h"
-#include "ColorBuffer.h"
-#include "GraphicsCommon.h"
-#include "CommandContext.h"
-#include "EsramAllocator.h"
-
-using namespace Graphics;
-
-static uint64_t ColorBufferCount = 0;
-
-void ColorBuffer::CreateDerivedViews(ID3D12Device* Device, DXGI_FORMAT Format, uint32_t ArraySize, uint32_t NumMips)
-{
- ASSERT(ArraySize == 1 || NumMips == 1, "We don't support auto-mips on texture arrays");
-
- m_NumMipMaps = NumMips - 1;
-
- D3D12_RENDER_TARGET_VIEW_DESC RTVDesc = {};
- D3D12_UNORDERED_ACCESS_VIEW_DESC UAVDesc = {};
- D3D12_SHADER_RESOURCE_VIEW_DESC SRVDesc = {};
-
- RTVDesc.Format = Format;
- UAVDesc.Format = GetUAVFormat(Format);
- SRVDesc.Format = Format;
- SRVDesc.Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING;
-
- if (ArraySize > 1)
- {
- RTVDesc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2DARRAY;
- RTVDesc.Texture2DArray.MipSlice = 0;
- RTVDesc.Texture2DArray.FirstArraySlice = 0;
- RTVDesc.Texture2DArray.ArraySize = (UINT)ArraySize;
-
- UAVDesc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE2DARRAY;
- UAVDesc.Texture2DArray.MipSlice = 0;
- UAVDesc.Texture2DArray.FirstArraySlice = 0;
- UAVDesc.Texture2DArray.ArraySize = (UINT)ArraySize;
-
- SRVDesc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2DARRAY;
- SRVDesc.Texture2DArray.MipLevels = NumMips;
- SRVDesc.Texture2DArray.MostDetailedMip = 0;
- SRVDesc.Texture2DArray.FirstArraySlice = 0;
- SRVDesc.Texture2DArray.ArraySize = (UINT)ArraySize;
- }
- else if (m_FragmentCount > 1)
- {
- RTVDesc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2DMS;
- SRVDesc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2DMS;
- }
- else
- {
- RTVDesc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2D;
- RTVDesc.Texture2D.MipSlice = 0;
-
- UAVDesc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE2D;
- UAVDesc.Texture2D.MipSlice = 0;
-
- SRVDesc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2D;
- SRVDesc.Texture2D.MipLevels = NumMips;
- SRVDesc.Texture2D.MostDetailedMip = 0;
- }
-
- if (m_SRVHandle.ptr == D3D12_GPU_VIRTUAL_ADDRESS_UNKNOWN)
- {
- m_RTVHandle = Graphics::AllocateDescriptor(D3D12_DESCRIPTOR_HEAP_TYPE_RTV);
- m_SRVHandle = Graphics::AllocateDescriptor(D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV);
- }
-
- ID3D12Resource* Resource = m_pResource.Get();
-
- // Create the render target view
- Device->CreateRenderTargetView(Resource, &RTVDesc, m_RTVHandle);
-
- // Create the shader resource view
- Device->CreateShaderResourceView(Resource, &SRVDesc, m_SRVHandle);
-
- if (m_FragmentCount > 1)
- return;
-
- // Create the UAVs for each mip level (RWTexture2D)
- for (uint32_t i = 0; i < NumMips; ++i)
- {
- if (m_UAVHandle[i].ptr == D3D12_GPU_VIRTUAL_ADDRESS_UNKNOWN)
- m_UAVHandle[i] = Graphics::AllocateDescriptor(D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV);
-
- Device->CreateUnorderedAccessView(Resource, nullptr, &UAVDesc, m_UAVHandle[i]);
-
- UAVDesc.Texture2D.MipSlice++;
- }
-}
-
-void ColorBuffer::CreateFromSwapChain( const std::wstring& Name, ID3D12Resource* BaseResource )
-{
- AssociateWithResource(Graphics::g_Device, Name, BaseResource, D3D12_RESOURCE_STATE_PRESENT);
-
- //m_UAVHandle[0] = Graphics::AllocateDescriptor(D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV);
- //Graphics::g_Device->CreateUnorderedAccessView(m_pResource.Get(), nullptr, nullptr, m_UAVHandle[0]);
-
- m_RTVHandle = Graphics::AllocateDescriptor(D3D12_DESCRIPTOR_HEAP_TYPE_RTV);
- Graphics::g_Device->CreateRenderTargetView(m_pResource.Get(), nullptr, m_RTVHandle);
-
- m_ColorBufferId = ++ColorBufferCount;
-}
-
-void ColorBuffer::Create(const std::wstring& Name, uint32_t Width, uint32_t Height, uint32_t NumMips,
- DXGI_FORMAT Format, D3D12_GPU_VIRTUAL_ADDRESS VidMem)
-{
- NumMips = (NumMips == 0 ? ComputeNumMips(Width, Height) : NumMips);
- D3D12_RESOURCE_FLAGS Flags = CombineResourceFlags();
- D3D12_RESOURCE_DESC ResourceDesc = DescribeTex2D(Width, Height, 1, NumMips, Format, Flags);
-
- ResourceDesc.SampleDesc.Count = m_FragmentCount;
- ResourceDesc.SampleDesc.Quality = 0;
-
- D3D12_CLEAR_VALUE ClearValue = {};
- ClearValue.Format = Format;
- ClearValue.Color[0] = m_ClearColor.R();
- ClearValue.Color[1] = m_ClearColor.G();
- ClearValue.Color[2] = m_ClearColor.B();
- ClearValue.Color[3] = m_ClearColor.A();
-
- CreateTextureResource(Graphics::g_Device, Name, ResourceDesc, ClearValue, VidMem);
- CreateDerivedViews(Graphics::g_Device, Format, 1, NumMips);
-
- m_ColorBufferId = ++ColorBufferCount;
-}
-
-void ColorBuffer::Create(const std::wstring& Name, uint32_t Width, uint32_t Height, uint32_t NumMips,
- DXGI_FORMAT Format, EsramAllocator&)
-{
- Create(Name, Width, Height, NumMips, Format);
-}
-
-void ColorBuffer::CreateArray( const std::wstring& Name, uint32_t Width, uint32_t Height, uint32_t ArrayCount,
- DXGI_FORMAT Format, D3D12_GPU_VIRTUAL_ADDRESS VidMem )
-{
- D3D12_RESOURCE_FLAGS Flags = CombineResourceFlags();
- D3D12_RESOURCE_DESC ResourceDesc = DescribeTex2D(Width, Height, ArrayCount, 1, Format, Flags);
-
- D3D12_CLEAR_VALUE ClearValue = {};
- ClearValue.Format = Format;
- ClearValue.Color[0] = m_ClearColor.R();
- ClearValue.Color[1] = m_ClearColor.G();
- ClearValue.Color[2] = m_ClearColor.B();
- ClearValue.Color[3] = m_ClearColor.A();
-
- CreateTextureResource(Graphics::g_Device, Name, ResourceDesc, ClearValue, VidMem);
- CreateDerivedViews(Graphics::g_Device, Format, ArrayCount, 1);
-
- m_ColorBufferId = ++ColorBufferCount;
-}
-
-void ColorBuffer::CreateArray( const std::wstring& Name, uint32_t Width, uint32_t Height, uint32_t ArrayCount,
- DXGI_FORMAT Format, EsramAllocator& )
-{
- CreateArray(Name, Width, Height, ArrayCount, Format);
-}
-
-void ColorBuffer::GenerateMipMaps(CommandContext& BaseContext)
-{
- if (m_NumMipMaps == 0)
- return;
-
- ComputeContext& Context = BaseContext.GetComputeContext();
-
- Context.SetRootSignature(Graphics::g_CommonRS);
-
- Context.TransitionResource(*this, D3D12_RESOURCE_STATE_UNORDERED_ACCESS);
- Context.SetDynamicDescriptor(1, 0, m_SRVHandle);
-
- for (uint32_t TopMip = 0; TopMip < m_NumMipMaps; )
- {
- uint32_t SrcWidth = m_Width >> TopMip;
- uint32_t SrcHeight = m_Height >> TopMip;
- uint32_t DstWidth = SrcWidth >> 1;
- uint32_t DstHeight = SrcHeight >> 1;
-
- // Determine if the first downsample is more than 2:1. This happens whenever
- // the source width or height is odd.
- uint32_t NonPowerOfTwo = (SrcWidth & 1) | (SrcHeight & 1) << 1;
- if (m_Format == DXGI_FORMAT_R8G8B8A8_UNORM_SRGB)
- Context.SetPipelineState(Graphics::g_GenerateMipsGammaPSO[NonPowerOfTwo]);
- else
- Context.SetPipelineState(Graphics::g_GenerateMipsLinearPSO[NonPowerOfTwo]);
-
- // We can downsample up to four times, but if the ratio between levels is not
- // exactly 2:1, we have to shift our blend weights, which gets complicated or
- // expensive. Maybe we can update the code later to compute sample weights for
- // each successive downsample. We use _BitScanForward to count number of zeros
- // in the low bits. Zeros indicate we can divide by two without truncating.
- uint32_t AdditionalMips;
- _BitScanForward((unsigned long*)&AdditionalMips,
- (DstWidth == 1 ? DstHeight : DstWidth) | (DstHeight == 1 ? DstWidth : DstHeight));
- uint32_t NumMips = 1 + (AdditionalMips > 3 ? 3 : AdditionalMips);
- if (TopMip + NumMips > m_NumMipMaps)
- NumMips = m_NumMipMaps - TopMip;
-
- // These are clamped to 1 after computing additional mips because clamped
- // dimensions should not limit us from downsampling multiple times. (E.g.
- // 16x1 -> 8x1 -> 4x1 -> 2x1 -> 1x1.)
- if (DstWidth == 0)
- DstWidth = 1;
- if (DstHeight == 0)
- DstHeight = 1;
-
- Context.SetConstants(0, TopMip, NumMips, 1.0f / DstWidth, 1.0f / DstHeight);
- Context.SetDynamicDescriptors(2, 0, NumMips, m_UAVHandle + TopMip + 1);
- Context.Dispatch2D(DstWidth, DstHeight);
-
- Context.InsertUAVBarrier(*this);
-
- TopMip += NumMips;
- }
-
- Context.TransitionResource(*this, D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE |
- D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE);
-}
diff --git a/xess/samples/xess_demo/MiniEngine/Core/ColorBuffer.h b/xess/samples/xess_demo/MiniEngine/Core/ColorBuffer.h
deleted file mode 100644
index 7a0ae22..0000000
--- a/xess/samples/xess_demo/MiniEngine/Core/ColorBuffer.h
+++ /dev/null
@@ -1,116 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-// Developed by Minigraph
-//
-// Author: James Stanard
-//
-
-#pragma once
-
-#include "PixelBuffer.h"
-#include "Color.h"
-#include "GpuBuffer.h"
-
-class EsramAllocator;
-
-class ColorBuffer : public PixelBuffer
-{
-public:
- ColorBuffer( Color ClearColor = Color(0.0f, 0.0f, 0.0f, 0.0f) )
- : m_ClearColor(ClearColor), m_NumMipMaps(0), m_FragmentCount(1), m_SampleCount(1), m_ColorBufferId(0)
- {
- m_RTVHandle.ptr = D3D12_GPU_VIRTUAL_ADDRESS_UNKNOWN;
- m_SRVHandle.ptr = D3D12_GPU_VIRTUAL_ADDRESS_UNKNOWN;
- for (int i = 0; i < _countof(m_UAVHandle); ++i)
- m_UAVHandle[i].ptr = D3D12_GPU_VIRTUAL_ADDRESS_UNKNOWN;
- }
-
- // Create a color buffer from a swap chain buffer. Unordered access is restricted.
- void CreateFromSwapChain( const std::wstring& Name, ID3D12Resource* BaseResource );
-
- // Create a color buffer. If an address is supplied, memory will not be allocated.
- // The vmem address allows you to alias buffers (which can be especially useful for
- // reusing ESRAM across a frame.)
- void Create(const std::wstring& Name, uint32_t Width, uint32_t Height, uint32_t NumMips,
- DXGI_FORMAT Format, D3D12_GPU_VIRTUAL_ADDRESS VidMemPtr = D3D12_GPU_VIRTUAL_ADDRESS_UNKNOWN);
-
- // Create a color buffer. Memory will be allocated in ESRAM (on Xbox One). On Windows,
- // this functions the same as Create() without a video address.
- void Create(const std::wstring& Name, uint32_t Width, uint32_t Height, uint32_t NumMips,
- DXGI_FORMAT Format, EsramAllocator& Allocator);
-
- // Create a color buffer. If an address is supplied, memory will not be allocated.
- // The vmem address allows you to alias buffers (which can be especially useful for
- // reusing ESRAM across a frame.)
- void CreateArray(const std::wstring& Name, uint32_t Width, uint32_t Height, uint32_t ArrayCount,
- DXGI_FORMAT Format, D3D12_GPU_VIRTUAL_ADDRESS VidMemPtr = D3D12_GPU_VIRTUAL_ADDRESS_UNKNOWN);
-
- // Create a color buffer. Memory will be allocated in ESRAM (on Xbox One). On Windows,
- // this functions the same as Create() without a video address.
- void CreateArray(const std::wstring& Name, uint32_t Width, uint32_t Height, uint32_t ArrayCount,
- DXGI_FORMAT Format, EsramAllocator& Allocator);
-
- // Get pre-created CPU-visible descriptor handles
- const D3D12_CPU_DESCRIPTOR_HANDLE& GetSRV(void) const { return m_SRVHandle; }
- const D3D12_CPU_DESCRIPTOR_HANDLE& GetRTV(void) const { return m_RTVHandle; }
- const D3D12_CPU_DESCRIPTOR_HANDLE& GetUAV(void) const { return m_UAVHandle[0]; }
-
- void SetClearColor( Color ClearColor ) { m_ClearColor = ClearColor; }
-
- void SetMsaaMode( uint32_t NumColorSamples, uint32_t NumCoverageSamples )
- {
- ASSERT(NumCoverageSamples >= NumColorSamples);
- m_FragmentCount = NumColorSamples;
- m_SampleCount = NumCoverageSamples;
- }
-
- Color GetClearColor(void) const { return m_ClearColor; }
-
- // This will work for all texture sizes, but it's recommended for speed and quality
- // that you use dimensions with powers of two (but not necessarily square.) Pass
- // 0 for ArrayCount to reserve space for mips at creation time.
- void GenerateMipMaps(CommandContext& Context);
-
- // unique id for each buffer
- uint64_t GetBufferId() { return m_ColorBufferId; }
-
-protected:
-
- D3D12_RESOURCE_FLAGS CombineResourceFlags( void ) const
- {
- D3D12_RESOURCE_FLAGS Flags = D3D12_RESOURCE_FLAG_NONE;
-
- if (Flags == D3D12_RESOURCE_FLAG_NONE && m_FragmentCount == 1)
- Flags |= D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS;
-
- return D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET | Flags;
- }
-
- // Compute the number of texture levels needed to reduce to 1x1. This uses
- // _BitScanReverse to find the highest set bit. Each dimension reduces by
- // half and truncates bits. The dimension 256 (0x100) has 9 mip levels, same
- // as the dimension 511 (0x1FF).
- static inline uint32_t ComputeNumMips(uint32_t Width, uint32_t Height)
- {
- uint32_t HighBit;
- _BitScanReverse((unsigned long*)&HighBit, Width | Height);
- return HighBit + 1;
- }
-
- void CreateDerivedViews(ID3D12Device* Device, DXGI_FORMAT Format, uint32_t ArraySize, uint32_t NumMips = 1);
-
- Color m_ClearColor;
- D3D12_CPU_DESCRIPTOR_HANDLE m_SRVHandle;
- D3D12_CPU_DESCRIPTOR_HANDLE m_RTVHandle;
- D3D12_CPU_DESCRIPTOR_HANDLE m_UAVHandle[12];
- uint32_t m_NumMipMaps; // number of texture sublevels
- uint32_t m_FragmentCount;
- uint32_t m_SampleCount;
- uint64_t m_ColorBufferId; // unique id from 1
-};
diff --git a/xess/samples/xess_demo/MiniEngine/Core/CommandAllocatorPool.cpp b/xess/samples/xess_demo/MiniEngine/Core/CommandAllocatorPool.cpp
deleted file mode 100644
index 0a9a188..0000000
--- a/xess/samples/xess_demo/MiniEngine/Core/CommandAllocatorPool.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-// Developed by Minigraph
-//
-// Author: James Stanard
-//
-
-#include "pch.h"
-#include "CommandAllocatorPool.h"
-
-CommandAllocatorPool::CommandAllocatorPool(D3D12_COMMAND_LIST_TYPE Type) :
- m_cCommandListType(Type),
- m_Device(nullptr)
-{
-}
-
-CommandAllocatorPool::~CommandAllocatorPool()
-{
- Shutdown();
-}
-
-void CommandAllocatorPool::Create(ID3D12Device * pDevice)
-{
- m_Device = pDevice;
-}
-
-void CommandAllocatorPool::Shutdown()
-{
- for (size_t i = 0; i < m_AllocatorPool.size(); ++i)
- m_AllocatorPool[i]->Release();
-
- m_AllocatorPool.clear();
-}
-
-ID3D12CommandAllocator * CommandAllocatorPool::RequestAllocator(uint64_t CompletedFenceValue)
-{
- std::lock_guard LockGuard(m_AllocatorMutex);
-
- ID3D12CommandAllocator* pAllocator = nullptr;
-
- if (!m_ReadyAllocators.empty())
- {
- std::pair& AllocatorPair = m_ReadyAllocators.front();
-
- if (AllocatorPair.first <= CompletedFenceValue)
- {
- pAllocator = AllocatorPair.second;
- ASSERT_SUCCEEDED(pAllocator->Reset());
- m_ReadyAllocators.pop();
- }
- }
-
- // If no allocator's were ready to be reused, create a new one
- if (pAllocator == nullptr)
- {
- ASSERT_SUCCEEDED(m_Device->CreateCommandAllocator(m_cCommandListType, MY_IID_PPV_ARGS(&pAllocator)));
- wchar_t AllocatorName[32];
- swprintf(AllocatorName, 32, L"CommandAllocator %zu", m_AllocatorPool.size());
- pAllocator->SetName(AllocatorName);
- m_AllocatorPool.push_back(pAllocator);
- }
-
- return pAllocator;
-}
-
-void CommandAllocatorPool::DiscardAllocator(uint64_t FenceValue, ID3D12CommandAllocator * Allocator)
-{
- std::lock_guard