{"id":143,"date":"2013-01-11T14:04:44","date_gmt":"2013-01-11T14:04:44","guid":{"rendered":"https:\/\/tonedev.tech\/?page_id=143"},"modified":"2024-01-17T14:32:34","modified_gmt":"2024-01-17T14:32:34","slug":"c-raytracer","status":"publish","type":"page","link":"https:\/\/tonedev.tech\/index.php\/c-raytracer\/","title":{"rendered":"Raytracer"},"content":{"rendered":"\n<div class=\"wp-block-group alignfull is-layout-flow wp-block-group-is-layout-flow\" style=\"margin-top:0;margin-bottom:0;padding-right:0;padding-left:0\">\n<div class=\"wp-block-cover aligncenter has-parallax has-raft-fg-color has-text-color has-link-color wp-elements-99dae6c8a498157a670fe39f4b56aa03 wp-elements-1db528aa9578109da3a838aa4a392572\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--40);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40);min-height:60vh\"><span aria-hidden=\"true\" class=\"wp-block-cover__background has-background-dim\"><\/span><div role=\"img\" class=\"wp-block-cover__image-background wp-image-147 has-parallax\" style=\"background-position:50% 50%;background-image:url(https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Screenshot2.png)\"><\/div><div class=\"wp-block-cover__inner-container is-layout-constrained wp-block-cover-is-layout-constrained\">\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-1 wp-block-group-is-layout-flex\" style=\"margin-top:0;margin-bottom:0;padding-top:0;padding-right:var(--wp--preset--spacing--40);padding-bottom:0;padding-left:var(--wp--preset--spacing--40)\"><h1 style=\"padding-right:0;padding-left:0;padding-top:0;padding-bottom:0\" class=\"has-text-align-left wp-block-post-title\">Raytracer<\/h1>\n\n\n<div style=\"margin-top:0;margin-bottom:0;height:10vh\" aria-hidden=\"true\" class=\"wp-block-spacer wp-container-content-1\"><\/div>\n\n\n\n<div class=\"wp-block-columns alignwide are-vertically-aligned-top is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-container-core-column-is-layout-1 wp-block-column-is-layout-flow\" style=\"border-top-style:none;border-top-width:0px;border-right-style:none;border-right-width:0px;border-bottom-style:none;border-bottom-width:0px;border-left-width:4px;padding-left:var(--wp--preset--spacing--40)\">\n<h2 class=\"wp-block-heading has-text-align-left has-medium-font-size\">Description<\/h2>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">This project was a graphics programming assignment by Dr. J. Bikker at Breda University of Applied Sciences.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-container-core-column-is-layout-2 wp-block-column-is-layout-flow\" style=\"border-top-style:none;border-top-width:0px;border-right-style:none;border-right-width:0px;border-bottom-style:none;border-bottom-width:0px;border-left-width:4px;padding-left:var(--wp--preset--spacing--40)\">\n<h2 class=\"wp-block-heading has-text-align-left has-medium-font-size\">Tools<\/h2>\n\n\n\n<ul>\n<li>C++<\/li>\n\n\n\n<li>SDL library template<\/li>\n\n\n\n<li>Microsoft Visual Studio 2012<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-container-core-column-is-layout-3 wp-block-column-is-layout-flow\" style=\"border-top-style:none;border-top-width:0px;border-right-style:none;border-right-width:0px;border-bottom-style:none;border-bottom-width:0px;border-left-width:4px;padding-left:var(--wp--preset--spacing--40)\">\n<h2 class=\"wp-block-heading has-text-align-left has-medium-font-size\">Info<\/h2>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">April 2014<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignwide has-raft-fg-alt-color has-raft-bg-background-color has-text-color has-background is-content-justification-center is-layout-constrained wp-container-core-group-is-layout-3 wp-block-group-is-layout-constrained\" style=\"margin-top:0px;margin-bottom:0px;padding-top:var(--wp--preset--spacing--30);padding-right:0;padding-bottom:var(--wp--preset--spacing--30);padding-left:0\">\n<figure class=\"wp-block-gallery alignwide has-nested-images columns-default is-cropped has-cropped-images wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"958\" height=\"539\" data-id=\"156\" src=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-3.png\" alt=\"\" class=\"wp-image-156\" srcset=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-3.png 958w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-3-300x169.png 300w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-3-768x432.png 768w\" sizes=\"auto, (max-width: 958px) 100vw, 958px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"958\" height=\"538\" data-id=\"153\" src=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Colored-Reflection.png\" alt=\"\" class=\"wp-image-153\" srcset=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Colored-Reflection.png 958w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Colored-Reflection-300x168.png 300w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Colored-Reflection-768x431.png 768w\" sizes=\"auto, (max-width: 958px) 100vw, 958px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"958\" height=\"538\" data-id=\"151\" src=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-2.png\" alt=\"\" class=\"wp-image-151\" srcset=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-2.png 958w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-2-300x168.png 300w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-2-768x431.png 768w\" sizes=\"auto, (max-width: 958px) 100vw, 958px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"958\" height=\"537\" data-id=\"149\" src=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Reflection.png\" alt=\"\" class=\"wp-image-149\" srcset=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Reflection.png 958w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Reflection-300x168.png 300w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Reflection-768x430.png 768w\" sizes=\"auto, (max-width: 958px) 100vw, 958px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"955\" height=\"537\" data-id=\"148\" src=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Screenshot1.png\" alt=\"\" class=\"wp-image-148\" srcset=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Screenshot1.png 955w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Screenshot1-300x169.png 300w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Screenshot1-768x432.png 768w\" sizes=\"auto, (max-width: 955px) 100vw, 955px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"959\" height=\"538\" data-id=\"147\" src=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Screenshot2.png\" alt=\"\" class=\"wp-image-147\" srcset=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Screenshot2.png 959w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Screenshot2-300x168.png 300w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Screenshot2-768x431.png 768w\" sizes=\"auto, (max-width: 959px) 100vw, 959px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"957\" height=\"539\" data-id=\"145\" src=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Directional-Arealight.png\" alt=\"\" class=\"wp-image-145\" srcset=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Directional-Arealight.png 957w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Directional-Arealight-300x169.png 300w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Directional-Arealight-768x433.png 768w\" sizes=\"auto, (max-width: 957px) 100vw, 957px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"956\" height=\"539\" data-id=\"144\" src=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-1.png\" alt=\"\" class=\"wp-image-144\" srcset=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-1.png 956w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-1-300x169.png 300w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-1-768x433.png 768w\" sizes=\"auto, (max-width: 956px) 100vw, 956px\" \/><\/figure>\n<\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-raft-bg-alt-background-color has-background is-layout-constrained wp-container-core-group-is-layout-4 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--40);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)\">\n<h2 class=\"wp-block-heading\">Features<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Original assignment list, second column are bonus objectives<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-2 wp-block-columns-is-layout-flex\" style=\"border-style:none;border-width:0px;padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30)\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<ul>\n<li>Camera position \/ orientation<\/li>\n\n\n\n<li>Shadows\n<ul>\n<li>Class for point lights<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Make the application interactive\n<ul>\n<li>Controls<\/li>\n\n\n\n<li>&#8216;quick render&#8217; mode<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Add the Phong shading model\n<ul>\n<li>N dot L<\/li>\n\n\n\n<li>Specular component<\/li>\n\n\n\n<li>Ambient color<\/li>\n\n\n\n<li>Material class<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Reflections\n<ul>\n<li>Visualization of normals<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Anti-aliasing<\/li>\n\n\n\n<li>Depth of field<\/li>\n\n\n\n<li>Recursive ray tracing<\/li>\n<\/ul>\n\n\n\n<div style=\"height:5vh\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<ul>\n<li>Refraction\n<ul>\n<li>Fresnel<\/li>\n\n\n\n<li>Absorption<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Diffuse reflections<\/li>\n\n\n\n<li>Soft shadows\n<ul>\n<li>Area lights<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><s>Diffuse refractions<\/s><\/li>\n\n\n\n<li>Diffraction<\/li>\n\n\n\n<li><s>Triangle intersection<\/s>\n<ul>\n<li><s>Triangle mesh loading<\/s><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><s>HDR skydome<\/s><\/li>\n\n\n\n<li>SIMD intersection of 4 rays<\/li>\n\n\n\n<li>Texture mapping<\/li>\n\n\n\n<li><s>Ambient occlusion<\/s><\/li>\n\n\n\n<li><s>Path tracing<\/s><\/li>\n\n\n\n<li><s>Acceleration structure<\/s><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-center has-border-color has-raft-bg-alt-border-color is-layout-flex wp-container-core-columns-is-layout-3 wp-block-columns-is-layout-flex\" style=\"border-width:2px;margin-top:0;margin-bottom:0\">\n<div class=\"wp-block-column is-vertically-aligned-center has-raft-bg-alt-background-color has-background is-layout-flow wp-block-column-is-layout-flow\" style=\"padding-top:32px;padding-right:32px;padding-bottom:32px;padding-left:32px\">\n<figure data-wp-context=\"{  &quot;imageLoaded&quot;: false,\n\t\t\t\t&quot;initialized&quot;: false,\n\t\t\t\t&quot;lightboxEnabled&quot;: false,\n\t\t\t\t&quot;hideAnimationEnabled&quot;: false,\n\t\t\t\t&quot;preloadInitialized&quot;: false,\n\t\t\t\t&quot;lightboxAnimation&quot;: &quot;zoom&quot;,\n\t\t\t\t&quot;imageUploadedSrc&quot;: &quot;https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/AAfix.png&quot;,\n\t\t\t\t&quot;imageCurrentSrc&quot;: &quot;&quot;,\n\t\t\t\t&quot;targetWidth&quot;: &quot;958&quot;,\n\t\t\t\t&quot;targetHeight&quot;: &quot;537&quot;,\n\t\t\t\t&quot;scaleAttr&quot;: &quot;&quot;,\n\t\t\t\t&quot;dialogLabel&quot;: &quot;Enlarged image&quot;\n\t\t\t}\" data-wp-interactive=\"{&quot;namespace&quot;:&quot;core\/image&quot;}\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"958\" height=\"537\" data-wp-init=\"callbacks.initOriginImage\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"actions.handleLoad\" data-wp-watch--setStylesOnResize=\"callbacks.setStylesOnResize\" data-wp-watch=\"callbacks.setButtonStyles\" src=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/AAfix.png\" alt=\"\" class=\"wp-image-239\" srcset=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/AAfix.png 958w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/AAfix-300x168.png 300w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/AAfix-768x430.png 768w\" sizes=\"auto, (max-width: 958px) 100vw, 958px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button>        <div aria-label=\"\" aria-modal=\"\" role=\"\" data-wp-body=\"\" class=\"wp-lightbox-overlay zoom\"\n            data-wp-bind--role=\"state.roleAttribute\"\n            data-wp-bind--aria-label=\"state.dialogLabel\"\n            data-wp-class--initialized=\"context.initialized\"\n            data-wp-class--active=\"context.lightboxEnabled\"\n            data-wp-class--hideAnimationEnabled=\"context.hideAnimationEnabled\"\n            data-wp-bind--aria-modal=\"state.ariaModal\"\n            data-wp-watch=\"callbacks.initLightbox\"\n            data-wp-on--keydown=\"actions.handleKeydown\"\n            data-wp-on--touchstart=\"actions.handleTouchStart\"\n            data-wp-on--touchmove=\"actions.handleTouchMove\"\n            data-wp-on--touchend=\"actions.handleTouchEnd\"\n            data-wp-on--click=\"actions.hideLightbox\"\n            tabindex=\"-1\"\n            >\n                <button type=\"button\" aria-label=\"Close\" style=\"fill: var(--wp--preset--color--raft-fg)\" class=\"close-button\" data-wp-on--click=\"actions.hideLightbox\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z\"><\/path><\/svg>\n                <\/button>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image aligncenter size-full responsive-image\"><img decoding=\"async\" data-wp-bind--src=\"context.imageCurrentSrc\" data-wp-style--object-fit=\"state.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-239\"\/><\/figure>\n<\/div>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image aligncenter size-full enlarged-image\"><img decoding=\"async\" src=\"\" data-wp-bind--src=\"state.enlargedImgSrc\" data-wp-style--object-fit=\"state.lightboxObjectFit\"  alt=\"\" class=\"wp-image-239\"\/><\/figure>\n<\/div>\n                <div class=\"scrim\" style=\"background-color: var(--wp--preset--color--raft-bg)\" aria-hidden=\"true\"><\/div>\n        <\/div><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"padding-top:32px;padding-right:32px;padding-bottom:32px;padding-left:32px\">\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-5 wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">ANTI-ALISING<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ray tracing allows for perfect sub-pixel anti-aliasing, by randomizing the ray origin for each pixel and averaging the results.<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns has-border-color has-raft-bg-alt-border-color is-layout-flex wp-container-core-columns-is-layout-4 wp-block-columns-is-layout-flex\" style=\"border-width:2px;margin-top:0;margin-bottom:0\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"padding-top:32px;padding-right:32px;padding-bottom:32px;padding-left:32px\">\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-6 wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">DEPTH OF FIELD<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A camera lens can be simulated, offering photorealistic depth-of-field and focal point.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-stretch has-raft-bg-alt-background-color has-background is-layout-flow wp-block-column-is-layout-flow\" style=\"padding-top:32px;padding-right:32px;padding-bottom:32px;padding-left:32px\">\n<figure data-wp-context=\"{  &quot;imageLoaded&quot;: false,\n\t\t\t\t&quot;initialized&quot;: false,\n\t\t\t\t&quot;lightboxEnabled&quot;: false,\n\t\t\t\t&quot;hideAnimationEnabled&quot;: false,\n\t\t\t\t&quot;preloadInitialized&quot;: false,\n\t\t\t\t&quot;lightboxAnimation&quot;: &quot;zoom&quot;,\n\t\t\t\t&quot;imageUploadedSrc&quot;: &quot;https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Depth-of-Field.png&quot;,\n\t\t\t\t&quot;imageCurrentSrc&quot;: &quot;&quot;,\n\t\t\t\t&quot;targetWidth&quot;: &quot;955&quot;,\n\t\t\t\t&quot;targetHeight&quot;: &quot;538&quot;,\n\t\t\t\t&quot;scaleAttr&quot;: &quot;&quot;,\n\t\t\t\t&quot;dialogLabel&quot;: &quot;Enlarged image&quot;\n\t\t\t}\" data-wp-interactive=\"{&quot;namespace&quot;:&quot;core\/image&quot;}\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"955\" height=\"538\" data-wp-init=\"callbacks.initOriginImage\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"actions.handleLoad\" data-wp-watch--setStylesOnResize=\"callbacks.setStylesOnResize\" data-wp-watch=\"callbacks.setButtonStyles\" src=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Depth-of-Field.png\" alt=\"\" class=\"wp-image-152\" srcset=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Depth-of-Field.png 955w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Depth-of-Field-300x169.png 300w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Depth-of-Field-768x433.png 768w\" sizes=\"auto, (max-width: 955px) 100vw, 955px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button>        <div aria-label=\"\" aria-modal=\"\" role=\"\" data-wp-body=\"\" class=\"wp-lightbox-overlay zoom\"\n            data-wp-bind--role=\"state.roleAttribute\"\n            data-wp-bind--aria-label=\"state.dialogLabel\"\n            data-wp-class--initialized=\"context.initialized\"\n            data-wp-class--active=\"context.lightboxEnabled\"\n            data-wp-class--hideAnimationEnabled=\"context.hideAnimationEnabled\"\n            data-wp-bind--aria-modal=\"state.ariaModal\"\n            data-wp-watch=\"callbacks.initLightbox\"\n            data-wp-on--keydown=\"actions.handleKeydown\"\n            data-wp-on--touchstart=\"actions.handleTouchStart\"\n            data-wp-on--touchmove=\"actions.handleTouchMove\"\n            data-wp-on--touchend=\"actions.handleTouchEnd\"\n            data-wp-on--click=\"actions.hideLightbox\"\n            tabindex=\"-1\"\n            >\n                <button type=\"button\" aria-label=\"Close\" style=\"fill: var(--wp--preset--color--raft-fg)\" class=\"close-button\" data-wp-on--click=\"actions.hideLightbox\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z\"><\/path><\/svg>\n                <\/button>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image aligncenter size-full responsive-image\"><img decoding=\"async\" data-wp-bind--src=\"context.imageCurrentSrc\" data-wp-style--object-fit=\"state.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-152\"\/><\/figure>\n<\/div>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image aligncenter size-full enlarged-image\"><img decoding=\"async\" src=\"\" data-wp-bind--src=\"state.enlargedImgSrc\" data-wp-style--object-fit=\"state.lightboxObjectFit\"  alt=\"\" class=\"wp-image-152\"\/><\/figure>\n<\/div>\n                <div class=\"scrim\" style=\"background-color: var(--wp--preset--color--raft-bg)\" aria-hidden=\"true\"><\/div>\n        <\/div><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-center has-border-color has-raft-bg-alt-border-color is-layout-flex wp-container-core-columns-is-layout-5 wp-block-columns-is-layout-flex\" style=\"border-width:2px;margin-top:0;margin-bottom:0\">\n<div class=\"wp-block-column is-vertically-aligned-center has-raft-bg-alt-background-color has-background is-layout-flow wp-block-column-is-layout-flow\" style=\"padding-top:32px;padding-right:32px;padding-bottom:32px;padding-left:32px\">\n<figure data-wp-context=\"{  &quot;imageLoaded&quot;: false,\n\t\t\t\t&quot;initialized&quot;: false,\n\t\t\t\t&quot;lightboxEnabled&quot;: false,\n\t\t\t\t&quot;hideAnimationEnabled&quot;: false,\n\t\t\t\t&quot;preloadInitialized&quot;: false,\n\t\t\t\t&quot;lightboxAnimation&quot;: &quot;zoom&quot;,\n\t\t\t\t&quot;imageUploadedSrc&quot;: &quot;https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-2.png&quot;,\n\t\t\t\t&quot;imageCurrentSrc&quot;: &quot;&quot;,\n\t\t\t\t&quot;targetWidth&quot;: &quot;958&quot;,\n\t\t\t\t&quot;targetHeight&quot;: &quot;538&quot;,\n\t\t\t\t&quot;scaleAttr&quot;: &quot;&quot;,\n\t\t\t\t&quot;dialogLabel&quot;: &quot;Enlarged image&quot;\n\t\t\t}\" data-wp-interactive=\"{&quot;namespace&quot;:&quot;core\/image&quot;}\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"958\" height=\"538\" data-wp-init=\"callbacks.initOriginImage\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"actions.handleLoad\" data-wp-watch--setStylesOnResize=\"callbacks.setStylesOnResize\" data-wp-watch=\"callbacks.setButtonStyles\" src=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-2.png\" alt=\"\" class=\"wp-image-151\" srcset=\"https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-2.png 958w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-2-300x168.png 300w, https:\/\/tonedev.tech\/wp-content\/uploads\/2024\/01\/Glass-ball-2-768x431.png 768w\" sizes=\"auto, (max-width: 958px) 100vw, 958px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button>        <div aria-label=\"\" aria-modal=\"\" role=\"\" data-wp-body=\"\" class=\"wp-lightbox-overlay zoom\"\n            data-wp-bind--role=\"state.roleAttribute\"\n            data-wp-bind--aria-label=\"state.dialogLabel\"\n            data-wp-class--initialized=\"context.initialized\"\n            data-wp-class--active=\"context.lightboxEnabled\"\n            data-wp-class--hideAnimationEnabled=\"context.hideAnimationEnabled\"\n            data-wp-bind--aria-modal=\"state.ariaModal\"\n            data-wp-watch=\"callbacks.initLightbox\"\n            data-wp-on--keydown=\"actions.handleKeydown\"\n            data-wp-on--touchstart=\"actions.handleTouchStart\"\n            data-wp-on--touchmove=\"actions.handleTouchMove\"\n            data-wp-on--touchend=\"actions.handleTouchEnd\"\n            data-wp-on--click=\"actions.hideLightbox\"\n            tabindex=\"-1\"\n            >\n                <button type=\"button\" aria-label=\"Close\" style=\"fill: var(--wp--preset--color--raft-fg)\" class=\"close-button\" data-wp-on--click=\"actions.hideLightbox\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z\"><\/path><\/svg>\n                <\/button>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image aligncenter size-full responsive-image\"><img decoding=\"async\" data-wp-bind--src=\"context.imageCurrentSrc\" data-wp-style--object-fit=\"state.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-151\"\/><\/figure>\n<\/div>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image aligncenter size-full enlarged-image\"><img decoding=\"async\" src=\"\" data-wp-bind--src=\"state.enlargedImgSrc\" data-wp-style--object-fit=\"state.lightboxObjectFit\"  alt=\"\" class=\"wp-image-151\"\/><\/figure>\n<\/div>\n                <div class=\"scrim\" style=\"background-color: var(--wp--preset--color--raft-bg)\" aria-hidden=\"true\"><\/div>\n        <\/div><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"padding-top:32px;padding-right:32px;padding-bottom:32px;padding-left:32px\">\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-7 wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">GLASS SIMULATION<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Schlick&#8217;s approximation is used to determine the ratio between reflection and transmittance when colliding with translucent objects. Resulting in realistic zoomed and flipped images<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Features Original assignment list, second column are bonus objectives ANTI-ALISING Ray tracing allows for perfect sub-pixel anti-aliasing, by randomizing the ray origin for each pixel and averaging the results. DEPTH OF FIELD A camera lens can be simulated, offering photorealistic depth-of-field and focal point. GLASS SIMULATION Schlick&#8217;s approximation is used to determine the ratio between [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":147,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-143","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/tonedev.tech\/index.php\/wp-json\/wp\/v2\/pages\/143","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tonedev.tech\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tonedev.tech\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tonedev.tech\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tonedev.tech\/index.php\/wp-json\/wp\/v2\/comments?post=143"}],"version-history":[{"count":67,"href":"https:\/\/tonedev.tech\/index.php\/wp-json\/wp\/v2\/pages\/143\/revisions"}],"predecessor-version":[{"id":753,"href":"https:\/\/tonedev.tech\/index.php\/wp-json\/wp\/v2\/pages\/143\/revisions\/753"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tonedev.tech\/index.php\/wp-json\/wp\/v2\/media\/147"}],"wp:attachment":[{"href":"https:\/\/tonedev.tech\/index.php\/wp-json\/wp\/v2\/media?parent=143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}