{"id":158,"date":"2015-08-20T15:25:13","date_gmt":"2015-08-20T15:25:13","guid":{"rendered":"http:\/\/www.voidbred.com\/blog\/?p=158"},"modified":"2015-08-20T15:25:30","modified_gmt":"2015-08-20T15:25:30","slug":"graphics-blending-exploration","status":"publish","type":"post","link":"http:\/\/www.voidbred.com\/blog\/2015\/08\/graphics-blending-exploration\/","title":{"rendered":"Color Blending Exploration"},"content":{"rendered":"<p>In OpenGL and ShaderLab you can customize the way that blending is done. \u00a0In ShaderLab you use the Blend keyword and in OpenGL you would use glBlendFunc or glBlendFuncSeperate. \u00a0Notice that ShaderLab can do like glBlendFuncSeperate, you just have to supply more arguments <a href=\"http:\/\/docs.unity3d.com\/Manual\/SL-Blend.html\" target=\"_blank\">[1]<\/a>.<\/p>\n<p>Someone has developed a nice visualization that can be used to explore the settings for these functions: \u00a0<a href=\"http:\/\/www.andersriggelsen.dk\/glblendfunc.php\" target=\"_blank\">http:\/\/www.andersriggelsen.dk\/glblendfunc.php<\/a><\/p>\n<p>Wikipedia also has a nice section on <i>alpha blending\u00a0<\/i>that is worth checking out:\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Alpha_compositing#Alpha_blending\" target=\"_blank\">https:\/\/en.wikipedia.org\/wiki\/Alpha_compositing#Alpha_blending<\/a><\/p>\n<p>Checking out the man page for glBlendFunc is always helpful too:\u00a0<a href=\"https:\/\/www.khronos.org\/opengles\/sdk\/1.1\/docs\/man\/glBlendFunc.xml\" target=\"_blank\">https:\/\/www.khronos.org\/opengles\/sdk\/1.1\/docs\/man\/glBlendFunc.xml<\/a><\/p>\n<h6>References:<\/h6>\n<ol>\n<li><a href=\"http:\/\/docs.unity3d.com\/Manual\/SL-Blend.html\" target=\"_blank\">http:\/\/docs.unity3d.com\/Manual\/SL-Blend.html<\/a><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>In OpenGL and ShaderLab you can customize the way that blending is done. \u00a0In ShaderLab you use the Blend keyword and in OpenGL you would use glBlendFunc or glBlendFuncSeperate. \u00a0Notice that ShaderLab can do like glBlendFuncSeperate, you just have to supply more arguments [1]. Someone has developed a nice visualization that can be used to&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[22,21],"_links":{"self":[{"href":"http:\/\/www.voidbred.com\/blog\/wp-json\/wp\/v2\/posts\/158"}],"collection":[{"href":"http:\/\/www.voidbred.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.voidbred.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.voidbred.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.voidbred.com\/blog\/wp-json\/wp\/v2\/comments?post=158"}],"version-history":[{"count":2,"href":"http:\/\/www.voidbred.com\/blog\/wp-json\/wp\/v2\/posts\/158\/revisions"}],"predecessor-version":[{"id":160,"href":"http:\/\/www.voidbred.com\/blog\/wp-json\/wp\/v2\/posts\/158\/revisions\/160"}],"wp:attachment":[{"href":"http:\/\/www.voidbred.com\/blog\/wp-json\/wp\/v2\/media?parent=158"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.voidbred.com\/blog\/wp-json\/wp\/v2\/categories?post=158"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.voidbred.com\/blog\/wp-json\/wp\/v2\/tags?post=158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}