Deprecated: Creation of dynamic property wpdb::$categories is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/wp-db.php on line 668 Deprecated: Creation of dynamic property wpdb::$post2cat is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/wp-db.php on line 668 Deprecated: Creation of dynamic property wpdb::$link2cat is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/wp-db.php on line 668 Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-theme.php on line 554 Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-theme.php on line 595 Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-theme.php on line 535 Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-theme.php on line 544 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/comment-template.php on line 1745 Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/rest-api/class-wp-rest-request.php on line 960 Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/rest-api/class-wp-rest-request.php on line 980 Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/rest-api/class-wp-rest-request.php on line 992 Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/rest-api/class-wp-rest-request.php on line 1003 Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-block-list.php on line 151 Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-block-list.php on line 175 Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-block-list.php on line 164 Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-block-list.php on line 186 Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-block-list.php on line 138 Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-block-list.php on line 75 Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-block-list.php on line 89 Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-block-list.php on line 110 Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-block-list.php on line 127 Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-block-list.php on line 199 Deprecated: Creation of dynamic property Yoast\WP\SEO\Main::$helpers is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-content/plugins/wordpress-seo/lib/abstract-main.php on line 65 Deprecated: Creation of dynamic property WP_Block_Type::$skip_inner_blocks is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-block-type.php on line 347 Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 22 Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 28 Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp.php on line 173 Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/wp-db.php on line 3030 Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-term.php on line 198 Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-term.php on line 198 Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-term.php on line 198 Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-term.php on line 198 Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-term.php on line 198 Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/class-wp-term.php on line 198 Warning: Cannot modify header information - headers already sent by (output started at /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/wp-db.php:668) in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/feed-rss2.php on line 8 Deprecated: Creation of dynamic property Yoast\WP\SEO\Surfaces\Classes_Surface::$container is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-content/plugins/wordpress-seo/src/surfaces/classes-surface.php on line 20 Deprecated: Creation of dynamic property Yoast\WP\SEO\Main::$classes is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-content/plugins/wordpress-seo/lib/abstract-main.php on line 65 Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$page_type is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 43 Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Term_Archive_Presentation::$pagination is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-content/plugins/wordpress-seo/src/presentations/archive-adjacent-trait.php on line 29 Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Term_Archive_Presentation::$source is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64 Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Term_Archive_Presentation::$title is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64 realtime graphics Archives - crocdialer https://crocdialer.com computer/science/art Thu, 16 Aug 2018 14:42:52 +0000 en-US hourly 1 https://wordpress.org/?v=5.8.9 KinskiGL now using Physically Based Rendering (PBR) https://crocdialer.com/kinskigl-now-using-physically-based-rendering-pbr/ https://crocdialer.com/kinskigl-now-using-physically-based-rendering-pbr/#respond Sat, 12 May 2018 12:30:42 +0000 Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/category.php on line 378 Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/category.php on line 379 Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/category.php on line 380 Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/category.php on line 381 Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/category.php on line 382 Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /mnt/web021/d1/46/51330146/htdocs/WordPress_01/wp-includes/category.php on line 383 http://crocdialer.com/?p=104 recently I invested some time to catch up with current state-of-the-art realtime rendering techniques. after digesting the siggraph 2013 course notes from Epic I started implementing a new material and lighting system within kinskiGL. helpful resources along the way were also the “Physics and Math of Shading” presentation by Naty Hoffman and “Realtime Rendering” by Tomas Akenine-Moeller. […]

The post KinskiGL now using Physically Based Rendering (PBR) appeared first on crocdialer.

]]>
recently I invested some time to catch up with current state-of-the-art realtime rendering techniques.

after digesting the siggraph 2013 course notes from Epic I started implementing a new material and lighting system within kinskiGL.

helpful resources along the way were also the “Physics and Math of Shading” presentation by Naty Hoffman and “Realtime Rendering” by Tomas Akenine-Moeller.

  • the new material uses a metal/roughness/ambient occlusion workflow, the lighting system was enhanced with support for Image based Lighting (IBL).
  • kinskiGL now reads .hdr radiance-HDR maps (provided as equi-rectangular panoramas or cubemaps) and uses those to replace the ambient term in the shading equation.
  • the shading model reflects the common shift from Phong/Blinn-Phong to a generic BRDF as described by Cook/Torrance (A Reflectance Model for Computer Graphics).
  • kinskiGL now also supports the glTF-2.0 model format as plain or binary file.

 

results

finally some screenshots to round up the post.

all models are lit by the .hdr maps in the background alone, though the lighting model plays nicely with classic point/spot/directional lights.

 

sources

most models are from Khronos’ collection of glTF-2.0 testmodels: github.com/KhronosGroup/glTF-Sample-Models

the background HDR maps used can be found here: http://www.hdrlabs.com/sibl/archive.html

the application used is a 3Dviewer, which is a sample application of my KinskiGL framework: github.com/crocdialer/KinskiGL

 

conclusion

it’s 2018, looks like we made some progress recently.

 

hope you like it,

croc

The post KinskiGL now using Physically Based Rendering (PBR) appeared first on crocdialer.

]]>
https://crocdialer.com/kinskigl-now-using-physically-based-rendering-pbr/feed/ 0