Skip to content

Commit

Permalink
Tweaks to colors and shading. Icon. Release 0.0.7
Browse files Browse the repository at this point in the history
README.md is updated with the current info as well.
  • Loading branch information
tommyettinger committed Feb 13, 2017
1 parent 3de60a5 commit a85d644
Show file tree
Hide file tree
Showing 7 changed files with 131 additions and 38 deletions.
34 changes: 29 additions & 5 deletions IsoVoxel/IsoVoxel.csproj
Expand Up @@ -12,6 +12,21 @@
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
Expand All @@ -37,6 +52,9 @@
<PropertyGroup>
<StartupObject>IsoVoxel.PaletteDraw</StartupObject>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>icon.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
Expand Down Expand Up @@ -64,6 +82,7 @@
</None>
<EmbeddedResource Include="cube_soft.png" />
<EmbeddedResource Include="cube_ortho.png" />
<Content Include="icon.ico" />
<Content Include="Tank_X.vox">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
Expand All @@ -81,11 +100,16 @@
</None>
</ItemGroup>
<ItemGroup>
<Content Include="cube_gray.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<EmbeddedResource Include="outline.png" />
<EmbeddedResource Include="cube.png" />
<Content Include="cube_gray.png" />
<Content Include="outline.png" />
<Content Include="cube.png" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Expand Down
67 changes: 35 additions & 32 deletions IsoVoxel/PaletteDraw.cs
Expand Up @@ -616,7 +616,7 @@ private static byte[][] storeColorCubes()
private static byte[][] storeColorCubesOrtho()
{
colorcount = colors.Length;
byte[,] cubes = new byte[colorcount, 80];
byte[,] cubes = new byte[colorcount, 60];

Image image = ortho;
ImageAttributes imageAttributes = new ImageAttributes();
Expand Down Expand Up @@ -819,42 +819,43 @@ public static void storeColorCubesFaces()
{
if(i + j / 2 >= 4)
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.1, 0.0112, 1.0), Clamp(v_alter * 0.8, 0.03, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.1, 0.0112, 1.0), Clamp(v_alter * 0.85, 0.03, 1.0));
}
else if(i + (j + 1) / 2 >= 2)
{
c2 = ColorFromHSV(h, Clamp(s_alter * 0.9, 0.0112, 1.0), Clamp(v_alter * 1.05, 0.10, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 0.9, 0.0112, 1.0), Clamp(v_alter * 1.1, 0.10, 1.0));
}
}
break;
case DimTop:
{
if(i < j / 2)
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.0, 0.0112, 1.0), Clamp(v_alter * 0.85, 0.06, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.0, 0.0112, 1.0), Clamp(v_alter * 0.95, 0.06, 1.0));
}
else if(i - 1 <= (j + 1) / 2)
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.1, 0.0112, 1.0), Clamp(v_alter * 0.75, 0.05, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.1, 0.0112, 1.0), Clamp(v_alter * 0.9, 0.05, 1.0));
}
}
break;
case BrightDim:
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.15, 0.0112, 1.0), Clamp(v_alter * 0.825, 0.05, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.15, 0.0112, 1.0), Clamp(v_alter * 0.9, 0.05, 1.0));
}
break;
case BrightDimTop:
case BrightDimTopThick:
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.0, 0.0112, 1.0), Clamp(v_alter * 0.95, 0.08, 1.0));
if(((i > 0 && i < 3) || j >= 3) && j > 0)
c2 = ColorFromHSV(h, Clamp(s_alter * 1.0, 0.0112, 1.0), Clamp(v_alter * 0.9, 0.08, 1.0));
}
break;
case BrightBottom:
{
if(i > (j + 1) / 2 + 1)
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.1, 0.0112, 1.0), Clamp(v_alter * 0.8, 0.03, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.1, 0.0112, 1.0), Clamp(v_alter * 0.85, 0.03, 1.0));
}
else if(i + 1 > (j + 1) / 2)
{
Expand All @@ -866,7 +867,7 @@ public static void storeColorCubesFaces()
{
if(i + (j + 1) / 2 < 2)
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.05, 0.0112, 1.0), Clamp(v_alter * 0.9, 0.06, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.05, 0.0112, 1.0), Clamp(v_alter * 0.95, 0.06, 1.0));
}
else if(i + (j + 1) / 2 < 4)
{
Expand Down Expand Up @@ -903,7 +904,7 @@ public static void storeColorCubesFaces()
{
if(i - (j + 3) / 4 <= 1)
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.05, 0.0112, 1.0), Clamp(v_alter * 0.85, 0.09, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.05, 0.0112, 1.0), Clamp(v_alter * 0.9, 0.09, 1.0));
}
}
break;
Expand All @@ -930,7 +931,7 @@ public static void storeColorCubesFaces()
break;
case DimTopBackThick:
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.05, 0.0112, 1.0), Clamp(v_alter * 0.85, 0.09, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.05, 0.0112, 1.0), Clamp(v_alter * 0.9, 0.09, 1.0));
}
break;
case BrightBottomBackThick:
Expand Down Expand Up @@ -1132,47 +1133,47 @@ private static void storeColorCubesFacesSmall()
}
}
break;

