{"id":1751,"date":"2023-01-04T10:39:55","date_gmt":"2023-01-04T01:39:55","guid":{"rendered":"http:\/\/lousodrome.net\/blog\/light\/?p=1751"},"modified":"2023-02-26T01:19:21","modified_gmt":"2023-02-25T16:19:21","slug":"practical-pigment-mixing-for-digital-painting","status":"publish","type":"post","link":"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/","title":{"rendered":"Practical Pigment Mixing for Digital Painting"},"content":{"rendered":"\n<p>About a year ago at <a href=\"https:\/\/sa2021.siggraph.org\/en\/\">SIGGRAPH Asia 2021<\/a> (which took place as a hybrid conference both online and on site at the Tokyo International Forum) one of the technical papers that caught my attention was the publication by <a href=\"https:\/\/sarkasochorova.com\/\">\u0160\u00e1rka Sochorov\u00e1<\/a> and <a href=\"https:\/\/dcgi.fel.cvut.cz\/people\/jamriond\">Ond\u0159ej Jamri\u0161ka<\/a> on color mixing.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Talk - Practical Pigment Mixing for Digital Painting\" width=\"584\" height=\"329\" src=\"https:\/\/www.youtube.com\/embed\/_qa5iWdfNKg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Color mixing in most digital painting tools is infamously unsatisfying, often limited to a linear interpolation in RBG space, resulting in unpleasing gradients very different from what one would expect. Ten years ago I mentioned <a href=\"http:\/\/lousodrome.net\/blog\/light\/2012\/11\/11\/article-on-the-color-mixing-tool-of-paper-for-ipad\/\" data-type=\"post\" data-id=\"489\">this article that presented the color mixing of the application Paper<\/a>, which tried to solve this very problem.<\/p>\n\n\n\n<p>This time, the core idea is to model colors as pigments: estimate the pigment concentration based on the color, so in a way, move from RGB space to &#8220;pigment space&#8221;, and interpolate the pigment concentration, before converting back to RGB space.<\/p>\n\n\n\n<p>The paper uses the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Kubelka%E2%80%93Munk_theory\">Kubelka-Munk<\/a> model for estimating colors from pigment concentration. The problem however is to find a transformation between the two spaces. A first assumption is made on the available pigments: essentially restricting them to CMYK. Then two problems are addressed: RGB colors that cannot be represented with those pigments, and likewise pigment colors that cannot be represented in RGB.<br>The paper proposes a remapping that enables a transform and its inverse, thus allowing to move from RGB space to pigment space, interpolate in pigment space, and move back to RGB space.<\/p>\n\n\n\n<p>You could argue this is therefore a physically based diffuse color mixing.<\/p>\n\n\n\n<p>Finally, the implementation of the proposed model, <a href=\"https:\/\/scrtwpns.com\/mixbox\/\">Mixbox<\/a>, is available under a CC BY-NC license:<br><a href=\"https:\/\/github.com\/scrtwpns\/mixbox\n\">https:\/\/github.com\/scrtwpns\/mixbox<br><\/a><br><a href=\"https:\/\/www.youtube.com\/@TwoMinutePapers\/\">Two Minute Papers<\/a> did a video on this paper as well:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/youtube.com\/watch?v=b2D_5G_npVI\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>About a year ago at SIGGRAPH Asia 2021 one of the technical papers that caught my attention was the publication by Sochorov\u00e1 and Jamri\u0161ka on color mixing. The core idea is to model colors as pigments. <a href=\"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1754,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[24,17],"tags":[374,270,58,634,269,64,936,149,937,46],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Practical Pigment Mixing for Digital Painting &ndash; Light is beautiful<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Practical Pigment Mixing for Digital Painting &ndash; Light is beautiful\" \/>\n<meta property=\"og:description\" content=\"About a year ago at SIGGRAPH Asia 2021 one of the technical papers that caught my attention was the publication by Sochorov\u00e1 and Jamri\u0161ka on color mixing. The core idea is to model colors as pigments. Continue reading &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/\" \/>\n<meta property=\"og:site_name\" content=\"Light is beautiful\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-04T01:39:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-25T16:19:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/lousodrome.net\/blog\/light\/files\/2023\/01\/Mixbox-smudging.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"636\" \/>\n\t<meta property=\"og:image:height\" content=\"257\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Julien Guertault\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Zavie\" \/>\n<meta name=\"twitter:site\" content=\"@Zavie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Julien Guertault\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/\"},\"author\":{\"name\":\"Julien Guertault\",\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f\"},\"headline\":\"Practical Pigment Mixing for Digital Painting\",\"datePublished\":\"2023-01-04T01:39:55+00:00\",\"dateModified\":\"2023-02-25T16:19:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/\"},\"wordCount\":300,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f\"},\"keywords\":[\"color\",\"color mixing\",\"diffuse\",\"painting\",\"reflectance\",\"SIGGRAPH\",\"SIGGRAPH Asia\",\"talk\",\"Two Minute Papers\",\"video\"],\"articleSection\":[\"Design\",\"Rendering\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/\",\"url\":\"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/\",\"name\":\"Practical Pigment Mixing for Digital Painting &ndash; Light is beautiful\",\"isPartOf\":{\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#website\"},\"datePublished\":\"2023-01-04T01:39:55+00:00\",\"dateModified\":\"2023-02-25T16:19:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/lousodrome.net\/blog\/light\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Practical Pigment Mixing for Digital Painting\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#website\",\"url\":\"https:\/\/lousodrome.net\/blog\/light\/\",\"name\":\"Light is beautiful\",\"description\":\"Thoughts of a graphics programmer, demoscener and spare time photographer\",\"publisher\":{\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/lousodrome.net\/blog\/light\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f\",\"name\":\"Julien Guertault\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2e5fc7a18e1701e1bb61a5da0ef35cf7?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2e5fc7a18e1701e1bb61a5da0ef35cf7?s=96&d=identicon&r=g\",\"caption\":\"Julien Guertault\"},\"logo\":{\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/image\/\"},\"url\":\"https:\/\/lousodrome.net\/blog\/light\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Practical Pigment Mixing for Digital Painting &ndash; Light is beautiful","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/","og_locale":"en_US","og_type":"article","og_title":"Practical Pigment Mixing for Digital Painting &ndash; Light is beautiful","og_description":"About a year ago at SIGGRAPH Asia 2021 one of the technical papers that caught my attention was the publication by Sochorov\u00e1 and Jamri\u0161ka on color mixing. The core idea is to model colors as pigments. Continue reading &rarr;","og_url":"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/","og_site_name":"Light is beautiful","article_published_time":"2023-01-04T01:39:55+00:00","article_modified_time":"2023-02-25T16:19:21+00:00","og_image":[{"width":636,"height":257,"url":"https:\/\/lousodrome.net\/blog\/light\/files\/2023\/01\/Mixbox-smudging.jpg","type":"image\/jpeg"}],"author":"Julien Guertault","twitter_card":"summary_large_image","twitter_creator":"@Zavie","twitter_site":"@Zavie","twitter_misc":{"Written by":"Julien Guertault","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/#article","isPartOf":{"@id":"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/"},"author":{"name":"Julien Guertault","@id":"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f"},"headline":"Practical Pigment Mixing for Digital Painting","datePublished":"2023-01-04T01:39:55+00:00","dateModified":"2023-02-25T16:19:21+00:00","mainEntityOfPage":{"@id":"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/"},"wordCount":300,"commentCount":0,"publisher":{"@id":"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f"},"keywords":["color","color mixing","diffuse","painting","reflectance","SIGGRAPH","SIGGRAPH Asia","talk","Two Minute Papers","video"],"articleSection":["Design","Rendering"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/","url":"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/","name":"Practical Pigment Mixing for Digital Painting &ndash; Light is beautiful","isPartOf":{"@id":"https:\/\/lousodrome.net\/blog\/light\/#website"},"datePublished":"2023-01-04T01:39:55+00:00","dateModified":"2023-02-25T16:19:21+00:00","breadcrumb":{"@id":"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/lousodrome.net\/blog\/light\/2023\/01\/04\/practical-pigment-mixing-for-digital-painting\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/lousodrome.net\/blog\/light\/"},{"@type":"ListItem","position":2,"name":"Practical Pigment Mixing for Digital Painting"}]},{"@type":"WebSite","@id":"https:\/\/lousodrome.net\/blog\/light\/#website","url":"https:\/\/lousodrome.net\/blog\/light\/","name":"Light is beautiful","description":"Thoughts of a graphics programmer, demoscener and spare time photographer","publisher":{"@id":"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lousodrome.net\/blog\/light\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f","name":"Julien Guertault","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2e5fc7a18e1701e1bb61a5da0ef35cf7?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2e5fc7a18e1701e1bb61a5da0ef35cf7?s=96&d=identicon&r=g","caption":"Julien Guertault"},"logo":{"@id":"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/image\/"},"url":"https:\/\/lousodrome.net\/blog\/light\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/posts\/1751"}],"collection":[{"href":"https:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/comments?post=1751"}],"version-history":[{"count":2,"href":"https:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/posts\/1751\/revisions"}],"predecessor-version":[{"id":1767,"href":"https:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/posts\/1751\/revisions\/1767"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/media\/1754"}],"wp:attachment":[{"href":"https:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/media?parent=1751"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/categories?post=1751"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/tags?post=1751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}