DOLBY VISION FOR GAMES

Gaming in HDR, solved.

Conquer HDR, unlock a new realm of creative possibilities, and simplify your imaging pipeline with Dolby Vision.

 

Master your game in Dolby Vision

Dolby Vision HDR brings incredible brightness, contrast, and color to your games for a more intense, immersive, and engaging experience on Dolby Vision TVs, laptops, and monitors — and creates your HDR10 and SDR outputs in a single unified pipeline.

 

What is Dolby Vision?

Leveraging our history elevating the visual experience in the cinema, Dolby Vision combines two powerful technologies — high dynamic range (HDR) and wide color gamut — with an ecosystem of Dolby Vision TVs, laptops, and monitors that deliver unseen levels of color and contrast to ensure that players experience your world exactly how you imagined it.

What is Dolby Vision?

Leveraging our history elevating the visual experience in the cinema, Dolby Vision combines two powerful technologies — high dynamic range (HDR) and wide color gamut — with an ecosystem of Dolby Vision TVs, laptops, and monitors that deliver unseen levels of color and contrast to ensure that players experience your world exactly how you imagined it.

Push the boundaries of color and contrast

Dolby Vision gives you a new, expanded realm of ultravivid color, striking brightness, dramatic contrast, and lifelike detail that transport players into the world of your game. Even compared to generic HDR, Dolby Vision gives you a broader, more realistic palette of color and contrast to create stunning visuals.

Push the boundaries of color and contrast

Dolby Vision gives you a new, expanded realm of ultravivid color, striking brightness, dramatic contrast, and lifelike detail that transport players into the world of your game. Even compared to generic HDR, Dolby Vision gives you a broader, more realistic palette of color and contrast to create stunning visuals.

 
DOLBY VISION
GENERIC HDR
SDR
Bit depth (higher bit depth = less color banding)

12 bit (4096 shades per color)

10 bit (1023 shades per color)

8 bit (256 shades per color)

Color gamut

P3 up to Rec. 2020

P3 up to Rec. 2020

Rec. 709, BT 1886

Mastering luminance

1,000 min. up to 10,000 nits

Typically 1,000 nits

100 nits

Scene-based metadata
checkmark.png
   
Per-target artistic trims
checkmark.png
   



Ensure your game stays true to your vision

Players play games across a wide variety of displays, each with different brightness capabilities and color performance. Dolby Vision and our ecosystem of Dolby Vision TVs, laptops, and monitors protect your artistic intent, ensuring that players experience your game as it was meant to be seen, the way it looked on your reference monitor.

Ensure your game stays true to your vision

Players play games across a wide variety of displays, each with different brightness capabilities and color performance. Dolby Vision and our ecosystem of Dolby Vision TVs, laptops, and monitors protect your artistic intent, ensuring that players experience your game as it was meant to be seen, the way it looked on your reference monitor.

Dolby Vision device partners

DV-for-Developers_Logo-Wall-for-Vision-TV-Display-Partners.png

Dolby Vision, HDR10, and SDR in a single pipeline

Don't sacrifice the look of your game or your time trying to manually match different masters of your game in SDR and HDR10. Master your game once in Dolby Vision — the in-game Dolby Vision tone mapper will generate consistent and matching outputs for Dolby Vision, HDR10, and SDR displays.

Dolby Vision, HDR10, and SDR in a single pipeline

Don't sacrifice the look of your game or your time trying to manually match different masters of your game in SDR and HDR10. Master your game once in Dolby Vision — the in-game Dolby Vision tone mapper will generate consistent and matching outputs for Dolby Vision, HDR10, and SDR displays.

Ready to get started?