case BrightTop:
{
if(i + j / 2 >= 4)
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.1, 0.0112, 1.0), Clamp(v_alter * 0.8, 0.03, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.1, 0.0112, 1.0), Clamp(v_alter * 0.85, 0.03, 1.0));
}
else if(i + (j + 1) / 2 >= 2)
{
c2 = ColorFromHSV(h, Clamp(s_alter * 0.9, 0.0112, 1.0), Clamp(v_alter * 1.05, 0.10, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 0.9, 0.0112, 1.0), Clamp(v_alter * 1.1, 0.10, 1.0));
}
}
break;
case DimTop:
{
if(i < j / 2)
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.0, 0.0112, 1.0), Clamp(v_alter * 0.85, 0.06, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.0, 0.0112, 1.0), Clamp(v_alter * 0.95, 0.06, 1.0));
}
else if(i - 1 <= (j + 1) / 2)
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.1, 0.0112, 1.0), Clamp(v_alter * 0.75, 0.05, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.1, 0.0112, 1.0), Clamp(v_alter * 0.9, 0.05, 1.0));
}
}
break;
case BrightDim:
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.15, 0.0112, 1.0), Clamp(v_alter * 0.825, 0.05, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.15, 0.0112, 1.0), Clamp(v_alter * 0.9, 0.05, 1.0));
}
break;
case BrightDimTop:
case BrightDimTopThick:
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.0, 0.0112, 1.0), Clamp(v_alter * 0.95, 0.08, 1.0));
if(((i > 0 && i < 3) || j >= 3) && j > 0)
c2 = ColorFromHSV(h, Clamp(s_alter * 1.0, 0.0112, 1.0), Clamp(v_alter * 0.9, 0.08, 1.0));
}
break;
case BrightBottom:
{
if(i > (j + 1) / 2 + 1)
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.1, 0.0112, 1.0), Clamp(v_alter * 0.8, 0.03, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.1, 0.0112, 1.0), Clamp(v_alter * 0.85, 0.03, 1.0));
}
else if(i + 1 > (j + 1) / 2)
{
Expand All @@ -1184,7 +1185,7 @@ private static void storeColorCubesFacesSmall()
{
if(i + (j + 1) / 2 < 2)
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.05, 0.0112, 1.0), Clamp(v_alter * 0.9, 0.06, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.05, 0.0112, 1.0), Clamp(v_alter * 0.95, 0.06, 1.0));
}
else if(i + (j + 1) / 2 < 4)
{
Expand Down Expand Up @@ -1221,7 +1222,7 @@ private static void storeColorCubesFacesSmall()
{
if(i - (j + 3) / 4 <= 1)
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.05, 0.0112, 1.0), Clamp(v_alter * 0.85, 0.09, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.05, 0.0112, 1.0), Clamp(v_alter * 0.9, 0.09, 1.0));
}
}
break;
Expand All @@ -1248,7 +1249,7 @@ private static void storeColorCubesFacesSmall()
break;
case DimTopBackThick:
{
c2 = ColorFromHSV(h, Clamp(s_alter * 1.05, 0.0112, 1.0), Clamp(v_alter * 0.85, 0.09, 1.0));
c2 = ColorFromHSV(h, Clamp(s_alter * 1.05, 0.0112, 1.0), Clamp(v_alter * 0.9, 0.09, 1.0));
}
break;
case BrightBottomBackThick:
Expand Down Expand Up @@ -1310,15 +1311,15 @@ private static void storeColorCubesFacesSmall()
c2 = ColorFromHSV(h, Clamp(s_alter * 0.85, 0.0112, 1.0), Clamp(v_alter * 1.0, 0.09, 1.0));
}
break;
/*
case BackBackBottom:
case BackBackBottomThick:
default:
{
/*
case BackBackBottom:
case BackBackBottomThick:
default:
{
}
break;
*/
}
break;
*/
}
}
if(c2.A != 0)
Expand Down Expand Up @@ -1673,7 +1674,6 @@ private static Bitmap renderSmartFaces(FaceVoxel[,,] faces, byte xSize, byte ySi
{
if(argbValues[i] > 0)
{

if(i + 4 >= 0 && i + 4 < argbValues.Length && argbValues[i + 4] == 0) { outlineValues[i + 4] = 255; } else if(i + 4 >= 0 && i + 4 < argbValues.Length && zbuffer[i] - 2 > zbuffer[i + 4]) { argbValues[i + 4] = 255; argbValues[i + 4 - 1] = outlineValues[i - 1]; argbValues[i + 4 - 2] = outlineValues[i - 2]; argbValues[i + 4 - 3] = outlineValues[i - 3]; }
if(i - 4 >= 0 && i - 4 < argbValues.Length && argbValues[i - 4] == 0) { outlineValues[i - 4] = 255; } else if(i - 4 >= 0 && i - 4 < argbValues.Length && zbuffer[i] - 2 > zbuffer[i - 4]) { argbValues[i - 4] = 255; argbValues[i - 4 - 1] = outlineValues[i - 1]; argbValues[i - 4 - 2] = outlineValues[i - 2]; argbValues[i - 4 - 3] = outlineValues[i - 3]; }
if(i + bmpData.Stride >= 0 && i + bmpData.Stride < argbValues.Length && argbValues[i + bmpData.Stride] == 0) { outlineValues[i + bmpData.Stride] = 255; } else if(i + bmpData.Stride >= 0 && i + bmpData.Stride < argbValues.Length && zbuffer[i] - 2 > zbuffer[i + bmpData.Stride]) { argbValues[i + bmpData.Stride] = 255; argbValues[i + bmpData.Stride - 1] = outlineValues[i - 1]; argbValues[i + bmpData.Stride - 2] = outlineValues[i - 2]; argbValues[i + bmpData.Stride - 3] = outlineValues[i - 3]; }
Expand Down Expand Up @@ -2235,7 +2235,9 @@ private static Bitmap RenderOrthoMultiSize(byte[,,] colors, int xDim, int yDim,
if(argbValues[i] > 0)
{

if((zbuffer[i] - zbuffer[i + 4]) > 1 || (xbuffer[i] - xbuffer[i + 4]) > 3) { argbValues[i + 4] = 255; argbValues[i + 4 - 1] = outlineValues[i - 1]; argbValues[i + 4 - 2] = outlineValues[i - 2]; argbValues[i + 4 - 3] = outlineValues[i - 3]; }
if((zbuffer[i] - zbuffer[i + 4]) > 1 || (xbuffer[i] - xbuffer[i + 4]) > 3) {
argbValues[i + 4] = 255; argbValues[i + 4 - 1] = outlineValues[i - 1]; argbValues[i + 4 - 2] = outlineValues[i - 2]; argbValues[i + 4 - 3] = outlineValues[i - 3];
}
if((zbuffer[i] - zbuffer[i - 4]) > 1 || (xbuffer[i] - xbuffer[i - 4]) > 3) { argbValues[i - 4] = 255; argbValues[i - 4 - 1] = outlineValues[i - 1]; argbValues[i - 4 - 2] = outlineValues[i - 2]; argbValues[i - 4 - 3] = outlineValues[i - 3]; }
if((zbuffer[i] - zbuffer[i + bmpData.Stride]) > 3) { argbValues[i + bmpData.Stride] = 255; argbValues[i + bmpData.Stride - 1] = outlineValues[i - 1]; argbValues[i + bmpData.Stride - 2] = outlineValues[i - 2]; argbValues[i + bmpData.Stride - 3] = outlineValues[i - 3]; }
if((zbuffer[i] - zbuffer[i - bmpData.Stride]) > 1 || ((xbuffer[i] - xbuffer[i - bmpData.Stride]) > 2 && (zbuffer[i] - zbuffer[i - bmpData.Stride]) <= 0)) { argbValues[i - bmpData.Stride] = 255; argbValues[i - bmpData.Stride - 1] = outlineValues[i - 1]; argbValues[i - bmpData.Stride - 2] = outlineValues[i - 2]; argbValues[i - bmpData.Stride - 3] = outlineValues[i - 3]; }
Expand Down Expand Up @@ -2707,6 +2709,7 @@ private static Bitmap renderSmartOrtho(MagicaVoxelData[] voxels, byte xSize, byt
}

}

switch (o)
{
case Outlining.Full:
Expand Down
Binary file modified IsoVoxel/cube_ortho.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified IsoVoxel/cube_soft.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added IsoVoxel/icon.ico
Binary file not shown.

0 comments on commit a85d644

Please sign in to comment.