protocell-labs / tectonica

Code for T E C T O N I C A, long-form generative art collection minted on fxhash.xyz
https://www.fxhash.xyz/generative/slug/t-e-c-t-o-n-i-c-a
Other
2 stars 0 forks source link

Features to add #1

Open lukapiskorec opened 1 year ago

lukapiskorec commented 1 year ago

APRIL

BEFORE RELEASE

BarusXXX commented 1 year ago

Fixed Shadows,

The issue directional light that casts a directionalLightShadow object was not working is that there was the default frustrum set. it is important to declare the bounds of the frustrum as I did here.

To enable disable the shadow/lighting helper object just comment out this section.

Also now the light animation is disabled, if we commit to this I will remove it completely. Feel free to raise the shadow quality as high as you wish as it should be only be calculated once at the moment.

I tried with 8192x8192, shadows look very crisp; collectionfive_AdobeColor_05_6856762

BarusXXX commented 1 year ago

@lukapiskorec

Why is the color property a iMesh Instance?

https://github.com/protocell-labs/collection5/blob/073e301eaca54e428a127a0390cf973b34fbd9a3/main.js#L723

BarusXXX commented 1 year ago

//IMPORTANT NOTE;

BarusXXX commented 1 year ago

@lukapiskorec: The explosion animation requires rework of many parts, since we need to store the explosion matrix translations when the user clicks and change everything to work with this structure: Initial Positions + Explosion matrix translations*Time This would allow us to change time to animate, and Explosion matrix translations when the user clicks a new focus point.

I also noticed that you are storing data in this structure, I need to check with you why this was necessary so that I do not break existing functionality:

        var dense_matter_element = {exists: element_exists,
                                    position: element_position,
                                    grid_pos: element_grid_position,
                                    color: element_color,
                                    smooth: element_smooth,
                                    imesh_idx: imesh_idx};
        dense_matter_object[element_grid_position_str] = dense_matter_element;

Are these all the elements or a selected few that will explode?