luni, 9 decembrie 2019

MakeHuman: Nightly builds of (most) plugins.

At 11/18/2019 the MakeHuman team development comes with many plugins for MakeHuman software: These are plugins related to MakeHuman. The MakeHuman side plugins are installed by placing the directory (for example "9_export_mhx2") in the "plugins" directory where you unzipped or installed MakeHuman. On linux this is usually /usr/share/makehuman/plugins. The Blender side plugins are installed in Blender, in the addons part of the user preferences.
See the official website.

miercuri, 4 decembrie 2019

Lutris the Open Source gaming platform for any Linux distro.

Lutris is an Open Source gaming platform for Linux. It installs and launches games so you can start playing without the hassle of setting up your games. Get your games from GOG, Steam, Battle.net, Origin, Uplay and many other sources running on any Linux powered gaming machine.
You need to create an account and you can run many games on Linux and multiple platforms, see the official website with games.
If you want to install it with your Linux distro the take a look at the official webpage.
I used the installation process on Fedora 31 with DNF tool:
[root@desk mythcat]# sudo dnf install lutris
Last metadata expiration check: 0:06:35 ago on Wed 04 Dec 2019 07:15:23 PM EET.
Dependencies resolved.
======================================================================================
 Package                    Arch       Version                      Repository   Size
======================================================================================
Installing:
 lutris                     x86_64     0.5.3-1.fc31                 fedora      2.0 M
...
Total download size: 129 M
Installed size: 708 M
Is this ok [y/N]: y
...
  llvm-libs-9.0.0-1.fc31.i686           ncurses-libs-6.1-12.20190803.fc31.i686       
  python3-evdev-1.1.2-4.fc31.x86_64     unixODBC-2.3.7-5.fc31.x86_64                 
  vulkan-loader-1.1.114.0-1.fc31.i686  

Complete!

marți, 3 decembrie 2019

Inkscape : Top 5 Finalists.

The About Screen Contest for Inkscape is a conquest for Inkscape contributions to the artistic presentation.
The Final Voting: Mon., December 2, 2019 – Sun., December 15, 2019 and the winners will be announced: Tues., December 17, 2019
The community chooses the top 5 Finalists in version 1.0 About Screen Contest.
Congratulations to our Top 5 Finalists!
  1. 'Island of Creativity' by Bayu Rizaldhan Rayes
  2. 'Graphic Design' by Bożena Augustyn
  3. 'Migrate to Freedom' by Bayu Aji
  4. 'How to Fold a Memory' by Dismecha
  5. 'Inkscape 1.0 About Screen' by Rania Amina
See the final result on the official webpage.

duminică, 24 noiembrie 2019

The wrld for custom maps.

A good map can have many features.
If you don't want to build one using advanced programming language then you can use this website.
You can use this with an online map with Unity, JavaScript, iOS and Android.
You can also build your indoor map and visualize any building in 3D.
All of these features let you optimize building management, resources, and planning.
The map can have many features like time of day, weather and seasons and heat map.
The next example is an outdoor map of my location.

joi, 21 noiembrie 2019

The flag of Romania - 002.

This is another step about learning shaders.
The old example can be updated with this source code.
I commented on the source code to see step by step how this working.
One way to understand how this working to the final result is to going back on the shader structures that generate output to the basic elements of the shader.
If we apply this case to solve the problem then from the display a color like a vec4 color for fragColor adding a sin function to wave the result, and so on.
Right, this code can be optimized in many ways depending on the result.
// learning process area step by step 
// the gl_FragColor is a vec4 type of float values in the range 0 to 1.
// because the values are from 0 to 1  this can used in many ways with for domain and range
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
    // Normalized pixel coordinates (from 0 to 1)
    vec2 uv = fragCoord/iResolution.xy;
    // define a vec2 and uv can be divide to create waves 
    // use this to see the difference 
    // vec2 valul = vec2(0.01,1.0);
    vec2 valul = vec2(0.5,1.0);
    // define a vec2 this vector will be the vector of shadow
    vec2 unghi_valul = vec2(0.5,1.0);
    // this float will speed the animation with iTime
    float viteza = 3.0;
    // with the dot we can calculate the dot product of two vectors and result can be a shadow
    // the result of unghi can be changed when change the vectors and vectors math rules
    float unghi = dot(uv/valul, unghi_valul) - iTime * viteza;
    // the output can be used with sin to create a shadow wave
    // fill the screen with red
    fragColor = vec4(1,0,0,0) * sin(unghi);
    // fill the 2/3 of size with yellow color
    if(uv.x<(1.0/1.5))
    fragColor = vec4(1,1,0,0)  * sin(unghi);
    // fill the last 1/3 with the blue color 
    if(uv.x<1 .0="" code="" fragcolor="vec4(0,0,1,0)" sin="" unghi="">
The result of this source code:

miercuri, 20 noiembrie 2019

The flag of Romania - 001.

Today I make the flag of Romania.
About this flag you can read at Wikipedia.
The goal of this simple tutorial is to learn the link between iResolution and the fill areas.
First, you need to normalized pixel coordinates from 0 to 1.
The gl_FragColor is a vec4 type of float values in the range 0 to 1.
We can use this property by fill the areas of the screen.
The example can be changed to use the RGBA.
The source code is this:
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
    // Normalized pixel coordinates (from 0 to 1)
    vec2 uv = fragCoord/iResolution.xy;
    // Output to screen
    // fill the screen with red
    fragColor = vec4(1,0,0,0);
    // fill the 2/3 of size with yellow color
    if(uv.x<(1.0/1.5))
    fragColor = vec4(1,1,0,0);
    // fill the last 1/3 with the blue color 
    if(uv.x<1 .0="" code="" fragcolor="vec4(0,0,1,0);">
This is the result of this shader: