×

HARDTOPnet

The site is not optimized for mobile yet

×

 menu
^ top

HARDTOPnet blog

2025-06-24
Technical post about fine-tuning details

While designing the trial spawner blocks, I decided to fix some minute details and wanted to share the process with you.

Heightmap edges and tiling


The issue with heightmaps is that POM requires the edges of the heightmap to be "flush" or at the maximum height, otherwise there is some wrap-around of the texture.
Means you can see the left part repeating through the gap. I suppose it might be acceptable in some situations but most of the time it looks weird.
Most noticeable is when you have an emissive texture on one edge and you see it shining on the opposite edge.

I used a threshold node to check whether the heightmap was right, so I looked at the part of the trial spawner with the lights (at the top corners) :


As you can see there is a small gap at the top. This causes the lower part of the texture to repeat on top of the lights.
I realized this was caused by an incorrectly set tiling parameter.

Here's the original mask :


I needed to smooth out the slopes so I used a very light blur :


There are two ways to do this, either the blur wraps around so it owerflows on the opposite side of the texture (that's useful when you need to make the texture tile), or it stops at the texture edge and doesn't propagate.
In this instance I needed the second case.


So the results is this :


You can see the blur is not affecting the edge of the texture.
Now if I check the heightmap again with the threshold function :


No more gap.

2025-06-06
Technical post about design process
INTRODUCTION

Here is a description on how I'm designing my Vanillaccurate/PiXXL blocks, specifically the crafter block from Minecraft 1.21.
For this I'm using Affinity Photo 2 and Aseprite to design the 16x16 vanilla textures, and Substance Designer for the final maps.


Here's what the main graph looks like in Substance Designer :



Pretty beefy right ? My computer was on its knees most of the time. And it's a reasonably capable system :
- AMD Ryzen 7 3700X
- 64GB RAM 3200Mhz
- NVMe PCIe 3.0 x4 SSD
- NVidia GeForce 3080

I paid for the whole CPU and RAM, I'm using the whole CPU and RAM.



THE PROCESS

So yeah there are multiple PBR materials to blend, but it's not just that. here's what was so time-consuming and tricky.

I had to blend the material heightmaps with the pixelated topography generated from the 16x16 texture, and ensure consistency and seamlessness - i.e. one map should blend harmoniously with the other, to avoid unwanted sharp slopes.


I also needed to separate the different parts to add some low-frequency details, which are pretty much needed with a pixelated, vanilla-like texture.
That means lots of very carefully fine-tuned masks, additional edges to create seams and interstices so the materials stand out.


All heightmap elements required some amount of smoothing to ease the slopes and avoid sharp edges which don't usually look great when using parallax mapping. But the amount of smoothing needed to be consistent and adequate.


For POM to look right the colormaps had to be adjusted to ensure it wouldn't look ugly at the seams. This means some elements (like the lever slot in the case of the crafter) needed small, colored outlines to cover the heightmap slope. Without this there would be a sharp transition between textures in the slope.


Notice how the final colormap doesn't strictly follow the 16x16 grid.
This is to ensure the POM slopes will get adequate texturing, also the angles are adjusted to avoid sharp "spikes".


Here you can see the relation between colormap and heightmap. The angles are also highlighted to illustrate the lack of sharp "spikes".

Moreover I had to ensure that all similar blocks would have consistent heightmaps, normalmaps, and ambient occlusion maps.
It would be jarring to notice a change in height or normals on the stone or wooden parts when switching on the crafter.


THE TOOLS

Here are some of the tools I'm using to help and design my packs.

Affinity Photo 2
I got this piece of software when I didn't want to pay for an Adobe subscription. I'm pretty comfortable with it now, and it does what I want it to do. The major downside is the AI part, which is way behind Photoshop's.
I ended up taking an Adobe sub (Photoshop + Lightroom) and I'm also using it for specific cases.

Adobe Photoshop
Of course I'm also using Photoshop. As I stated before I'm not using it much for my Minecraft designs, but on some occasions it can prove itself handy with the generative AI features.

Aseprite
This one I discovered recently, and I'm using it almost exclusively now to design the vanilla 16x16 textures, which are the foundations on which all Vanillaccurate and PiXXL blocks are built.

Blender
For some specific cases I'm using Blender to carve out and finely design some objects. I'm using graphs to generate a heightmap from the 3D scene, and use orthographic projection to create the normalmap.
I'm mostly using this for Realaccurate though.

Topaz Photo AI
This tool is fantastic. Of course I'm mainly using it for photography but whenever I need to improve a texture because I need to extract some part of it, this program can upscale the cropped texture with an amazing amount of details while keeping it natural.
I'm using it sparingly because I don't want to rely on upscaling too much.

ShareX
This nifty tool is an absolute beast when it comes to screenshotting. You can configure post-capture actions to copy the captured image in the clipboard, copy its full path, perform OCR, et caetera.
You can capture the whole display, one monitor, one window, a control inside a webpage, even a region defined with the mouse. Then you can edit the screenshot to add overlays, circles, arrows, text, blur/pixelate text...
You can even record the screen as video or .gif, or any capture area I mentioned before.

IrfanView
This tool is my go-to image viewer for like 10-15 years now. It's very convenient and lightweight and I'm used to it anyways. I use it to quickly compare images, perform some actions when I don't want to open a command-line terminal to use ImageMagick (see below), or display a thumbnail gallery of all pictures inside a folder.
Simple but effective.

Total Commander
This brings me back 30 years ago when I was using Norton Commander on DOS 6.0. I'm using it all the time and I can't use a Windows computer without it.
I use a ton of its features and I developed a ton of scripts and alises to speed up some operations like converting to .jpg, creating a .gif, annotating an image, overlay a logo...
My favorite piece of software, hands down.

Visual Studio Code
As I'm a developer by trade, I'm using Visual Studio (VS for C#, VSCode for anything else) to create programs and write scripts and various tools to help me with my work.

ImageMagick
I'm using this in command-line and in scripts to quickly resize, crop, combine, split and perform functions on channels, and so on. Extremely powerful albeit a bit technical.

Intel OIDN (Open Image Denoise)
This is an open-source application that uses deep-learning to denoise ray-traced images. I mostly use it to denoise screenshots from the Chronos Path Tracer shaderpack, as well as renders from Substance which I didn't let accumulate enough :o)

Along with some other very useful and important programs such as Git

FINAL WORDS

I hope you found this interesting and maybe learnt a thing or two.
Enjoy and take care!

2025-05-29
New 1.15+ chests for Vanillaccurate
Vanillaccurate now has fixed chests for versions 1.15 and later

As chests were broken since 1.15 because of model changes, I uploaded new packages that fix those chests in versions 1.15 and later.


You can check out these pages for screenshots and downloads:
Vanillaccurate blog
HARDTOPnet

2025-05-08
Introducing Vanillaccurate 1K/2K
The Vanillaccurate upscaled 1K/2K packs are here !

I hinted at it before, I wanted to share 1K and 2K packs for Vanillaccurate but I didn't want to redo the whole packs from scratch as I did with PiXXL, because VA was designed with a native 512x resolution.
I decided to use a professional AI upscaling tool to create those high res packs instead. They don't look as good as a native design but it's still pretty good.

Why ?

The point of those packs is to fill the gaps when using PiXXL. As PiXXL aims to support blocks from 1.18 onwards (PiXXL Legacy nonwithstanding), the earlier blocks are covered by Vanillaccurate but the 1K and 2K res were missing.
Of course it's not possible to load full 1K/2K packs right now, so it's mainly for showcasing purposes. But you can hand-pick which blocks you want to use from PiXXL and Vanillaccurate to use in your specific world.

The future

There is hope that someday a mod will bring a whole new way of loading textures into Minecraft, so it's not limited by the fact that all textures are loaded at once, all patched in a single atlas. Check out Continuum Graphics who are working on such a mod, called Focal Engine.

Screenshots

Some screenshots at 2K resolution


You can downloads the VA 1K/2K packs now on this page.

PLEASE make sure to read the INFO section before downloading !
2025-04-02
Blog post about PiXXL on Vanillaccurate Blog
PiXXL as sequel to Vanillaccurate

As I mention in this post, PiXXL is the successor to Vanillaccurate.

Its objective is twofold :
- Bring native 2K resolution to the pack
- Provide the blocks VA doesn't, namely all blocks from 1.18 upwards

Screenshots

The post contains lots of screenshots with various shader packs and renders, showcasing some post 1.17 blocks that PiXXL provides.
Here are a couple


Check out the blog article Here !

2025-03-29
HARDTOPnet GitHub
Introducing HARDTOPnet GitHub projects

This is not specifically related to Minecraft but you can now check my various projects on my GitHub page.
For now I only have a handful of projects, but more will come. Here are details on some projects:

CertificateExpirationWatcher

Now Let's Encrypt has removed expiration notices for free plans, I wanted to do something super lightweight to remind me about my certificates without having to resort to an external service.

FileWatcherExec

This is a small utility that watches a folder for new files, then executes a custom program on each new file.
I did this to monitor a Steam screenshots folder and display every new screenshot I take on another computer.
I wanted to review all screenshots to ensure they didn't have unwanted elements I would have missed (like UI), bad face expressions, or poor framing.

Don't hesistate to check it out!

2025-03-28
Resuming work on PiXXL
New blocks are underway

It was a slow year, somehow having a toddler when you're in your 40's is pretty challenging :)
This post to inform you all that work is picking up speed again on PiXXL!

Here's the latest design for 1.20: bamboo blocks variants.
You can find out more on this Patreon post.

Take care !

2025-02-17
Introducing HARDTOPnet blog
Here is the first post on the brand new HARDTOPnet blog!

I'll post news here about all things related to my packs, programs, and scripts.

This won't replace posts on the Vanillaccurate blog nor the news posts on the Patreon, it will mostly be used for news related to the website and downloads instead.

Don't forget to follow my usual channels for any new post happening here:
Patreon
Facebook
X/Twitter
Vanillaccurate Blog

© HARDTOPnet 2021-2025 - All rights reserved - website design by HardTop

Support HARDTOPnet on the Patreon.

Minecraft is a trademark of Mojang/Microsoft.
HARDTOPnet is not affiliated with Mojang in any way.