I have added textures slots into MonoGame shader editor !
I have created my first shader for CubeShooter game with my new editor.
Grid on voxels is now computed directly into pixels shader.
float3 n = abs(input.vertexNormal.xyz);
float2 tileUV = float2( dot(n, input.vertexPosition.zxx),
output.uv0 = tileUV * 0.5;
float4 tex0Color = tex2D(TexSamplerSlot0, input.uv0);
return (tex0Color * xGridPower) + input.color;
It’s sure now I gain enormously times with this editor.
I started a runtime HLSL shader editor for MonoGame.
Technically, runtime compilation is done using 2MGX source code used for PipeLine.exe tool. I use scintillaNet for text editing.
This is my implementation of the chunks frustum culling in C#, based on “The Advanced Cave Culling Algorithm” article by Tommaso Checchi.
The goal is to reduce drawed chunks.
Source code here : FormCull.zip
I worked on my main screen menu. Title and background are animated with cubes following procedural paths of course. It’s a good start but I have to work on colors…
For the “game over” sprite, I have created a text to voxel sprite text fonction. So It will be a time saver for next game’s messages.
I have experienced a new cubeworld generator for first bonus level …
I started a physics engine in order to manage the game level destruction. The impact of player’s missiles generate a hole in world created by boolean operation with a sphere. Then for each not empty voxels at the surface of the sphere, I generate a debris. Each debris are managed as a particle with a velocity, a time of life and a numbers of bounces with the environment.
This is a custom voxel engine using MonoGame, an Open Source implementation of the Microsoft XNA 4 Framework.
I use a homemade tool that allows me to edit the game in real time, based on stacked operators.