Pages

Se afișează postările cu eticheta development. Afișați toate postările
Se afișează postările cu eticheta development. Afișați toate postările

duminică, 14 aprilie 2024

Spline : first test with Spline online tool.

I just tested this online tool Spline.
You can see I export to this blog and my codepen example.

joi, 28 martie 2024

Kids' Coding Projects.

KTBYTE students have the opportunity to complete a variety of challenging projects at each BYTE Level. Students are placed in classes based on skill, not age, which means it is common to see 12 year old kids coding projects that are targeted for 15 year old kids. Watch videos below to see what your child could create.
Read more on the official webpage.

vineri, 12 ianuarie 2024

The Ren'Py visual novel engine .

Ren'Py is a visual novel engine – used by thousands of creators from around the world – that helps you use words, images, and sounds to tell interactive stories that run on computers and mobile devices. These can be both visual novels and life simulation games. The easy to learn script language allows anyone to efficiently write large visual novels, while its Python scripting is enough for complex simulation games.
Ren'Py is free to use with commercial and non-commercial games and you can find on the official website.
This run's on Android 5.0+,HTML5/Web Assembly (Beta),Linux x86_64/Arm,Windows 7+,Mac OS X 10.10+ and iOS 11+.
This is last video tutorial from RenPy start tutorials but you can find more on web.

duminică, 5 noiembrie 2023

News : Asm Blox: a Game Based on WebAssembly That No One Asked For ...

I will consider this post news because I have not seen that the open-source developer community that is active on the web come up with clear examples in WebAssembly even though it appeared more than 6 years ago.
The name suggests bringing assembly-like programming to the Web, where it will be executed client-side — by the website-user's computer via the user's web browser. See wikipedia for more ...

duminică, 29 octombrie 2023

Spacescape tool for skyboxes.

Spacescape is a free tool for creating space skyboxes with stars and nebulas.
You can use Spacescape to make skyboxes for your free or commercial game, no license or royalties required!

duminică, 8 octombrie 2023

My 10 YEAR Indie Game Development Journey by ThinMatrix.

The development of a game depends on the resources that are at stake. Here's an honest example from ThinMatrix.
I have been subjected to the process of changes brought by game engine developers who quickly bring changes for advanced processing and interface and changes in documentation and bug fixes appear.

joi, 10 august 2023

Graphics programming - Unity 3D shaders - 005.

If you working with shaders and you get this error
Shader error in '': Parse error: syntax error, unexpected TVAL_ID
Go to console area and find where is the line of source code ...
Shader error in '': Parse error: syntax error, unexpected TVAL_ID at line 15
In my case was an old defined source code ZWriteoff, after I change it with ZWrite Off the shader is compileted.

vineri, 14 iulie 2023

Graphics programming - Unity 3D shaders - 004.

In the previous tutorial number 002, I presented how a shader can be implemented using an HLSL type file that provides two output variables: _in1 and _in2. Theoretically, they should be renamed with _out because they are output. Today I will show you how to use the color variable as an input in the custom node. Here is the source code with a compound math function on a vector with size 4 for Color added in Shader Graph.
Let's see the source code :
#pragma shader_feature_local OutCode001

float DataInput_float( in float4  _in11, in float x , out float4 _out11)
{
    //_in11 = _input11Float;
    _in11 = _in11;
    _out11 = sin(_in11) * ( x * 1000 );
    return  _out11;
}
This is how to link the _in11, x and _out11 to Inputs and Outputs lists. You can see the function is used like DataInput and not DataInput_float in the GUI.

Graphics programming - Unity 3D shaders - 003.

This is a new default example like the one from the previous tutorial, it is a little more complex, but you can see the differences.
I commented the default source code generated by Unity 3D and added a default source code for coloring with RGB color range.
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'

//Shader "Custom/CG_RGB"
//{
//    Properties
//    {
//        _Color ("Color", Color) = (1,1,1,1)
//        _MainTex ("Albedo (RGB)", 2D) = "white" {}
//        _Glossiness ("Smoothness", Range(0,1)) = 0.5
//        _Metallic ("Metallic", Range(0,1)) = 0.0
//    }
//    SubShader
//    {
//        Tags { "RenderType"="Opaque" }
//        LOD 200

//        CGPROGRAM
//        // Physically based Standard lighting model, and enable shadows on all light types
//        #pragma surface surf Standard fullforwardshadows

//        // Use shader model 3.0 target, to get nicer looking lighting
//        #pragma target 3.0

//        sampler2D _MainTex;

