Pages

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

Shadertoy: 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/3.0)
    fragColor = vec4(0,0,1,0)  * sin(unghi);
}
The result of this source code:

miercuri, 20 noiembrie 2019

Shadertoy: 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:

vineri, 15 noiembrie 2019

The neon effect with javascript P5 JavaScript library.

The P5.js is a JavaScript library for creative coding.
You can use by adding this link on your HTML area using the script tag:
https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.9.0/p5.min.js
You can use it like any JavaScript library.
You have two functions: setup and a draw for setup and drawing.
function setup() {
  createCanvas(window.innerWidth, window.innerHeight);
}

function draw() {
  ellipse(50, 50, 80, 80);
}
Then you can fill these functions with any javascript code.
You can see a neon effect with two bezier functions.
The example uses the mouse movement to change the bezier lines.
You can see many examples created by me at codepen website.

duminică, 10 noiembrie 2019

Steam on Linux distro Fedora 31 .

You can easily install the Steam tool on Fedora 31.
[root@desk my_bash_scripts]# dnf install steam -y
Last metadata expiration check: 0:20:14 ago on Sun 10 Nov 2019 07:29:46 PM EET.
Dependencies resolved.
...
  pcre-8.43-2.fc31.1.i686                                                       
  pixman-0.38.4-1.fc31.i686                                                     
  pulseaudio-libs-13.0-1.fc31.i686                                              
  rest-0.8.1-6.fc31.i686                                                        
  systemd-libs-243-4.gitef67743.fc31.i686                                       
  xz-libs-5.2.4-6.fc31.i686                                                     

Complete!
Then you can run it with this command:
[mythcat@desk ~]$ steam 
Running Steam on fedora 31 64-bit
STEAM_RUNTIME is enabled automatically
Pins potentially out-of-date, rebuilding...
...
  Initializing engine controller
  Post-initializing framework
-------------------------------------------------------------------------------
  Connected to server (registration)
  Disconnecting from server
  Disconnected from server
  Connected to server (game)
  Preparing engine controller for exit
  Disconnecting from server
-------------------------------------------------------------------------------
Game removed: AppID 488440 "", ProcID 152924 
Uploaded AppInterfaceStats to Steam
Exiting app 488440
No cached sticky mapping in ActivateActionSet.
I tested with the game Angeldust, but you can run any game.
From these funny games like Hibiscus Red, Gatlin' Demo to the last Counter-Strike.
These two screenshots show you how work's this tool game:

miercuri, 6 noiembrie 2019

Shadertoy: Simple sky with shadertoy tool.

Today I create a simple sky with the online tool shadertoy.
I used Fedora 30 distro Linux and my old video card:
VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2)
This is the output:

Easy install of GIMP with Flatpak.

GIMP is a free and open-source raster graphics editor used for image retouching and editing, free-form drawing, converting between different image formats, and more specialized tasks. GIMP is released under GPLv3+ licenses and is available for Linux, macOS, and Microsoft Windows, see Wikipedia.
Flatpak is a software utility for software deployment and package management for Linux. It is advertised as offering a sandbox environment in which users can run application software in isolation from the rest of the system. see Wikipedia.
Flatpak builds available in i386, x86-64, ARM and AArch64.
[root@desk mythcat]# dnf install flatpak.x86_64 
Last metadata expiration check: 0:27:27 ago on Fri 01 Nov 2019 11:27:47 PM EET.
Dependencies resolved.
...
Installed:
  flatpak-1.4.3-1.fc30.x86_64                                                   
  p11-kit-server-0.23.16.1-1.fc30.x86_64                                        
  xdg-desktop-portal-1.4.2-1.fc30.x86_64                                        
  xdg-desktop-portal-gtk-1.4.0-1.fc30.x86_64                                    
  flatpak-selinux-1.4.3-1.fc30.x86_64                                           
  flatpak-session-helper-1.4.3-1.fc30.x86_64                                    
  ostree-libs-2019.4-3.fc30.x86_64                                              

Complete!
The install and run of last GIMP software is easy, see commands:
[mythcat@desk ~]$ flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref

Note that the directories 

'/var/lib/flatpak/exports/share'
'/home/mythcat/.local/share/flatpak/exports/share'

are not in the search path set by the XDG_DATA_DIRS environment variable, so applications installed by 
Flatpak may not appear on your desktop until the session is restarted.

Required runtime for org.gimp.GIMP/x86_64/stable (runtime/org.gnome.Platform/x86_64/3.32) found in remote
 flathub
Do you want to install it? [Y/n]: Y       

org.gimp.GIMP permissions:
    ipc                   network        x11       file access [1]
    dbus access [2]       tags [3]

    [1] /tmp, host, xdg-config/GIMP, xdg-config/gtk-3.0
    [2] org.freedesktop.FileManager1, org.gtk.vfs, org.gtk.vfs.*
    [3] stable
        ID                                    Arch   Branch Remote  Download
        ID                                    Arch   Branch Remote  Download
 1. [✓] org.gnome.Platform                    x86_64 3.32   flathub 360.0 MB / 374.0 MB
 2. [✓] org.gnome.Platform.Locale             x86_64 3.32   flathub  17.4 kB / 320.0 MB
 3. [✓] org.freedesktop.Platform.VAAPI.Intel  x86_64 18.08  flathub   1.8 MB / 1.8 MB
 4. [✓] org.freedesktop.Platform.html5-codecs x86_64 18.08  flathub   3.2 MB / 3.3 MB
 5. [✓] org.gimp.GIMP                         x86_64 stable flathub 106.5 MB / 108.9 MB

Installation complete.
[mythcat@desk ~]$ flatpak update

Note that the directories 

'/var/lib/flatpak/exports/share'
'/home/mythcat/.local/share/flatpak/exports/share'

are not in the search path set by the XDG_DATA_DIRS environment variable, so
applications installed by Flatpak may not appear on your desktop until the session is restarted.

Looking for updates…
Nothing to do.
[mythcat@desk ~]$ flatpak run org.gimp.GIMP//stable

Note that the directories 

'/var/lib/flatpak/exports/share'
'/home/mythcat/.local/share/flatpak/exports/share'

are not in the search path set by the XDG_DATA_DIRS environment variable, so
applications installed by Flatpak may not appear on your desktop until the session is restarted.

GIMP-Error: Skipping '/home/mythcat/.var/app/org.gimp.GIMP/config/GIMP/2.10/pluginrc
wrong GIMP protocol version.
...