lenixlobo's Blog

Weekly Check-In: Week 10

lenixlobo
Published: 08/02/2020


Make sure to check out Project FURY : https://github.com/fury-gl/fury

Hey Everyone! 
This week , more shaders

What did I do this week

After merging the SDF actor last week , the mentors and i decided to work on another project idea which was discussed prior to GSoC . So the next step assigned to me was to look into current shader framework and create immersive visualizations using shaders. Being interested in volumetric rendering i looked into volumetric cloud rendering algorithms and created a basic shader based render in FURY.
The output for the same is given below:

The above examples  uses multiple box primitives to create a large canvas like effect

 

The shader demos are available at :
https://github.com/lenixlobo/fury/tree/shader-demos

What's coming up next

The main focus now is to discuss and work on shader demos which an demonstrate the capabilities of FURY 

Did I get stuck anywhere

No issues were faced this week

View Blog Post

Weekly Check-In: Week 9

lenixlobo
Published: 07/27/2020


Make sure to check out Project FURY : https://github.com/fury-gl/fury

Hey Everyone! 
This week , merging the SDF PR

What did I do this week

Since GSoC started I have been working on adding support for raymarching based SDF actors as primitives in the FURY codebase. This week with the release of FURY 0.6.0 , the task assigned to me was to complete the remaining parts of the SDF actor including tests and tutorial. THe SDF actor is now part of the FURY actor and can be accessed using sdf_actor.
Currently we support , ellipsoids, spheres and torus as primitive options. As expected, SDF based actors have shown tremendous performance improvements over traditional polygon based actor.


Despite using 100,000 torus the FPS is higher than 60 :

 

10,000 actors:
 

 

I also made a tutorial for new users to get started with 

https://fury.gl/latest/auto_tutorials/04_shaders/viz_sdfactor.html#sphx-glr-auto-tutorials-04-shaders-viz-sdfactor-py

What's coming up next

Now that the SDF actor is merged , the next step is to focus on spherical harmonics and i will also be working on creating shader visualization to showcase the features of FURY

Did I get stuck anywhere

This week involved alot of work , including making tests, tutorial and looking for bugs but everything went smoothly .

View Blog Post

Weekly Check-In: Week 8

lenixlobo
Published: 07/20/2020


Make sure to check out Project FURY : https://github.com/fury-gl/fury

Hey Everyone! 
This week, improvements in SDF primitives.

What did I do this week

Over the past few weeks i have been working on adding SDF based actors in FURY. The task for this week was to complete the remaining features such as support for scaling and rotation based on user direction for the actors. The main objective is to complete the SDF actor and make it ready to merge into the FURY codebase.

Scaling:


Rotation based on direction:



The code for the above render is available at the branch :

https://github.com/lenixlobo/fury/tree/SDF-Experiments 

What's coming up next

Since the features are almost done the task for next week is clean the code and test for bugs. And then to eventually merge the  sdf_actor into the fury codebase.

Did I get stuck anywhere

No major issues this week. 

View Blog Post

Weekly Check-In: Week 7

lenixlobo
Published: 07/13/2020


Make sure to check out Project FURY : https://github.com/fury-gl/fury

Hey Everyone! 
This week, multiple SDF primitives.

What did I do this week

The objective of this week was to understand the capabilities of the multiple SDF primitives within the same cube project. To get a clearer understanding of what we can achieve with this approach, i added support for real time rotating primitives. The output of 2 cubes with rotating SDFs is shown below.

 



The code for the above render is available at the branch :

https://github.com/lenixlobo/fury/tree/SDF-Experiments 

What's coming up next

The task for next week is to implement features in the SDF actor and also to fix minor bugs within the shaders. Once everything is done as planned, the PR will be merged for users to access the features.

Did I get stuck anywhere

No issues this week

View Blog Post

Weekly Check-In: Week 6

lenixlobo
Published: 07/05/2020


Make sure to check out Project FURY : https://github.com/fury-gl/fury

Hey ! 
Spherical harmonics, Continued!

What did I do this week

Last week I added a basic implementation of Spherical harmonics based actors. However, the implementation was quite restricted and we needed to add support for more accurate generation of spherical harmonics. So the task assigned this week was to implement the spherical harmonics function within the shader rather than passing variables as uniforms. This was quite an challenging task as it involved understanding of mathematical formulae and implementing them using existing GLSL functions.
The output of the implementation is shown below

 

 

While , i was able to complete the task the frame rate for the generated output was quite lower than expected. 



The code for the above render is available at the branch :

https://github.com/lenixlobo/fury/tree/Spherical-Harmonics  

What's coming up next

The next task is to discuss possible performance improvements with the mentors and also look into alternative ideas to add spherical harmonics as actors in FURY.

Did I get stuck anywhere

Spherical harmonics involve a lot of complicated math behind the hood as a result the generated output has a very poor frame rate. Currently, we are looking into improving this.

View Blog Post