//        struct Input
//        {
//            float2 uv_MainTex;
//        };

//        half _Glossiness;
//        half _Metallic;
//        fixed4 _Color;

//        // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader.
//        // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing.
//        // #pragma instancing_options assumeuniformscaling
//        UNITY_INSTANCING_BUFFER_START(Props)
//            // put more per-instance properties here
//        UNITY_INSTANCING_BUFFER_END(Props)

//        void surf (Input IN, inout SurfaceOutputStandard o)
//        {
//            // Albedo comes from a texture tinted by color
//            fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
//            o.Albedo = c.rgb;
//            // Metallic and smoothness come from slider variables
//            o.Metallic = _Metallic;
//            o.Smoothness = _Glossiness;
//            o.Alpha = c.a;
//        }
//        ENDCG
//    }
//    FallBack "Diffuse"
//}
Shader "Cg shader for RGB cube" { 
   SubShader { 
      Pass { 
         CGPROGRAM 
 
         #pragma vertex vert // vert function is the vertex shader 
         #pragma fragment frag // frag function is the fragment shader
 
         void vert(float4 vertexPos : POSITION,
            out float4 pos : SV_POSITION,
            out float4 col : TEXCOORD0)  
         {
            pos =  UnityObjectToClipPos(vertexPos);
            col = vertexPos + float4(0.5, 0.5, 0.5, 0.0);
            return;
         }
 
         float4 frag(float4 pos : SV_POSITION, 
            float4 col : TEXCOORD0) : COLOR 
         {
            return col; 
         }
 
         ENDCG 
      }
   }
}
Here is the result attached to the same material from the previous tutorial, but with this default shader.

marți, 11 iulie 2023

Graphics programming - Unity 3D shaders - 002.

In this article - tutorial I will show you how to use the most simple HLSL source code with Unity 3D.
You need to install the Shader Graph package in Unity 3D.
Create a basic shader with Create - Shader Graph - BuildIn - Unlit Shader.
Open this shader in the Shader Graph package and add a Custom Function.
This allows you to create variables and use an HLSL file.
You can see how I create this in this image:
Create a file and name this file with this name: MyNewCode.hlsl then add this in the Shader Graph package like in that image.
For each variable is need to use the Outputs to add these two variables: _in1 and _in2.
In the HLSL file, you can add this simple source code.
// file for custom node shader function
static float _input1Float = 1;
static float _input2Float = 1;
void Data_float(out float _in1, out float _in2)
{
    _in1 = _input1Float;
    _in2 = _input2Float;
  
}
Now, you have a custom node shader in your Shader Graph package project with an HLSL source code.

luni, 10 iulie 2023

Graphics programming - Unity 3D shaders - 001.

If you have studied shader theory and computational graphics in the past, then the only impediment would be the Unity 3D interface.
For a shader that uses the CG programming language, then you can use this type of shader in Unity 3D software.
You can create with right-click on Unity 3D interface.
This will create a shader file, you can open and see the default shader.
Let's make a CG shader with one color.
Remove all content from this file and add this source code:
Shader "Cg basic shader" { // this is the name of the shader 
   SubShader { // Unity chooses this like an subshader and works with your GPU specifications
      Pass { // passes in higher-level shader/material systems GLSL/Cg/HLSL is a way of setting up states necessary for multi-pass rendering, in this case is one pass
         CGPROGRAM // start programming with Unity's Cg

         #pragma vertex vert 
            // this specifies the vert function as the vertex shader 
         #pragma fragment frag
            // this specifies the frag function as the fragment shader
		// define vert for vertex shader 	
         float4 vert(float4 vertexPos : POSITION) : SV_POSITION 
            // vertex shader 
         {
            return UnityObjectToClipPos(vertexPos);
              // this line transforms the vertex input parameter 
              // and returns it as a nameless vertex output parameter 
              // (with semantic SV_POSITION)
         }
		 // define frag for fragment shader
         float4 frag(void) : COLOR // fragment shader
         {
            return float4(0.0, 1.9, 7.6, 1.0); 
               // this fragment shader returns a nameless fragment
               // output parameter (with semantic COLOR) that is set to
               // opaque red (red = 1, green = 0, blue = 0, alpha = 1)
         }

         ENDCG // ends the part in  programming with Unity's Cg
      }
   }
}
This is a standard shader and if you search on the web you can find more simple shaders.
Add an object to your scene, create a new material, and add to this object, drag the file shader to the material, and will fill with this RGBA color: 0.0, 1.9, 7.6, 1.0.