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
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
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
The post Bloccupy Revisited appeared first on crocdialer.
]]>it’s an interactive media installation with kinect/video input, which I built for Projektil, Zurich in 2015.
It wouldn’t run anymore for various minor reasons. plain old code-rot and no devs around to prevent it.
while getting rid of some dust and freshing it all up, I did a nice screencast I wanted to share
I also wanted to summarize the basic building blocks and concept used for Bloccupy.
As most graphics-related things I did in the past years, it relies on crossplattform C++ and OpenGL.
The underlying metaphor for the concept is a pin-toy.
Like in other projects I really fancy the procedure of downsampling something close to the point where it becomes unrecognizable and exploring this borderland.
To achieve the blocky look and elevation behaviour I manipulated a simple array of points in 3D space.
Those are fed into a GLSL geometry-shader and transformed into cuboids.
As input we used a raw depth-camera image in combination with video-footage, the update of point positions is performed with a couple of OpenCL kernels.
The depth values and/or color information from video is mapped onto the elevation of the cuboids and their color.
The scene is shaded and lit with a couple of point-light sources, to be able to visualize the intricate details of the resulting geometry.
optionally a colomap can be applied to better highlight different elevations.
I used this one, called “hot iron”:
nothing more to add, enjoy this outtake from Carl Sagan’s Cosmos, rendered by the Bloccupy Engine.
hope you like it,
croc
The post Bloccupy Revisited appeared first on crocdialer.
]]>The post KinskiGL now using Physically Based Rendering (PBR) appeared first on crocdialer.
]]>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.
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.
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
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.
]]>The post Neophyt 2014 – Procedural Growth appeared first on crocdialer.
]]>they have self-similarity and their growth is governed by a set of basic rules.
thus, to generate something plant-like you’re actually generating fractals.
after reading some literature on the topic, namely “The Algorithmic Beauty of Plants” by Aristid Lindenmayer, I started to write my own L-System implementation in C++, which you can find here, as part of my KinskiGL graphics-toolkit.
the main reason not to use something like SpeedTree or existing implementations for your favourite game-engine, was the required low-level flexibility and a deep fascination and curiosity for the topic.
I wanted to completely understand the underlying tech and have total control over it, so the results would look different and more unique than something produced with existing e.g. Unity-addons.
after all, I wasn’t trying to model realistic plants, but rather something organic, bizarre and alien, yet believable.
the first tests were aimed at the reproduction of some well-known fractals, to make sure I got everything correct in my L-System.
after that I started to experiment with different types of plant-like patterns.
followed by the development of different shading techniques to achieve an organic and interesting look.
and even weirder …
working at Projektil in Zurich at the time, these experiments led to an interactive media-installation coined Neophyt, which was shown at the Lethargy Festival 2014.
it was basically a high-striker you would see at Oktoberfest or the like. you hit a small platform with a hammer.
the harder the hit, the higher the score, perfect for drunk people
we replaced the analog components with an accelerometer-based sensor I built to measure the impact-force, the hammer was real.
based on both the impact-force and some degree of randomness, a plant would be created.
the creation of the rules for the structure of this plant was quite time-consuming, since you’re facing an inverse problem.
you can’t just start with the end-product in mind, but rather have to capture the growth pattern that will eventually create it.
the higher the force the more complex and evolved the plant generated would be.
bigger, higher branching-depths, more sub-materials etc.
on a large brick chimney we projected the resulting organisms, let them grow and decay again.
the decay was modelled to achieve the look and feel of it “crystallizing” and then breaking apart.
this was done using an OpenCL-based particle simulation and some fancy GLSL geometry shaders.
we also projected the achieved score in vertical letters and combined everything with cheap video-animations.
I voted against additional video-layers, since I’m a purist and wanted to focus on great looking plants.
the event was quite stressful for me and my dog, but in the end was worth it.
here is the documentation video by Projektil:
hope you like it,
Croc
The post Neophyt 2014 – Procedural Growth appeared first on crocdialer.
]]>The post Psycho Manege 2015 appeared first on crocdialer.
]]>in 2015, while working at projektil.ch in Zurich,
I developed a piece of software for live-perfomances and visuals with the working title <Psycho Manege>.
the concept-idea was to control a multi-stage round-robin filled with animated and audio-reactive 3D models via gamepads and midi-controllers.
the output of the program would be projected on a 360 degree stage, mapped with 4 projectors on several layers of semi-transparent cloth.
following are some screen-captures of earlier proof-of-concept sequences.
focus of these tests was to showcase the audio-reactive vertex-distortion, implemented by generating a simplex-noise texture on the gpu and feeding that into the vertex shader-stage to move vertices along their normal vector, a.k.a. displacement mapping. not particulary tricky but it sounds and looks cool
and featuring myself:
this work led to a two evening, bombastic live-visual performance together with my colleague Moritz Flachsmann at Lethargy Festival 2015, Zurich.
basically I was performing the animal round-robin, adding/removing/controlling the 3D models and parameters, while we fed the output into Modul8, where Moritz took over the 2D domain.
we were quite happy with our work-flow and results. here’s Projektil’s documentary video of the event, cut by Cadu.
thank you Moritz and Projektil for this one!
The post Psycho Manege 2015 appeared first on crocdialer.
]]>The post —-low life led—- 2018 hammer demo in Schwarz Matt appeared first on crocdialer.
]]>proof of concept for my most recent work. low life led is a scalable and weatherproof LED-toolkit.
arbitrary video content can be streamed via network to an array of microcontrollers, which in turn control the leds.
the leds are sealed in watertight acrylic tubes and attached with a simple, custom bus system. this allows for chaining without significant voltage drops.
in this demo the ability to calibrate the individual LED positions is showcased.
to make the setup quick and easy I built a calibration tool with the option to auto-calibrate with a camera.
the calibration sequence looks like this and created above results.
the software is based on my kinskiGL toolkit and can be found here:
https://github.com/crocdialer/KinskiGL
and the project itself here:
https://github.com/crocdialer/kinski_projects/tree/master/led_grabber
https://github.com/crocdialer/kinski_projects/tree/master/led_proxy
The post —-low life led—- 2018 hammer demo in Schwarz Matt appeared first on crocdialer.
]]>The post namaste traveler … appeared first on crocdialer.
]]>stay tuned till I fill this page with some of the projects I did in the recent years …
The post namaste traveler … appeared first on crocdialer.
]]>