Get in touch with our Developer Relations team.
Sign up for our Unreal plugin or get access to our fully documented SIDK to integrate Dolby Vision into your custom game engine.
// This view acts as a rendering template to render InitScript(and server-side Form's descriptor) in FormContainerBlock's client-side for Form[d48256c3-8006-45ba-8721-dcdaaa498cd6]. // TECHNOTE: all serverside (paths, dynamic values) of EPiServerForms will be transfered to client side here in this section. (function initializeOnRenderingFormDescriptor() { // each workingFormInfo is store inside epi.EPiServer.Forms, lookup by its FormGuid var workingFormInfo=epi.EPiServer.Forms["d48256c3-8006-45ba-8721-dcdaaa498cd6"] ={ Id: "d48256c3-8006-45ba-8721-dcdaaa498cd6" , Name: "Gaming Form (Form)" , // whether this Form can be submitted which relates to the visitor's data (cookie, identity) and Form's settings (AllowAnonymous, AllowXXX) SubmittableStatus : {"submittable":true,"message":""}, ConfirmMessage: "Thank you for your submission", ResetConfirmMessage : "", ShowNavigationBar : false, ShowSummarizedData : false, // serialize the dependency configuration of this form to clientside DependenciesInfo : JSON.parse("[]"), // keep all fieldName which are not satisfied the field dependency conditions DependencyInactiveElements: [], // Validation info, for executing validating on client side ValidationInfo : JSON.parse("[{\"targetElementName\":\"__field_22098\",\"targetElementId\":\"3380bdbf-52d9-4e66-a492-611c79402652\",\"validators\":[{\"type\":\"EPiServer.Forms.Implementation.Validation.RequiredValidator\",\"description\":null,\"model\":{\"message\":\"This field is required.\",\"validationCssClass\":\"ValidationRequired\",\"additionalAttributes\":{\"required\":\"\",\"aria-required\":\"true\"}}}]},{\"targetElementName\":\"__field_22099\",\"targetElementId\":\"0a9453be-7816-44af-8ed8-b27d40463839\",\"validators\":[{\"type\":\"EPiServer.Forms.Implementation.Validation.RequiredValidator\",\"description\":null,\"model\":{\"message\":\"This field is required.\",\"validationCssClass\":\"ValidationRequired\",\"additionalAttributes\":{\"required\":\"\",\"aria-required\":\"true\"}}},{\"type\":\"EPiServer.Forms.Implementation.Validation.EmailValidator\",\"description\":null,\"model\":{\"jsPattern\":\"^((([a-zA-Z]|\\\\d|[!#\\\\$%\u0026\u0027\\\\*\\\\+\\\\-\\\\/=\\\\?\\\\^_`{\\\\|}~]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])+(\\\\.([a-zA-Z]|\\\\d|[!#\\\\$%\u0026\u0027\\\\*\\\\+\\\\-\\\\/=\\\\?\\\\^_`{\\\\|}~]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])+)*)|((\\\\x22)((((\\\\x20|\\\\x09)*(\\\\x0d\\\\x0a))?(\\\\x20|\\\\x09)+)?(([\\\\x01-\\\\x08\\\\x0b\\\\x0c\\\\x0e-\\\\x1f\\\\x7f]|\\\\x21|[\\\\x23-\\\\x5b]|[\\\\x5d-\\\\x7e]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(\\\\\\\\([\\\\x01-\\\\x09\\\\x0b\\\\x0c\\\\x0d-\\\\x7f]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]))))*(((\\\\x20|\\\\x09)*(\\\\x0d\\\\x0a))?(\\\\x20|\\\\x09)+)?(\\\\x22)))@((([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])([a-zA-Z]|\\\\d|-|\\\\.|_|~|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])*([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])))\\\\.)+(([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])([a-zA-Z]|\\\\d|-|\\\\.|_|~|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])*([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])))$\",\"dotNetPattern\":\"^((([a-zA-Z]|\\\\d|[!#\\\\$%\u0026\u0027\\\\*\\\\+\\\\-\\\\/=\\\\?\\\\^_`{\\\\|}~]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])+(\\\\.([a-zA-Z]|\\\\d|[!#\\\\$%\u0026\u0027\\\\*\\\\+\\\\-\\\\/=\\\\?\\\\^_`{\\\\|}~]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])+)*)|((\\\\x22)((((\\\\x20|\\\\x09)*(\\\\x0d\\\\x0a))?(\\\\x20|\\\\x09)+)?(([\\\\x01-\\\\x08\\\\x0b\\\\x0c\\\\x0e-\\\\x1f\\\\x7f]|\\\\x21|[\\\\x23-\\\\x5b]|[\\\\x5d-\\\\x7e]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(\\\\\\\\([\\\\x01-\\\\x09\\\\x0b\\\\x0c\\\\x0d-\\\\x7f]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]))))*(((\\\\x20|\\\\x09)*(\\\\x0d\\\\x0a))?(\\\\x20|\\\\x09)+)?(\\\\x22)))@((([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])([a-zA-Z]|\\\\d|-|\\\\.|_|~|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])*([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])))\\\\.)+(([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])([a-zA-Z]|\\\\d|-|\\\\.|_|~|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])*([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])))$\",\"message\":\"Enter a valid email address.\",\"validationCssClass\":null,\"additionalAttributes\":null}}]},{\"targetElementName\":\"__field_26722\",\"targetElementId\":\"c8a90990-e9e3-4dfa-bf0f-bfc013462d5c\",\"validators\":[{\"type\":\"EPiServer.Forms.Implementation.Validation.RequiredValidator\",\"description\":null,\"model\":{\"message\":\"This field is required.\",\"validationCssClass\":\"ValidationRequired\",\"additionalAttributes\":{\"required\":\"\",\"aria-required\":\"true\"}}}]},{\"targetElementName\":\"__field_22105\",\"targetElementId\":\"28efb414-436d-4d38-89a1-1c1e089e6e66\",\"validators\":[{\"type\":\"EPiServer.Forms.Implementation.Validation.RequiredValidator\",\"description\":null,\"model\":{\"message\":\"This field is required.\",\"validationCssClass\":\"ValidationRequired\",\"additionalAttributes\":{\"required\":\"\",\"aria-required\":\"true\"}}}]},{\"targetElementName\":\"__field_22107\",\"targetElementId\":\"0a375ad1-b238-453d-b5ea-34fb7a3d7ea1\",\"validators\":[{\"type\":\"EPiServer.Forms.Implementation.Validation.RequiredValidator\",\"description\":null,\"model\":{\"message\":\"This field is required.\",\"validationCssClass\":\"ValidationRequired\",\"additionalAttributes\":{\"required\":\"\",\"aria-required\":\"true\"}}}]}]"), // Steps information for driving multiple-step Forms. StepsInfo : { Steps: [{"index":0,"attachedUrl":"","dependField":null,"dependCondition":null,"isActive":true,"attachedContentLink":"","dependValue":"","elementName":"__field_","guid":"00000000-0000-0000-0000-000000000000"}] }, FieldsExcludedInSubmissionSummary: [], ElementsInfo: JSON.parse("{\"__field_22098\":{\"type\":\"EPiServer.Forms.Implementation.Elements.TextboxElementBlock\",\"friendlyName\":\"Name\",\"customBinding\":false},\"__field_22099\":{\"type\":\"EPiServer.Forms.Implementation.Elements.TextboxElementBlock\",\"friendlyName\":\"Email\",\"customBinding\":false},\"__field_22100\":{\"type\":\"EPiServer.Forms.Implementation.Elements.TextboxElementBlock\",\"friendlyName\":\"Company\",\"customBinding\":false},\"__field_22101\":{\"type\":\"EPiServer.Forms.Implementation.Elements.TextboxElementBlock\",\"friendlyName\":\"Role/Job Title\",\"customBinding\":false},\"__field_26722\":{\"type\":\"EPiServer.Forms.Implementation.Elements.SelectionElementBlock\",\"friendlyName\":\"Country\",\"customBinding\":false},\"__field_22103\":{\"type\":\"EPiServer.Forms.Implementation.Elements.TextboxElementBlock\",\"friendlyName\":\"State/Province\",\"customBinding\":false},\"__field_22104\":{\"type\":\"EPiServer.Forms.Implementation.Elements.TextboxElementBlock\",\"friendlyName\":\"City\",\"customBinding\":false},\"__field_22105\":{\"type\":\"EPiServer.Forms.Implementation.Elements.TextboxElementBlock\",\"friendlyName\":\"Subject\",\"customBinding\":false},\"__field_22107\":{\"type\":\"EPiServer.Forms.Implementation.Elements.TextareaElementBlock\",\"friendlyName\":\"Message\",\"customBinding\":false},\"__field_22168\":{\"type\":\"EPiServer.Forms.Implementation.Elements.ParagraphTextElementBlock\",\"friendlyName\":\"Rich text (with placeholders)\",\"customBinding\":false},\"__field_25214\":{\"type\":\"Dolby.Web.Core.Implementation.Models.Form.OptInProcessCheckboxElementBlockType\",\"friendlyName\":\"Gaming (opt-in)\",\"customBinding\":false},\"__field_49786\":{\"type\":\"Dolby.Web.Core.Implementation.Models.Form.GoogleReCaptchaElementBlock\",\"friendlyName\":\"Google Captcha\",\"customBinding\":false},\"__field_22145\":{\"type\":\"EPiServer.Forms.Implementation.Elements.SubmitButtonElementBlock\",\"friendlyName\":\"Submit button\",\"customBinding\":false}}"), DataSubmitController: "/EPiServer.Forms/DataSubmit" }; /// TECHNOTE: Calculation at FormInfo level, and these values will be static input for later processing. workingFormInfo.StepsInfo.FormHasNoStep_VirtualStepCreated=true; // this FLAG will be true, if Editor does not put any FormStep. Engine will create a virtual step, with empty GUID workingFormInfo.StepsInfo.FormHasNothing=false; // this FLAG will be true if FormContainer has no element at all workingFormInfo.StepsInfo.AllStepsAreNotLinked=true; // this FLAG will be true, if all steps all have contentLink= ="" (emptyString) epi.EPiServer.SystemSettings = { RequestVerification: { FormFieldName: "__RequestVerificationToken", HeaderName: "RequestVerificationToken" } }; })();
function getSubmitBtn(target) { const scriptTarget = document.querySelector(`#${target}`); const container = scriptTarget?.closest('.EPiServerForms'); const submitBtn = container?.querySelector('form .FormSubmitButton'); return submitBtn; } window[`disableSubmitButton${'__field_49786'}`] = function() { const target = '__field_49786'; this.getSubmitBtn(target).setAttribute('disabled', true); this.getSubmitBtn(target).classList.add('no-spin'); } window[`onReCaptchaSuccess${'__field_49786'}`] = function() { const target = '__field_49786'; this.getSubmitBtn(target).removeAttribute('disabled'); this.getSubmitBtn(target).classList.remove('no-spin'); } // disable submit cta on load window[`disableSubmitButton${'__field_49786'}`]();
function reloadEpiFormJs(url) { const dataEl = document.querySelectorAll('[data-id="fsasync"]'); if (!dataEl.length) { var theScript = document.createElement('script'); theScript.src = url; theScript.setAttribute('data-id', 'fsasync'); document.head.appendChild(theScript); } } window.setTimeout(function () { reloadEpiFormJs('/Util/EPiServer.Forms/EPiServerForms.min.js'); }, 3000);